def send_message(self, to_number, message, from_number=None):
        """ Send a message to the specified number and return a response dictionary.

            The numbers must be specified in international format starting with a '+'.
            Returns a dictionary that contains a 'MessageId' key with the sent message id value or
            contains 'errorCode' and 'message' on error.

            Possible error codes:
                 40001 - Parameter validation
                 40002 - Missing parameter
                 40003 - Invalid request
                 40100 - Illegal authorization header
                 40200 - There is not enough funds to send the message
                 40300 - Forbidden request
                 40301 - Invalid authorization scheme for calling the method
                 50000 - Internal error
        """

        values = {'Message': message}
        if from_number is not None:
            values['From'] = from_number

        return self._request(self.SEND_SMS_URL + to_number, values)