Telecommunication System

An apparatus and methodology are provided that initiates voice calls in response to receipt of text-based messages having a plurality of diverse messaging formats. Each text-based message encapsulates text conforming to a predefined syntax that includes at least one target text field representing a participant of a voice call. A database stores short names and associated telephone numbers. The target text fields are expected to match the short names stored in the database. The text is extracted from each received text-based message and parsed to identify the at least one target text field therein. The database is accessed to retrieve a first telephone number associated with a short name corresponding to the at least one target text field. A voice call is initiated to at least the first telephone number retrieved from the database. In the preferred embodiment, the database is accessed and updated in accordance with user input communicated over an Internet connection (e.g., user-interaction with a web browser). The plurality of diverse messaging formats preferably include SMS-type text-based messages, IM-type text-based messages, and IP-type text-based messages that are addressed to a reserved IP address.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates broadly to telecommunication systems. More particularly, this invention relates to services for establishing communication to and/or between telephony devices over diverse communication platforms.

2. State of the Art

Telephone devices such as traditional landline phones and mobile phones include a keypad or dialer that is operated by a user to initiate a conversation with one or more individuals. Mobile phones also typically employ a graphical user interface that allows the user to store and maintain a list of contacts and phone numbers associated therewith. The user interacts with the interface to identify a particular contact and then selectively initiate a conversation with the particularly contact.

Advanced cellular services introduced technology that assisted customers' needs for availability and receipt of instantaneous information. One such technology, known as Short Messaging Service (SMS), enables individuals to send and receive short text messages on mobile phones and other mobile devices (and occasionally even on computers). SMS was developed in Europe in the early 1990s. Initially, SMS was available as part of GSM networks; however, it is now available on a wide range of networks, including CDMA and 3G networks. SMS is a point-to-point communication method whereby an SMS message is transmitted from a wireless phone (or other mobile device or possibly a computer) to a short message service center (SMS-C), which acts as a store and forward system for short messages. The message is forwarded from the SMS-C to the destination phone (or other mobile device or possibly a computer).

It has been proposed to use SMS messages to enable users to engage in phone conversations. For example, International Patent Publ. No. WO2004/073288 describes a communication system whereby a user sends a “request” short message to a conference call server. The “request” short message includes the telephone numbers for a plurality of other communication terminals (or alternatively a group identifier) for one or more participants to be invited to take part in the call. The request also identifies the time at which the conference call is to take place. The conference call server allocates a conference call channel and an associated identifier, such as a telephone number. Short messages alerting the conference participants are then sent to the other communication terminals. These short messages include the identifier associated with the conference call channel. The participants call the control center via the conference call channel and are connected together. Alternatively, the conference call server can call the participants at the appropriate time and join all of the calls together.

Although the communication system of WO2004/073288 provides enhanced services, it suffers from several shortcomings, which include: (i) difficulties and inefficiencies in specifying the participants of the call; and ii) lack of support for a multitude of messaging platforms and thus limited potential adoption and success of the service.

SUMMARY OF THE INVENTION

It is therefore an object of the invention to provide an apparatus and methodology for initiating a voice call in response to text-based messages generated from a multitude of messaging platforms.

It is also object of the invention to provide such an apparatus and methodology where it is quick, easy and convenient for users to specify the participants of the call as part of the text message.

In accord with these objects, which will be discussed in detail below, an apparatus and methodology are provided that initiates voice calls in response to receipt of text-based messages having a plurality of diverse messaging formats. Each text-based message encapsulates text conforming to a predefined syntax that includes at least one target text field representing a participant of a voice call. A database stores short names and associated telephone numbers. The target text fields are expected to match the short names stored in the database. The text is extracted from each received text-based message and parsed to identify the at least one target text field therein. The database is accessed to retrieve a first telephone number associated with a short name corresponding to the at least one target text field. A voice call is initiated to at least the first telephone number retrieved from the database. In the preferred embodiment, the database is accessed and updated in accordance with user input communicated over an Internet connection (e.g., user-interaction with a web browser). The plurality of diverse messaging formats preferably include SMS-type text-based messages, IM-type text-based messages, and IP-type text-based messages that are addressed to a reserved IP address.

In the preferred embodiment, the database stores a contact list for a plurality of users. The contact list includes at least short names and associated telephone numbers for contacts of a given user. The database also stores information for each one of a plurality of users. Call initiation is carried out by a conference bridge that connects together participants of the voice call.

In some cases (e.g., SMS-type messages), a second telephone number is part of a given text-based message. The second telephone number is also stored as part of the user information in the database. During the processing of the given text-based message, the second telephone number is used to access the contact list of the database for the corresponding user and retrieve the first telephone number therefrom. The conference bridge can also initiate a call to the second telephone number in order to connect together the participants of the voice call corresponding to the given text-based message.

In other cases (e.g., IM-type messages and IP-type messages), at least one identifier is part of a given received text-based message. The at least one identifier is stored as part of the user information in the database. During the processing of the given text-based message, the at least one identifier is used to access the contact list of the database for the corresponding user and retrieve the first telephone number therefrom. The at least one identifier is also used to access the database to retrieve a second telephone number for the corresponding user. The conference bridge can also initiate a call to the second telephone number in order to connect together the participants of the voice call corresponding to the given text-based message.

In other cases, the encapsulated text of a given text-based message includes a third telephony number, and the conference bridge initiates a call to the third telephone number in order to connect together the participants of the voice call corresponding thereto.

It is preferred that the predefined syntax of the text-based messages include at least one command text field representing a predefined command and possibly at least one field specifying a date and time. The parsing of the text of each received text-based message confirms that it includes the command text field therein. The parsing also identifies the at least one field specifying a date and time (if included) and generates data corresponding thereto. Such data is used to initiate at the specified date and time a voice call corresponding to the received text-based message.

In the preferred embodiment, each text-based message is addressed to a predetermined identifier, which can be one of the following: a reserved telephone number for SMS-type text-based messages, a reserved IM short name and IM Service Provider for IM-type text-based messaging, and a reserved IP address and port for IP-type text-based messages. The apparatus includes corresponding interfaces, such as a gateway for receiving SMS-type text-based messages addressed to the reserved telephone number for SMS-type text-based messages, a gateway for receiving IM-type text-based messages addressed to the reserved IM short name and IM Service Provider, and an IP Monitor for receiving IP-type text-based messages addressed to the reserved IP address and port for IP-type text-based messages.

Additional objects and advantages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of an embodiment of a communication system in accordance with the present invention.

FIG. 2A is a schematic diagram of a mobile telephony device of FIG. 1.

FIG. 2B is a schematic diagram of another mobile telephony device of FIG. 1.

FIG. 2C is a schematic diagram of a communication terminal of FIG. 1.

FIG. 2D is a schematic diagram of another communication terminal of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As used herein, the term “telecommunication” is generally defined as the transmission and reception of signals over a distance for the purpose of communication. A “telephony device” (or “telephony terminal” or “telephone”) is generally defined as a telecommunications device which is used to transmit and receive sound (most commonly voice and speech) across distance. A “communications device” (or “communications terminal”) is a device that transmits and receives signals for the purpose of communication.

Turning now to FIG. 1, there is shown a schematic diagram of an exemplary telecommunication system in which the present invention is embodied. Mobile telephony devices 11 communicate over wireless communication links to a mobile access network 16, which includes a plurality of base stations 13 (one shown) that are operably coupled to controllers 15 (one shown). The controllers 15 are responsible for radio resource allocation to the mobile telephony devices 11, and for frequency administration and handover between base stations 13. The controller function may be physically located within a base station 13 itself. Each base station 13 includes at least one antenna and a group of one or more radio transmitter-receiver pairs. Each transmitter-receiver pair operates on a pair of radio frequencies to create a communication channel: one frequency to transmit radio signals to a mobile telephony device 11 and the other frequency to receive radio signals from the mobile telephony device 11. Each base station 13 defines a cell of the mobile access network 16, which is a predetermined volume of space radially arranged around its antenna. In order to prevent the radio signals transmitted from one base station from interfering with radio signals transmitted from an adjacent base station, the transmitter frequencies for adjacent base stations are selected to be different so that there is sufficient frequency separation between adjacent transmitter frequencies. In order to reuse the same frequencies, the cellular telecommunication industry has developed a small but finite number of transmitter frequencies and allocation patterns that ensure that adjacent cell sites do not operate on the same frequency. When a mobile telephony device 11 initiates a call connection, control signals transmitted from the local base station 13 cause the frequency agile transponder in the mobile telephony device 11 to operate at the frequency of operation designated for that particular base station. As the mobile telephony device 11 moves from one cell to another, the call connection is handed off to the successive base station and the frequency agile transponder in the mobile telephony device 11 adjusts its frequency of operation to correspond to the frequency of operation of the base station 13 located in the cell in which the mobile telephony device 11 is presently operational.

Fixed or mobile communication terminals 12 communicate over communication links to the IP access network(s)/Internet 17 as is well known. Such communication can be carried out by a cable modem coupled to a hybrid fiber coax data network, a DSL modem coupled to a DSL access network, or a radio interface coupled to a Wi-Fi or Wi-Max access network. The fixed or mobile communication terminals 12 can be any of a number of communication devices including personal computers, laptop computers, personal digital assistants, networked kiosks, VOIP phones, traditional phones connected to VOIP gateways, and the like.

The mobile access network 16 interfaces to a packet switched core network 19 and to a circuit switched core network 21. Packet switched traffic (e.g., IP packet data) that originates from (or is destined to) the mobile telephony devices 11 is routed over the packet switched core network 19. Circuit switched traffic (e.g., voice calls, SMS messages) that originates from (or is destined to) the mobile telephony devices 11 is routed over the circuit switched core network 21.

The packet switched core network 19 connects to the Internet 27 and includes functionality for data session management of the mobile telephony devices 11 and for routing packet switched traffic into and out of the packet switched core network 19. In this manner, the packet switched core network enables the mobile telephony devices 11 to connect to Internet-connected devices (e.g., a web server, a VOIP communication terminal, etc.) as needed.

The circuit switched core network 21 includes a mobile switching center (MSC) 23 and an SMS center (SMS-C) 25. Generally, the MSC 23 connects the circuit switched core network 21 to the public switched telephone network 18 and manages and routes circuit switched voice traffic into and out of the circuit switched core network 21. In this manner, the MSC 23 enables the mobile telephony devices 11 to connect to POTS telephony devices that interface to the PSTN 18 as needed.

The SMS-C 25 functions as a centralized store-and-forward device that accepts SMS messages and buffers the received SMS messages until a suitable delivery time (e.g., the destination mobile telephony device 11 is powered on and the location known). The SMS-C 25 also provides an interface in accordance with a communication protocol (e.g., UCP, SMPP, Sema OIS, CIMD2) that allows for communication of SMS messages to and from other cell networks and to and from other external SMS processing devices (e.g., the SMS gateway 27). Preferably, the external SMS processing device(s) is (are) connected to the SMS-C 25 over a wide area network such as the Internet.

Numerous technologies, such as GSM, CDMA, EDGE and W-CDMA technology, can be used to implement the mobile access network 16 and the supporting core networks 19 and 21. GSM technologies provide GPRS services which can be used for packet switched applications. 3G CDMA technologies provide code division multiplexing technology for packet switched applications. EDGE technology provides enhanced GPRS services. High-speed data applications such as video services and other multimedia services benefit from the increased data capacity provided by the enhanced GPRS services. W-CDMA technology employs wideband code division multiplexing technology to provide high speed packet switched data rates that is suitable for high-speed data applications such as video services and other multimedia services.

The communication system of FIG. 1 supports a service for establishing voice calls between telephony devices of the system in response to messages conforming to diverse messaging formats. In the preferred embodiment, the diverse messaging formats include a Short Message Service (SMS) messaging format, an Instant Message (IM) messaging format, and a proprietary IP messaging format.

The SMS messaging format, which is specified by the ETSI organization (documents GSM 03.40 and GSM 03.38), can be up to 160 characters long, where each character is 7 bits according to the 7-bit default alphabet. An eight-bit message format (max 140 characters) can also be used, but this format is usually not viewable by the phones as text messages; instead it is used for data in smart messaging (images and ringing tones) and OTA provisioning of WAP settings. A 16-bit message format (max 70 characters) can also be used for Unicode (UCS2) text messages and is viewable by most phones. There are two ways of sending and receiving SMS messages: by a protocol description unit (PDU) mode or by a text mode. The PDU mode contains not only the text of the message, but also a lot of meta-information about the sender (e.g., the sender's SMS service center, the time stamp, etc). The text mode is just an encoding of the bit stream represented by the PDU mode. Alphabets may differ and there are several encoding alternatives when displaying an SMS message. The most common options are “PCCP437”, “PCDN”, “8859-1”, “IRA” and “GSM”. These options are set by the at-command AT+CSCS. An application capable of reading incoming SMS messages, can thus use text mode or PDU mode. If text mode is used, the application is bound to (or limited by) the set of preset encoding options. If PDU mode is used, any encoding can be implemented.

Instant messages are generated by applications for carrying out text conversations that are to happen in real-time. Instant message service providers (e.g., AOL Instant Messenger, Yahoo! Messenger, Skype, Google Talk, Windows Messenger, ICQ, etc.) typically maintain a facility 26 that includes a database storing a list of contacts for each subscriber and presence information. The presence information indicates the availability of the contacts. Most instant messaging service providers allow users to set and update their presence information so that peers get notified whenever the user is available, busy, or away. The facility 26 also includes logic that establishes communication sessions between subscribers (or between a subscriber and a user of another provider). The facility 26 typically employs proprietary protocols for maintaining presence information and receiving notifications related thereto (for example, a notification when a user logs-in or comes back from lunch), for managing a session of real-time messages between two or more participants, and for communicating such real time messages between the two or more participants of a given session. The message format for the real-time messages communicated between the participants of a given session is typically proprietary in nature and thus can vary between service providers. Standards-based protocols for instant messaging, such as XMPP and Jingle (defined at http://www.xmpp.org/extensions/xep-0166.html) can also be used.

Subscribers of the service access a database 29. Each subscriber can have the following information associated therewith in the database 29:

the user name of the subscriber;

a password and possibly other information for authentication of the subscriber;

at least one phone number for the subscriber, which can the number assigned to the subscriber's traditional POTS telephony device for home or business purposes, a number assigned to the subscriber's mobile telephony device, an identifier assigned to the subscriber's IP telephony device, or other identifier that is used to establish a voice connection to the subscriber;

at least one IM screen name/IM Service Provider for the subscriber, which is used to route IM messages and possibly for establishing a voice connection to the subscriber;

at least one email address for the subscriber;

a home address for the subscriber; and

a business address for the subscriber.

Subscribers can add and modify a list of contacts for the subscriber. The list is stored in the database 29. The following information can be associated with a given contact in the subscriber's contact list:

a short name for the contact;

at least one phone number for the contact, which can the number assigned to the contact's traditional POTS telephony device for home or business purposes, a number assigned to the contact's mobile telephony device, an identifier assigned to the contact's IP telephony device, or other identifier that is used to establish a voice connection to the contact;

at least one IM screen name/IM Service Provider for the contact, which is used to route IM messages and possibly for establishing a voice connection to the contact;

at least one email address for the contact;

a home address for the contact; and

a business address for the contact.

The database 29 can also include a calendar for each subscriber, which includes events, appointments, to-dos, and other information input by the subscriber as being associated with particular dates and times.

Subscriber's access to the database 29 can be accomplished over the Internet with a web server (or application server) 31 that provides an interface therebetween. This configuration allows users to access and update the database 29 (and possibly manage other information) via user interaction with a web browser in communication with the web server (or application server) 31 over the Internet. The web browser can be executing on one of the Internet-connect fixed or mobile communication terminals 12. Alternatively, it can be a micro-browser executing on one of the mobile telephony devices 11. In other embodiments, subscriber access to the database 29 can be realized by other communication means, such as messages directed to the service over any one of the diverse messaging formats supported by the service, interaction with an IVR system managed by the service, and/or other means.

A voice call is established in response to receiving a message conforming to one of the diverse messaging formats supported by the service. The message (which is referred to below as a call request message) is communicated from a subscriber-operated communication device, which can be one of the mobile telephony devices 11 or one of the fixed or mobile communication terminals 12. The call request message encapsulates plain text with a predetermined command syntax that includes the following:

i) text that identifies the message as a particular command for requesting establishment of a voice call by the service;

ii) text that identifies one or more participants of the voice call to be established by the service; and

iii) optional text that specifies the date and/or time of the voice call to be established by the service.

The call request message that is formatted in accordance with an SMS message format is referred to below as an SMS-type call request message. The call request message that is formatted in accordance with an IM message format is referred to below as an IM-type call request message. The call request message that is formatted in accordance with a proprietary IP message format is referred to below as a proprietary-IP-type call request message.

The subscriber that generated the call request message (who is referred to below as the “originating subscriber”), is identified from data that is communicated as part of the call request message. Such data can include the ANI of the mobile telephony device that originated the SMS-type call request message, the IM screen name/IM Service Provider of the IM-type call request message, or the source IP address of the proprietary-IP-type call request message.

The text of ii) as described above, which identifies a given participant for the voice call, can refer to the short name for a contact stored in the subscriber's contact list as part of the database 29. Alternatively, the text can represent a phone number for the given participant.

In the preferred embodiment, the call request message encapsulates plain text with a command syntax as follows:

    • CALL<TARGET1><TARGET2>. . . <DATE><TIME>
    • where “CALL” is the text that identifies the message as a particular command for requesting establishment of a voice call by the service, <TARGET1> is text that identifies a participant of the voice call, <TARGET2> is text that identified another participant of the voice call, <DATE> is text that specifies the date of the voice call, and <TIME> is text that specifies the time of the voice call.
      Note that there can possibly be additional target text fields and at least one target text field required. Also note that the date and time text fields are optional. If the data and time text fields are omitted, it is understood that the voice call is to be established immediately upon receipt of the call request message. The target text fields can refer to the short name for a contact stored in the originating subscriber's contact list. Alternatively, the text can represent a phone number for the given participant.

The service includes logic 33 that receives call request messages over the diverse messaging formats and parses the text embedded in the call request messages to extract the text pertaining to the participants of a voice call. In the event that the extracted text is not a telephone number (i.e., it represents the short name of a participant), the logic 33 accesses the database 29 to retrieve from the originating subscriber's contact list the phone number for the short name represented by the extracted text. The logic 33 also accesses the database 29 to identify the appropriate telephone number for originating subscriber. The logic 33 also parses the text embedded in the call request message to identify the date and time for the voice call as specified therein, if any. The logic 33 then carries out processing that establishes the voice call to the phone number for the originating subscriber and to the phone number(s) of the other participant(s) of the voice call (which is(are) returned from the contact database if specified by short name). Such call establishment is carried out at the particular date and time specified by the text of the call request message, or possibly immediately in the event that the call request message does not specify a date and time. In the preferred embodiment, the call establishment is carried out by a conference bridge 35 that sets up and connects together the originating subscriber and the other participant(s) for full duplex voice conversations therebetween. The conference bridge 35 drops the originating subscriber and/or other participant(s) of the voice call upon receiving signaling that indicates such participant has “hung up” the participant's respective telephony devices.

In the illustrative embodiment of the invention, the logic 33 includes an SMS gateway 27 for receiving (and possibly sending) SMS messages in accordance with one or more SMS messaging formats, an IM gateway 41 for receiving (and possibly sending) IM messages in accordance with one or more IM messaging formats, and an IP Message monitor 43 for receiving (and possibly sending) IP messages in accordance with one or more proprietary IP messaging formats.

The SMS Gateway 27 receives incoming SMS messages that are addressed to a reserved telephone number (or reserved short code) for the service and sends outgoing SMS from the reserved telephone number (or reserved short code) of the service. The SMS gateway 27 interfaces to the SMS-C 25 preferably using a communication protocol such as UCP, SMPP, Sema OIS, or CIMD2 that allows for the communication of SMS messages therebetween. The SMS gateway 27 interfaces to an SMS Message Processing block 45 that processes each given incoming SMS message received at the SMS Gateway 27 to extract the text data encapsulated in the given SMS message and passes the extracted text data to a text parsing engine 51.

The IM Gateway 41 receives incoming IM messages that are addressed to one or more reserved IM user names for the service. The IM messages can also specify corresponding IM service providers. For example kadoink@gmail.com can be used to identify the reserved IM user name “kaDoink” for the service on the Google Talk IM Service. The IM Gateway 41 also sends outgoing IM messages addressed from such reserved IM user name(s) and service provider(s) if need be. The IM Gateway 41 interfaces to one or more IM Service Provider facilities 26 (e.g., facilities for AOL Instant Messenger, Yahoo! Messenger, Skype, Google Talk, Windows Messenger, ICQ, etc.) to maintain presence information as well as for session establishment for sending/receiving messages to/from subscribers of the one or more facilities 26. Such communication can employ proprietary protocols and/or standardized protocols such as XMPP and Jingle as discussed above. The IM Gateway 41 can carry out protocol translation to allow for interoperability between different IM messaging formats and platforms, if need be. The IM Gateway 41 interfaces to an IM Message Processing block 47 that processes each given incoming IM message received at the IM Gateway 41 to extract the text data encapsulated in the given IM message and pass the extracted text data to the text parsing engine 51.

The IP Message Monitor 43 receives incoming IP messages that routed to a predetermined IP address and port, and can also send outgoing IP messages that are routed to a predetermined IP address and port. The IP messages can use TCP or UDP packets as a transport mechanism. The message format for the incoming and outgoing IP messages can be proprietary in nature and known only by the two end points. The IP Message Monitor 43 interfaces to an IP Message Processing block 49 that processes each given IP message received at the IP Message Monitor 43 to extract the text data encapsulated in the given IP message and passes the extracted text data to the text parsing engine 51.

The text parsing engine 51 analyzes the text data to confirm that it begins with text that identifies the message as a particular type for requesting establishment of a voice call by the service. For the preferred command syntax described above, the text parsing engine 51 confirms that the text data begins with “CALL”. Upon such confirmation, the text parsing engine 51 analyzes the text data to identify the text that identifies the participant(s) of the voice call (e.g., target field(s) of the command syntax described above) as well as the text that identifies the date and time of the voice call (e.g., the date and time fields of the command syntax described above), if any. The text parsing engine 49 outputs this text along with data identifying the originating subscriber of the voice call request message to Call Request Processing block 53.

The Call Request Processing block 53 includes block 55 that accesses the database 29 to identify the telephone number for each participant of the voice call (if the participant is not identified by a telephone number within the call request message). More than one phone number can be stored for a given contact in the originating subscriber's contact list as part of the database 29. In this case, the originating subscriber might possibly specify one of these telephone numbers for use with the service (or more particularly for use in conjunction with call request messages communicated to the service). Alternatively, presence information for the participant may be used to identify the appropriate telephone number for the participant. In yet another alternative, a rule-based approach that specifies a sequential order amongst the multiple telephone numbers can be used. The processing is then adapted to sequence through the ordered list of telephone numbers for joining the participant to the voice call.

Block 55 can also identify the telephone number of the originating subscriber, which can be derived from the ANI of the originating subscriber for SMS-type messages or possibly by accessing the database 29 to identify the telephone number for the originating subscriber. More than one phone number can be stored for the originating subscriber as part of the database 29. In this case, the originating subscriber might possibly specify one of these telephone numbers for use with the service (or more particularly for use in conjunction with call request messages communicated to the service). Alternatively, presence information for the originating subscriber may be used to identify the appropriate telephone number for the originating subscriber. In yet another alternative, a rule-based approach that specifies a sequential order amongst the multiple telephone numbers can be used. The processing is then adapted to sequence through the ordered list of telephone numbers for joining the originating subscriber to the voice call.

Block 55 outputs to block 57 the telephone number(s) of the participants as well as the telephone number of the originating subscriber as well as the date and time of the voice call, if any. Block 57 generates a Call Object that specifies the telephone number for the originating subscriber, the telephone number(s) for the other participants, and date and time for the voice call, and adds this object to the Call Object Queue 59. If no date and time is specified, then the date and time for the call (or a flag corresponding thereto) is set to initiate immediate call setup.

The Call Object Queue 59 is a queue of Call Objects that is processed at regular intervals (e.g., every minute) to determine if the current date/time matches the date/time for any Call Object in the queue (or that the call should be set up immediately). If so, the telephone number for originating subscriber and the telephone number for the other participant(s) is passed to Call Management Processing block 61, which cooperates with the conference bridge 35 to set up, carry out, and tear down (when complete) a voice call between the telephone numbers of the originating subscriber and the other participant(s) as dictated by the Call Object, and preferably bills the originating subscriber's account for the voice call. The telephone number for the originating subscriber as well as the telephone number for the other participant(s) of the voice call can be for a mobile telephony device, a POTS telephony device, a VOIP communication terminal, or other communication device. It is also possible that the call request processing can restrict the voice call to certain telephone numbers based on geographical scope (i.e., not allow international calls) or other constraints.

Block 57 can also cooperate with the SMS Gateway 27 to generate and send an SMS message that is addressed to the originating subscriber and possibly the other participant(s) of the voice call, whereby the SMS message announces the upcoming voice call. If the voice call is to take place at a future date/time, more than one such SMS message can be generated and sent for voice call reminders and call announcement. Block 57 can also cooperate with the IM Gateway 41 to generate and send IM messages for call announcement and call reminders. Block 57 can also cooperate with the IP Message Monitor 43 to generate and send IP messages for call announcement and call reminders.

Block 57 can also cooperate with the SMS Gateway 27 to exchange one or more SMS messages/replies with the originating subscriber such that the originating subscriber can confirm the particulars of the voice call. If confirmation is successful, the Call Object is added to the Call Object Queue 59; otherwise, the Call Object is not added to the Call Object Queue 59. Block 57 can also cooperate with the IM Gateway 41 to exchange one or more IM messages/replies with the originating subscriber such that the originating subscriber can confirm the particulars of the voice call as described above. Block 57 can also cooperate with the IP Message Monitor 43 to exchange one or more IP messages/replies with the originating subscriber such that the originating subscriber can confirm the particulars of the voice call as described above.

In the event that an error occurs in the processing of a given call request message (for example, the text does not conform to the predetermined syntax, or the text does not match any contact in the originating subscriber's contact list), the generation of a Call Object for the voice call (and subsequent processing of the Call Object) are avoided such the voice call is not established for the given call request message. In this case, block 57 (or the other elements of the processing logic 33) can cooperate with the SMS Gateway 27 to generate and send one or more SMS messages to the originating subscriber that provides an indication of the error. Block 57 (or the other elements of the processing logic 33) can also cooperate with the IM Gateway 41 to generate and send one or more IM messages to the originating subscriber that provides an indication of the error. Block 57 (or the other elements of the processing logic 33) can also cooperate with the IP Message Monitor 43 to generate and send one or more IP messages to the originating subscriber that provides an indication of the error.

As described above, call request messages can be communicated from a number of different subscriber-operated communication devices which can support a variety of diverse messaging formats and platforms.

For example, FIG. 2A illustrates the functional block diagram of a mobile telephony device 11A that includes an SMS application. When executing, the SMS Application is loaded into memory and includes a user interface module 201 that allows the user to input arbitrary text data and to specify the short code reserved for the service as the short code to which the text data is to be sent. Module 203 generates an SMS message directed to the specified short code that encapsulates the text data input by the interface module 201. Such operations are performed in response to the user input (for example, the user pressing a send button or key). Module 205 cooperates with the operating system to send the SMS message generated in module 203 to the reserved short code for the service over the RF radio system of the mobile telephony device 11A. The SMS message is communicated to the base station 13 over a wireless communication link supported by the RF radio subsystem of the mobile telephony device 11A. The SMS message is communicated from the base station 13 to the SMS-C over communication channels therebetween for delivery to the SMS Gateway 27 for processing as described above. The SMS application executing on mobile telephony device 11A also includes functionality to receive SMS messages communicated to the mobile telephony device 11A and to display the received SMS messages on the display screen of the mobile telephony device 11A in response to user input. The SMS application for SMS messaging is typically loaded as an application on most mobile telephony devices. In other environments, it might be hosted on a web site as an applet or other form of executable code and downloaded therefrom for access by subscribers. The SMS application for SMS messaging can also be installed as an application, a toolbar widget or other form of software that executes on a computer system or other communication terminal.

In another example, FIG. 2B illustrates the functional block diagram of a mobile telephony device 11B that includes an IM application. When executing, the IM Application is loaded into memory and includes a user interface module 211 that allows the user to input arbitrary text data and to specify the reserved short name and possibly service provider for the service as the address to which the text data is to be sent. Module 213 generates an IM message directed to the specified address that encapsulates the text data input by the interface module 211. Such operations are performed in response to the user input (for example, the user pressing a send button or key). Module 215 cooperates with the operating system to send the IM message generated in module 213 to the address for the service over the RF radio system of the mobile telephony device 11A. The IM message is communicated to the base station 13 over a wireless communication link supported by the RF radio subsystem of the mobile telephony device 11B. The IM message is communicated from the base station 13 over the packet switched core network 19 and Internet 17 to the IM Gateway 41 for processing as described above. The IM application executing on the mobile telephony device 11B also includes functionality to receive IM messages communicated to the mobile telephony device 11B and to display the received IM messages on the display screen of the mobile telephony device 11B in response to user input. The IM application for IM messaging can be loaded as an application on most mobile telephony devices. It might also be hosted on a web site as an applet or other form of executable code and downloaded therefrom for access by subscribers.

In another example, FIG. 2C illustrates the functional block diagram of a fixed or mobile communication terminal 12A that includes an IM application. When executing, the IM Application is loaded into memory and includes a user interface module 221 that allows the user to input arbitrary text data and to specify the reserved short name and possibly service provider for the service as the address to which the text data is to be sent. Module 223 generates an IM message directed to the specified address that encapsulates the text data input by the interface module 221. Such operations are performed in response to the user input (for example, the user pressing a send button or key). Module 225 cooperates with the operating system to send the IM message generated in module 223 to the address for the service over the communication link to the IP access network/Internet 17 supported by the network adapter of the communication terminal 12A. The IM message is communicated over the IP Access Network/Internet 17 to the IM Gateway 41 for processing as described above. The IM application executing on the communication terminal 12A also includes functionality to receive IM messages communicated to the communication terminal 12A and to display the received IM messages on the display screen of the communication terminal 12A in response to user input. The IM application for IM messaging can be installed as an application, a toolbar widget or other form of software that executes on a computer system or other communication terminal. It might also be hosted on a web site as an applet or other form of executable code and downloaded therefrom for access by subscribers.

In another example, FIG. 2D illustrates the functional block diagram of a fixed or mobile communication terminal 12B that includes a command line application. When executing, the command line application includes a user interface module 231 that allows the user to input arbitrary text data as part of a command line. Module 233 generates an IP message directed to a predetermined IP address and port reserved for the service (and preferably monitored by the IP Message Monitor 43). The IP Message encapsulates the text data input by the interface module 231. Such operations are performed in response to the user input (for example, the user pressing a send button or key). Module 235 cooperates with the operating system to send the IP message generated in module 233 to the IP address and port for the service over the communication link to the IP access network/Internet 17 supported by the network adapter of the communication terminal 1 2B. The IP message is communicated over the IP Access Network/Internet 17 to the IP Message Monitor 43 for processing as described above. The IP messages can use TCP or UDP packets as a transport mechanism. The message format for the IP messages can be proprietary in nature and known only by the two end points (e.g., communication terminal 12B and IP Message Monitor 43). The command line application executing on the communication terminal 12B also preferably includes functionality to receive IP messages communicated to the communication terminal 12B and to display the received IP messages on the display screen of the communication terminal 12B in response to user input. The command line application for IP messaging can be installed as an application, a toolbar widget or other form of software that executes on a computer system. It can be hosted on a web site as an applet or other form of executable code and downloaded therefrom for access by subscribers.

In order to provide a better understanding of the operation of the telecommunication system of the present invention and parts thereof, the call message request processing will be illustrated below for examples of the diverse messaging formats described herein. The examples utilize the preferred command syntax “CALL <TARGET1><TARGET2>. . . <DATE><TIME>”. It is assumed that the service has reserved short code “29999” for SMS messaging, kadoink@gmail.com for user name “kaDoink” on the Google Talk IM Service, and IP address “64.147.172.15” and port “51101” for IP messaging. It is also assumed that the originating subscriber has accessed the database 29 to include at least the following information:

Subscriber Name: “William Waytena”

ANI of Mobile Telephone for “William Waytena”: 415-555-1213

IM User Name/Service Provider: WillyWay111@gmail.com

Short Name for Contact: HOME

Telephone Number for Contact “HOME”: 415-555-1212

Short Name for Contact: JOHN

Telephone Number for Contact “JOHN”: 203-555-5555

SMS-Type Call Message Request Processing

The originating subscriber, “William Waytena” , utilizes an SMS Application operating on a communication terminal (for example, his mobile telephony device with an ANI of 415-555-1213) to generate and send an SMS message to the reserved short code “29999” for the service. The SMS message encapsulates the following plain text: “CALL HOME”. This SMS message is forwarded to the SMS Gateway 27 for the service (which is adapted to receive SMS messages addressed to the reserved short code “29999” of the service). The SMS Gateway 27 forwards the received SMS message to the SMS Message Processing block 45. The SMS Message Processing block 45 extracts the ANI of the originating mobile subscriber terminal and the text data of the SMS message, and passes this data to the text parsing engine 51. The text parsing engine 51 analyzes the text data to confirm that it starts with “CALL”. This confirmation is successful and the text parsing engine 51 continues to analyze the text data to identify “HOME” as a target field. The target field “HOME” along with the ANI of the originating mobile subscriber terminal is passed to the Call Command Processing block 53. The Call Command Processing block 53 includes block 55 which accesses the Database 29 to identify the telephone number “415-555-1212” for the target field “HOME”. The operations of block 55 preferably performs the following:

i) identifies the subscriber “William Waytena” (or an identifier corresponding thereto) for the ANI “415-555-1213” of the originating mobile subscriber terminal; and

ii) accesses the contact list for the originating subscriber “William Waytena” to identify the phone number “415-555-1212” for the contact “HOME” that matches the target field “HOME”.

Block 55 passes the ANI “415-555-1213” of the originating mobile subscriber and the phone number “415-555-1212” for the contact corresponding to the target field “HOME” to block 57.

In alternate embodiments, it is possible that the ANI of the originating mobile subscriber that is passed to block 57 can be substituted with another telephone number. For example, the originating subscriber might possibly specify another telephone numbers for use with the service (or more particularly for use in conjunction with call request messages communicated to the service) as part of the information stored in the database 29. Alternatively, presence information for the originating subscriber may be used to identify the appropriate telephone number for the originating subscriber. In yet another alternative, a rule-based approach that specifies a sequential order amongst the multiple telephone numbers can be used. The processing is then adapted to sequence through the ordered list of telephone numbers for joining the originating subscriber to the voice call.

Block 57 generates a Call Object that specifies the telephone number “415-555-1213” for the originating subscriber, the telephone number “415-555-1212” for the other participant, and the date and time for the voice call, and adds this object to the Call Object Queue 59. Because the call request message did not specify a date and time, the date and time for the voice call (or a flag corresponding thereto) is set to initiate immediate call setup.

The Call Object Queue 59 is processed at regular intervals (e.g., every minute) to determine if the current date/time matches the date/time for any Call Object in the Call Object Queue 59 (or that the voice call should be set up immediately). If so, the telephone number for originating subscriber and the telephone number for the other participant(s) is passed to Call Management Processing block 61. This processing identifies the Call Object for telephone numbers “415-555-1213” and “415-555-1212” for immediate call setup and immediately passes the telephone numbers “415-555-1213” and “415-555-1212” to the Call Management Processing block 61.

The Call Management Processing block 61 cooperates with the conference bridge 35 to set up, carry out, and tear down (when complete) a voice call between the telephone numbers “415-555-1213” and “415-555-1212” as dictated by the Call Object, and preferably bills the originating subscriber's account for the voice call.

Block 57 can also cooperate with the SMS Gateway 27 to generate and send an SMS message that is addressed to the originating subscriber and possibly the other participant(s) of the voice call, whereby the SMS message announces the upcoming voice call. Block 57 can also cooperate with the SMS Gateway 27 to exchange one or more SMS messages/replies with the originating subscriber such that the originating subscriber can confirm the particulars of the voice call. If confirmation is successful, the Call Object is added to the Call Object Queue 59; otherwise, the Call Object is not added to the Call Object Queue 59.

IM-Type Call Message Request Processing

The originating subscriber, “William Waytena”, utilizes an IM Application operating on a communication terminal (for example, on his mobile telephony device with an ANI of 415-555-1213) to login in as IM user WillyWay111@gmail.com on a Sunday night, and to generate and send an IM message to the reserved short name for the service (kadoink@gmail.com). The IM message encapsulates the following plain text: “CALL HOME JOHN TUESDAY 2 PM”. This IM message is forwarded to the IM Gateway 41 for the service (which is adapted to receive IM messages addressed to the reserved short name “kadoink@gmail.com 29999”. The IM Gateway 41 forwards the received IM message to the IM Message Processing block 47. The IM Message Processing block 47 extracts the IM user name and possibly IM service provider of the originating subscriber and the text data of the SMS message, and passes this data to the text parsing engine 51. The text parsing engine 51 analyzes the text data to confirm that it starts with “CALL”. This confirmation is successful and the text parsing engine 51 continues to analyze the text data to identify “HOME” AND “JOHN” as target fields. It also analyzes the text data to identify a particular date and time that corresponds to the date and time fields “TUESDAY” and “2 PM”. The target fields “HOME” and “JOHN”, the particular date and date corresponding to the date and time fields “TUESDAY” and “2 PM” along with the IM user name and possibly IM service provider of the originating subscriber are passed to the Call Command Processing block 53. The Call Command Processing block 53 includes block 55 which accesses the Database 29 to identify the telephone number “415-555-1212” for the target field “HOME” and the telephone number “203-555-5555” for the target field “JOHN”. The operations of block 55 preferably performs the following:

i) identifies the subscriber “William Waytena” (or an identifier corresponding thereto) for the IM user WillyWay111@gmail.com of the originating subscriber;

ii) accesses the contact list for the originating subscriber “William Waytena” to identify the phone number “415-555-1212” for the contact “HOME” that matches the target field “HOME”;

iii) accesses the contact list for the originating subscriber “William Waytena” to identify the phone number “203-555-5555” for the contact “JOHN” that matches the target field “JOHN”; and

iv) identifies a phone number (e.g., “415-555-1213”) for the originating subscriber “William Waytena”.

Block 55 passes the phone number “415-555-1213” of the originating mobile subscriber and the phone numbers “415-555-1212” and “203-555-5555” for the contacts corresponding to the target fields “HOME” and “JOHN”, respectively, and the date and time for the voice call to block 57.

In alternate embodiments, it is possible that the ANI of the originating mobile subscriber that is passed to block 57 can be substituted with another telephone number. For example, the originating subscriber might possibly specify another telephone numbers for use with the service (or more particularly for use in conjunction with call request messages communicated to the service) as part of the information stored in the database 29. Alternatively, presence information for the originating subscriber may be used to identify the appropriate telephone number for the originating subscriber. In yet another alternative, a rule-based approach that specifies a sequential order amongst the multiple telephone numbers can be used. The processing is then adapted to sequence through the ordered list of telephone numbers for joining the originating subscriber to the voice call.

Block 57 generates a Call Object that specifies the telephone number “415-555-1213” for the originating subscriber, the telephone numbers “415-555-1212” and “203-555-5555” for the other participants, and the date and time for the voice call, and adds this object to the Call Object Queue 59. In this example, the date and time fields in the call request message (i.e., “TUESDAY” and “2 PM”) are specified in a format relative to the current date and time. In this case, the processing of block 57 derives the date and time for the voice call based upon the current date and time (which can be derived by synchronizing a system date and time to a time server or another time tracking scheme well known in the art) and the offset between the current date and time and the future date and time as specified in the call request message.

The Call Object Queue 59 is processed at regular intervals (e.g., every minute) to determine if the current date/time matches the date/time for any Call Object in the Call Object Queue 59 (or that the call should be set up immediately). If so, the telephone number for originating subscriber and the telephone number for the other participant(s) is passed to Call Management Processing block 61. This processing identifies the Call Object for telephone numbers “415-555-1213”, “415-555-1212” and “203-555-5555” at the date and time for the voice call and passes the telephone numbers “415-555-1213”, “415-555-1212”, “203-555-5555” to the Call Management Processing block 61.

The Call Management Processing block 61 cooperates with the conference bridge 35 to set up, carry out, and tear down (when complete) a voice call between the telephone numbers “415-555-1213”, “415-555-1212”, “203-555-5555” as dictated by the Call Object, and preferably bills the originating subscriber's account for the voice call.

Block 57 can also cooperate with the IM Gateway 41 to generate and send an IM message that is addressed to the originating subscriber (WillyWay111@gmail.com) and possibly the other participant(s) of the voice call, whereby the IM message announces the upcoming voice call. Block 57 can also cooperate with the IM Gateway 41 to exchange one or more IM messages/replies with the originating subscriber such that the originating subscriber can confirm the particulars of the voice call. If confirmation is successful, the Call Object is added to the Call Object Queue 59; otherwise, the Call Object is not added to the Call Object Queue 59.

IP-Type Call Message Request Processing

The originating subscriber, “William Waytena”, utilizes a Command Line IP messaging application operating on a communication terminal (for example, on a communication terminal 12B) to generate and send an IP message to the reserved IP address “64.147.172.15” and port “51101” for the service. The IP message encapsulates the following plain text: “CALL HOME 212-555-1212 TODAY 2 PM” and includes data that identifies the originating subscriber. This IP message is forwarded to the IP Message Monitor 43 for the service (which is adapted to receive IP messages addressed to the reserved IP address “64.147.172.15” and port “51101”. The IP Message Monitor 43 forwards the received IP message to the IP Message Processing block 49. The IP Message Processing block 49 extracts the data that identifies the originating subscriber and the text data of the IP message, and passes this data to the text parsing engine 51. The text parsing engine 51 analyzes the text data to confirm that it starts with “CALL”. This confirmation is successful and the text parsing engine 51 continues to analyze the text data to identify “HOME” AND “212-555-5555” as target fields. It also analyzes the text data to identify a particular date and time that corresponds to the date and time fields “TODAY” and “2 PM”. The target fields “HOME” and “212-555-5555”, the particular date and date corresponding to the date and time fields “TODAY” and “2 PM” along with the data identifying the originating subscriber are passed to the Call Command Processing block 53. The Call Command Processing block 53 includes block 55 which accesses the Database 29 to identify the telephone number “415-555-1212” for the target field “HOME”. It need not perform any look-up operations for the telephone number “203-555-5555”. The operations of block 55 preferably performs the following:

i) identifies the subscriber “William Waytena” (or an identifier corresponding thereto) for the data identifying the originating subscriber;

ii) accesses the contact list for the originating subscriber “William Waytena” to identify the phone number “415-555-1212” for the contact “HOME” that matches the target field “HOME”; and

iv) identifies a phone number (e.g., “415-555-1213”) for the originating subscriber “William Waytena”.

Block 55 passes the phone number “415-555-1213” of the originating mobile subscriber, the phone numbers “415-555-1212” and “203-555-5555” corresponding to the target fields of the IP message, and the date and time for the voice call to block 57.

In alternate embodiments, it is possible that the ANI of the originating mobile subscriber that is passed to block 57 can be substituted with another telephone number. For example, the originating subscriber might possibly specify another telephone numbers for use with the service (or more particularly for use in conjunction with call request messages communicated to the service) as part of the information stored in the database 29. Alternatively, presence information for the originating subscriber may be used to identify the appropriate telephone number for the originating subscriber. In yet another alternative, a rule-based approach that specifies a sequential order amongst the multiple telephone numbers can be used. The processing is then adapted to sequence through the ordered list of telephone numbers for joining the originating subscriber to the voice call.

Block 57 generates a Call Object that specifies the telephone number “415-555-1213” for the originating subscriber, the telephone numbers “415-555-1212” and “203-555-5555” for the other participants, and the date and time for the voice call, and adds this object to the Call Object Queue 59. In this example, the date and time fields in the call request message (i.e., “TODAY” and “2 PM”) are specified in a format relative to the current date and time. In this case, the processing of block 57 derives the date and time for the voice call based upon the current date and time (which can be derived by synchronizing a system date and time to a time server or another time tracking scheme well known in the art) and the offset between the current date and time and the future date and time as specified in the call request message.

The Call Object Queue 59 is processed at regular intervals (e.g., every minute) to determine if the current date/time matches the date/time for any Call Object in the Call Object Queue 59 (or that the call should be set up immediately). If so, the telephone number for originating subscriber and the telephone number for the other participant(s) is passed to Call Management Processing block 61. This processing identifies the Call Object for telephone numbers “415-555-1213”, “415-555-1212” and “203-555-5555” at the date and time for the voice call and passes the telephone numbers “415-555-1213”, “415-555-1212”, “203-555-5555” to the Call Management Processing block 61.

The Call Management Processing block 61 cooperates with the conference bridge 35 to set up, carry out, and tear down (when complete) a voice call between the telephone numbers “415-555-1213”, “415-555-1212”, “203-555-5555” as dictated by the Call Object, and preferably bills the originating subscriber's account for the voice call.

Block 57 can also cooperate with the IP Message Monitor 43 to generate and return an IP message that is addressed to the originating subscriber and possibly the other participant(s) of the voice call, whereby the IP message announces the upcoming voice call. Block 57 can also cooperate with the IP Message Monitor 43 to exchange one or more IM messages/replies with the originating subscriber such that the originating subscriber can confirm the particulars of the voice call. If confirmation is successful, the Call Object is added to the Call Object Queue 59; otherwise, the Call Object is not added to the Call Object Queue 59.

In alternate embodiments, the date and time fields of the call request message can have different alpha-numeric such as “9/1/06 9 am”, “9/1/06 9 a”, “9 am 9/1/06”, “9 a 9/1/06”, “9 a 9/1” where 2006 as the current year is implied, “9/1 9 a” where 2006 as the current year is implied, “9 am” for the current date, “9 am Sat”, “Sat 9 am”, “9 a Sat”, “Sat 9 a”, “15 m” or “15 m” or “15 minutes” for 15 minutes later than the current date and time, or “2 hours” or “2 h” or “2 h” for 2 hours later than the current date and time. In these cases, the processing logic 33 is adapted to interpret these text fields to generate data for the date and time that corresponds thereto and associate such data with the corresponding Call Object or other data structure for initiating the voice call to the appropriate participants at the date and time specified by the call request message.

In other alternate embodiments, a subscriber can assign one or more contacts to a group with a specified group name. One or more target fields of the call request message can include text corresponding to a group name. In this case, the call request message processing joins (or attempts to join) to the voice call all of the members of the group that matches the group name specified by the target field.

The database 29 (or other data storage means) can maintain a list (or other data structure) of scheduled voice calls pertaining to a given subscriber, wherein the given subscriber is the originating subscriber for each scheduled voice call on the list. The given subscriber can access this list and update any scheduled voice call therein. Such updates can include, for example, adding one or more participants, removing one or more participants, changing the date and/or time of the voice call, and canceling the voice call. The list (or other data structure) of calls can also include scheduled voice calls pertaining to a given subscriber wherein the given subscriber is a participant of the scheduled voice call. For these calls, it is contemplated that the subscriber will be able to view the calls and possibly remove himself/herself as a participant of the voice call, but cannot add participants to the voice call or cancel the voice call (unless the subscriber is the only other participant of the call other than the originating subscriber).

It is also contemplated that the call processing and database functionality as described herein (or parts thereof) can be integrated with other parts of the communication network, such as the IM Service Provider facility 26. It is also contemplated that the call processing functionality and/or the database functionality as described herein can be part of other systems or separate systems and joined by messaging technology or other distributed processing technology.

The telecommunication system described herein is advantageous because it allows users to utilizing text-based messages of diverse messaging formats to schedule or initiate a voice call. The text-based messages can refer to short names for participants of the voice call. Such short names are pre-assigned and centrally stored in a contact database. Generating and sending such text-based messages is quick, easy and convenient. Moreover, centralized connection of the participants of the voice call can provide cost benefits to the originator of the voice call.

There have been described and illustrated herein several embodiments of a telecommunication system for initiating voice calls using text-based messages of diverse formats. While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as claimed.

Claims

1. An apparatus for establishing voice calls between multiple participants comprising:

a database that stores short names and associated telephone numbers;
interface means for receiving text-based messages communicated over at least one communication network, the text-based messages having a plurality of diverse messaging formats, each text-based message encapsulating text conforming to a predefined syntax that includes at least one target text field representing a participant of a voice call; and
message processing means, operably coupled to the interface means, that extracts text from each received text-based message;
a text parsing engine, operably coupled to the message processing means, for parsing the extracted text of a given received text-based message to identify the at least one target text field of the given received text-based message;
means for accessing the database to retrieve a first telephone number associated with a short name corresponding to the at least one target text field of the given text-based message; and
call initiation means for initiating a voice call to at least the first telephone number retrieved from the database.

2. An apparatus according to claim 1, further comprising:

means for accessing and updating the database in accordance with user input communicated over an Internet connection.

3. An apparatus according to claim 2, wherein:

the means for accessing and updating the database comprises an Internet-connected server that provides for user input through user interaction with a web browser.

4. An apparatus according to claim 1, wherein:

the plurality of diverse messaging formats include at least SMS-type text-based messages and IM-type text-based messages.

5. An apparatus according to claim 4, wherein:

the plurality of diverse messaging formats include IP-type text-based messages that are addressed to a reserved IP address.

6. An apparatus according to claim 1, wherein:

the first telephone number is one of the following: a number assigned to a traditional POTS telephony device, a number assigned to a mobile telephony device, an identifier assigned to an IP telephony device, and an identifier that is used to establish a voice connection to a user.

7. An apparatus according to claim 1, wherein:

the call initiation means comprises a central conference bridge that connects together participants of the voice call.

8. An apparatus according to claim 7, wherein:

a second telephone number is part of one of said plurality of received text-based message, and the central conference bridge initiates a call to the second telephone number in order to connect together the participants of the voice call corresponding to the one received text-based message.

9. An apparatus according to claim 8, wherein:

the second telephone number is one of the following: a number assigned to a traditional POTS telephony device, a number assigned to a mobile telephony device, an identifier assigned to an IP telephony device, and an identifier that is used to establish a voice connection to a user.

10. An apparatus according to claim 7, wherein:

the database stores contact lists for a plurality of users, each contact list including at least short names and associated telephone numbers for contacts of a given user.

11. An apparatus according to claim 10, wherein:

the database stores information for each one of a plurality of users, the information including calendar information for a given user.

12. An apparatus according to claim 11, wherein:

at least one identifier is part of one of the plurality of received text-based messages; and
the first telephone number is retrieved from the contact list of the database for the particular user having information associated therewith that corresponds to the at least one identifier of the one received text-based message.

13. An apparatus according to claim 12, wherein:

the information stored in the database for the particular user and the at least one identifier of the one received text-based message both comprise a second telephone number assigned to the device that generated the one received text-based message; and
the central conference bridge initiates a call to at least the first and second telephone numbers in order to connect together the participants of the voice call corresponding to the one received text-based message.

14. An apparatus according to claim 12, wherein:

the information stored in the database for the particular user and the at least one identifier of the one received text-based message both comprise at least an IM user name;
a second telephone number is retrieved from the database for the particular user whose IM user name associated therein corresponds to the IM user name of the one received text-based message; and
the central conference bridge initiates a call to at least the first and second telephone numbers in order to connect together the participants of the voice call corresponding to the one received text-based message.

15. An apparatus according to claim 12, wherein:

the encapsulated text of the one received text-based message includes a third telephony number; and
the central conference bridge initiates a call to at least the first and third telephone numbers in order to connect together the participants of the voice call corresponding to the one received text-based message.

16. An apparatus according to claim 1, wherein:

said predefined syntax includes at least one command text field representing a predefined command; and
the text parsing engine parses the extracted text of each received text-based message to confirm it includes the at least one command text field therein.

17. An apparatus according to claim 1, wherein:

said predefined syntax includes at least one field specifying a date and time;
the text parsing engine parses the extracted text of a given received text-based message to identify the at least one field specifying a date and time and generates data corresponding thereto; and
the call initiation means utilizes the data corresponding to the specified date and time to initiate at the specified date and time a voice call corresponding to the given received text-based message.

18. An apparatus according to claim 1, wherein:

each text-based message is addressed to a predetermined identifier.

19. An apparatus according to claim 18, wherein:

the predetermined identifier is at least one of the following: a reserved telephone number for SMS-type text-based messages, a reserved IM short name and IM Service Provider for IM-type text-based messaging, and a reserved IP address and port for IP-type text-based messages.

20. An apparatus according to claim 18, wherein:

the interface means comprises means for receiving SMS-type text-based messages addressed to the reserved telephone number for SMS-type text-based messages.

21. An apparatus according to claim 18, wherein:

the interface means comprises means for receiving IM-type text-based messages addressed to the reserved IM short name and IM Service Provider for IM-type text-based messages.

22. An apparatus according to claim 18, wherein:

the interface means comprises means for receiving IP-type text-based messages addressed to the reserved IP address and port for IP-type text-based messages.

23. A method for establishing voice calls between multiple participants comprising:

providing a database that associates short names with telephone numbers;
receiving text-based messages communicated over at least one communication network, the text-based messages having a plurality of diverse messaging formats, each text-based message encapsulating text conforming to a predefined syntax that includes at least one target text field representing a participant of a voice call; and
for each one of a plurality of the received text-based messages, extracting text from the text-based message and parsing the extracted text to identify the at least one target text field of the text-based message, accessing the database to retrieve a first telephone number associated with a short name corresponding to the at least one target text field of the text-based message, and initiating a voice call to at least the first telephone number retrieved from the database.

24. A method according to claim 23, further comprising:

accessing and updating the database via user input communicated over an Internet connection.

25. A method according to claim 24, wherein:

the user input is accomplished by user interaction with a web browser.

26. A method according to claim 23, wherein:

the plurality of diverse messaging formats include at least SMS-type text-based messages and IM-type text-based messages.

27. A method according to claim 26, wherein:

the plurality of diverse messaging formats include IP-type text-based messages that are addressed to a reserved IP address.

28. A method according to claim 23, wherein:

the first telephone number is one of the following: a number assigned to a traditional POTS telephony device, a number assigned to a mobile telephony device, an identifier assigned to an IP telephony device, and an identifier that is used to establish a voice connection to a user.

29. A method according to claim 23, further comprising:

controlling a central conference bridge to connect together participants of the voice call.

30. A method according to claim 29, wherein:

a second telephone number is part of one of said plurality of received text-based message, and the central conference bridge initiates a call to the second telephone number in order to connect together the participants of the voice call corresponding to the one received text-based message.

31. A method according to claim 30, wherein:

the second telephone number is one of the following: a number assigned to a traditional POTS telephony device, a number assigned to a mobile telephony device, an identifier assigned to an IP telephony device, and an identifier that is used to establish a voice connection to a user.

32. A method according to claim 29, wherein:

the database stores contact lists for a plurality of users, each contact list including at least short names and associated telephone numbers for contacts of a given user.

33. A method according to claim 32, wherein:

the database stores information for each one of a plurality of users, the information including calendar information for a given user.

34. A method according to claim 33, wherein:

at least one identifier is part of one of the plurality of received text-based messages; and
the first telephone number is retrieved from the contact list of the database for the particular user having information associated therewith that corresponds to the at least one identifier of the one received text-based message.

35. A method according to claim 34, wherein:

the information stored in the database for the particular user and the at least one identifier of the one received text-based message both comprise a second telephone number assigned to the device that generated the one received text-based message; and
the central conference bridge initiates a call to at least the first and second telephone numbers in order to connect together the participants of the voice call corresponding to the one received text-based message.

36. A method according to claim 34, wherein:

the information stored in the database for the particular user and the at least one identifier of the one received text-based message both comprise at least an IM user name;
a second telephone number is retrieved from the database for the particular user whose IM user name associated therein corresponds to the IM user name of the one received text-based message; and
the central conference bridge initiates a call to at least the first and second telephone numbers in order to connect together the participants of the voice call corresponding to the one received text-based message.

37. An apparatus according to claim 34, wherein:

the encapsulated text of the one received text-based message includes a third telephony number; and
the central conference bridge initiates a call to at least the first and third telephone numbers in order to connect together the participants of the voice call corresponding to the one received text-based message.

38. A method according to claim 23, wherein:

said predefined syntax includes at least one command text field representing a predefined command; and
the parsing of the extracted text of each received text-based message analyzes the text to confirm that that extracted text includes the at least one command text field therein.

39. A method according to claim 23, wherein:

said predefined syntax includes at least one field specifying a date and time;
the parsing of the extracted text of a given received text-based message identifies the at least one field specifying a date and time and generates data corresponding thereto; and
the data corresponding to the specified date and time is used to initiate at the specified date and time a voice call corresponding to the given received text-based message.

40. A method according to claim 23, wherein:

each text-based message is addressed to a predetermined identifier.

41. A method according to claim 40, wherein:

the predetermined identifier is at least one of the following: a reserved telephone number for SMS-type text-based messages, a reserved IM short name and IM Service Provider for IM-type text-based messaging, and a reserved IP address and port for IP-type text-based messages.

42. A method according to claim 41, further comprising:

receiving SMS-type text-based messages addressed to the reserved telephone number for SMS-type text-based messages.

43. A method according to claim 41, further comprising:

receiving IM-type text-based messages addressed to the reserved IM short name and IM Service Provider for IM-type text-based messages.

44. A method according to claim 41, further comprising:

receiving IP-type text-based messages addressed to the reserved IP address and port for IP-type text-based messages.
Patent History
Publication number: 20080096588
Type: Application
Filed: Oct 19, 2006
Publication Date: Apr 24, 2008
Inventors: William L. Waytena (San Francisco, CA), Eric T. Stone (San Francisco, CA)
Application Number: 11/550,837
Classifications
Current U.S. Class: Auxiliary Data Signaling (e.g., Short Message Service (sms)) (455/466); Demand Based Messaging (709/206)
International Classification: H04Q 7/20 (20060101);