The present invention relates generally to telecommunications and, more specifically, it concerns a system permitting service selective voice communication among users who have different communication services available.
Residential telephone service allows a caller to make a call to a callee by dialing a telephone number that is associated with the callee. For example, if a telephone number “510-222-5555” belongs to John; a caller can call John by dialing “510-222-5555” using a telephone.
However, today virtually every user has multiple voice communication services available, including: cellular telephone services; Voice over IP (VoIP) telephone services (e.g., Vonage service or Skype service); and Instant Messenger (IM) based voice services (e.g., Yahoo Messenger voice service, GoogleTalk service, or Internet Gaming). Thus, there may be multiple ways to call John on his telephone.
In addition to the conventional telephone service described above, other possibilities may exist. If John subscribes to an IM based voice service with a user name “turtleneck2046”, a caller who also subscribes to the same service can call John using his user name “turtleneck2046” through a personal computer. A caller who subscribes to an IM based voice service that supports outgoing calls to the Public Switched Telephone Network (PSTN) can call John's telephone using the IM based voice service through a personal computer, a smartphone, ora PDA.
There are many ways to reach a business. For example, Honest Pizza owns multiple telephone numbers, including a toll-free telephone number, and subscribes to multiple IM based voice services. A caller can call Honest Pizza by using any of the telephone numbers or user names associated with Honest Pizza.
From another perspective, a telephone that connects to multiple voice services provides unprecedented convenience to a caller. A caller can use the telephone to make a call to a callee using any of the multiple voice services. So, the telephone can connect to: a cellular telephone service or a residential telephone service; a VoIP telephone service and a residential telephone service; multiple VoIP telephone services and multiple IM based voice services.
However, this unprecedented convenience also presents overwhelming complexity for a caller to master. When Eva uses the telephone to call John, she oftentimes does not care about which voice service is used to make the call. In another scenario, Eva's telephone connects to five voice services; and John can receive a call from only two of the voice services. For example, Eva's telephone connects to a residential telephone service, a VoIP telephone service, and three IM based voice services. John owns a cell phone and does not subscribe to the three IM based voice services. When Eva uses the telephone to call John, she will have to select the residential service or the VoIP telephone service to make the call. Choosing the wrong voice service will result in call failure.
There is therefore a need to provide a solution, such that a caller need not choose a service when calling a callee.
In accordance with the present invention, when a voice call is made between two users (Caller and Callee), both of which may have access to multiple voice communication services, the connection is made automatically by the communications equipment through a selectable communication service, based upon characteristics of connection. Those characteristics may include the services available to the users, the day of the week, the time of day, the availability of the Callee on a service, the geographic locations of the Caller and Callee, and Caller pre-established service preferences. Preferably, Caller preferences and associations of callees with unique destination identifiers are stored in a database created for the Caller and available to his communication equipment. An ultimate callee identifier selected for a particular call includes an indication of communication service, and connection an appropriate interface for that service is then provided automatically for the Caller.
The forgoing brief description, and further objects, features and advantages of the present invention will be understood more completely from the following detailed description of presently preferred embodiments, with reference being had to the accompanying drawing, in which:
As explained above, Multi-Service Communication Module 100 provides connectivity of caller 110 to a plurality of Voice Communication Networks 180. Examples of such Voice Communication Network includes the Public Switched Telephone Network (PSTN); a cellular network; a corporate telephone network; an Internet Protocol (IP) network; the Internet; a corporate Virtual Private Network (VPN); a Voice over IP (VoIP) network; an IP-based application network that supports a voice call, such as a gaming network, an Instant Message (IM) based network, a corporate collaboration network, or a home network; a walkie-talkie network; a satellite network; and a push-to-talk network. However, those skilled in the art will appreciate that connectivity could be provided to any kind of network, including ones yet to be developed.
Multi-Service Communication Module 100 includes a plurality of Service Modules 170, each including the functionality required to interface with a connected Voice Communication Network. It will be appreciated that modules 170 could each be dedicated to a particular type of network from among networks 180, or they could be programmable, or they could be adaptive. Making a voice call includes sending voice call setup messages to the connected Voice Communication Network to establish a voice communication between Multi-Service Communication Module 100 and the connected Voice Communication Network. For example, the voice call setup messages could include a Plain Old Telephone Service (POTS) offhook signal to the PSTN. Alternatively, the voice call setup messages includes a SIP INVITE message described in IETF RFC 3261 “SIP: Session Initiation Protocol” to a VoIP network; a call initiation message to a cellular network; or an alert signal to a walkie-talkie network.
A Service Module could also include: a telephone application and a Foreign Exchange Office (FXO) interface that connects to a telephone switch in the Public Switched Telephone Network (PSTN); a mobile telephone application and a Radio Frequency (RF) interface that connects to a wireless base station in a cellular network; a VoIP application and an IP interface that connects to a Voice over IP (VoIP) server over the Internet; an Instant Messenger (IM) based voice application and an IP interface that connects to a voice server of an IM based voice service over the Internet; a corporate voice application and an IP interface that connects to an Internet Protocol Private Branch Exchange (IP-PBX) over an IP network, such as a corporate Virtual Private Network (VPN), or a corporate VoIP network; a telephone application, and a proprietary digital phone interface or an FXO interface that connects to a Private Branch Exchange (PBX) in a corporate telephone network; a push-to-talk application, and a Radio Frequency (RF) interface that connects to a wireless base station in a push-to-talk network; or a walkie-talkie application, and a Radio Frequency (RF) interface that connects to a walkie-talkie network.
A Service Module uses a Destination Identity, associated with Callee 190, to make a voice call over the connected Voice Communication Network. One type of Destination Identity is a public telephone number such as “408-222-3333”. Alternatively, a Destination Identity could be: a user name of an IM based voice service such as “dragonfly225” of Yahoo Messenger voice service; a corporate extension number of a corporate voice service, such as an extension number “2019”; a radio frequency used in a walkie-talkie network, such as 27.145 MHz, or 49.860 MHz; or an identity for a push-to-talk service, such as a user name “randylee-oaklandhigh-class1985”.
Service Modules are specific to a particular communication service and can use a Destination Identity to make a voice call. For example, a Service Module that connects to an IM based network can use a user name “dragonfly225” to make a voice call. Alternatively, a Service Module that connects to PSTN can use a telephone number “650-222-3333” to make a voice call; a Service Module that connects to a cellular network can use the telephone number “650-222-3333” to make a voice call; and a third Service Module that connects to a VoIP network can use the telephone number “650-222-3333” to make a voice call.
A Callee represents a person, a member of a group, a business, an organization, a department of an organization, or a government agency. Examples for a Callee are “David Sanders”, “Honest Pizza”, “Lincoln Hospital”, “Planning Commission of City of Northland”, or “John Miller of Rotary Club, Palo Alto Chapter.” A Callee could correspond to a plurality of Destination Identities. For example, Callee 190, “Ronnie Weitzel”, could correspond to telephone number “408-222-3333”, user name “dragonfly225”, telephone number “650-333-2018”, and radio frequency 49.860 MHz.
Multi-Service Communication Module 100 includes a Service Module Selector 150, which selects a Service Module from among the plurality of Service Modules 170; and it stores a Destination Identity 199 for making a voice call to Callee 190 for Caller 110. Through Module Selector 150, Multi-Service Communication Module 100 invokes the selected Service Module, which makes a voice call over the selected Voice Communication Network using Destination Identity 199.
Service Module Selector 150 may select a Destination Identity in multiple steps, for example, in step 221 Service Module Selector 150 obtains from Datastore 255 a plurality of Destination Identities 261 that match to Callee 190. Then in a step 223, Service Module Selector 150 selects a Destination Identity 269 from among the plurality of Destination Identities 261.
A Destination Identity could be associated with a destination type. For example, a destination type could indicate that the associated Destination Identity is for home use, or for business use. So, if the current time of day is between 8 am and 6 pm on a business day, Service Module Selector 150 selects, from the plurality of Destination Identities 261, that Destination Identity 269 that is associated with a destination type indicating business usage. Service Module Selector 150 could connect to a Clock 257, indicating the current time of day. Similarly, if the current time of day is between 6 pm and 8 am, Service Module Selector 150 could select from the plurality of Destination Identities 261 that Destination Identity 269 associated with a destination type indicating home usage. Those skilled in the art will appreciate that the times are merely exemplary and that a caller could provide his own criteria.
A Destination Identity could also be associated with a destination preference ranking. For example, a destination preference ranking could include an integer, such as “7”, “8”, “39” or “5093”. As a further example, the plurality of Destination Identities 261 could include a telephone number “408-222-3333” with a destination preference ranking of “12”, a Yahoo Messenger user name “dragonfly225” with a destination preference ranking of “8”, and a telephone number “650-321-6517” with a destination preference ranking of “7”. Service Module Selector 150 selects from the plurality of Destination Identities 261 the Destination Identity 269 (“408-222-333”) with the highest destination preference ranking of “12”. Of course, such rankings could be programmed by the caller, or there could be a default set.
A Destination Identity could also be associated with a destination's availability, that is, the availability of the associated Destination Identity. For example, a destination availability has a value of “available”, indicating that the associated Destination Identity is available.
When a Destination Identity is a user name for an IM based voice service, such as user name “johnsmith2006” for Yahoo Messenger voice service, the destination availability associated with the Destination Identity could include the presence status for user name “johnsmith2006’ on the service. For example, the presence status for user name “johnsmithe2006” could be “present” and the destination availability has a value of “available”, indicating that the Destination Identity is available. As an example, Multi-Service Communication Module 100 could obtain presence status from a presence server of the IM based voice service, and obtains the destination availability of the Destination Identity.
When a Destination Identity is a mobile telephone number for a cellular telephone service, such as mobile telephone number “408-987-0123”, the destination availability of the Destination Identity includes the mobility registration status for mobile telephone number “408-987-0123”. For example, the mobility registration status for that number might be “registered” and the destination availability could have a value of “available”, indicating that the Destination Identity is available. Preferably, the Multi-Service Communication Module obtains the registration status from a Home Location Register (HLR) that serves the mobile telephone number.
When a Destination Identity is the user name of a push-to-talk service such as user name “randylee-oaklandhigh-class1985”. The destination availability of the Destination Identity includes the service status of the device associated with user name “randylee-oaklandhigh-class1985”. For example, the service status for the device could be “logged in” and the destination availability could have a value of “available”, indicating that the Destination Identity is available. The Multi-Service Communication Module preferably obtains the service status from a status server of the push-to-talk service; and it obtains the destination availability of the Destination Identity.
Multi-Service Communication Module 100 could obtain the destination availability periodically, for example, every 10 minutes, every 15 minutes, or every 20 minutes. Alternately, the Multi-Service Communication Module could obtain the destination availability when the destination availability that associates with a Destination Identity changes. For example, Multi-Service Communication Module could obtain the destination availability before Service Module Selector 150 selects the Destination Identity.
Multi-Service Communication Module 100 could obtain the destination availability of a Destination Identity over a connected Voice Communication Network. However, it could also obtain the destination availability over a different network, such as the Internet or a corporate Virtual Private Network (VPN).
Service Module Selector 150 selects from the plurality of Destination Identities 261 that Destination Identity 269 that associates with a destination availability having a value of “available”. This could be done in multiple steps (e.g. 221, 225, and 227) . For example, in step 221, Service Module Selector 150 obtains from Datastore 255 a plurality of Destination Identities 261 that match to Callee 190. A Destination Identity could be selected based on a service module identity. Datastore 255 could include information that matches a service module identity to a plurality of Destination Identities; each matching Destination Identity can be used by the Service Module identified by the service module identity to make a voice call.
In step 225, Service Module Selector 50 selects from Datastore 255 a plurality of Destination Identities 263 that match the service module identity. Datastore 255 includes a configuration record, which includes a preferred service module identity. Service Module Selector 150 uses the preferred service module identity from the configuration record to select the plurality of Destination Identities 263. Datastore 255 includes caller profiles, each associated with a Caller. A caller profile includes a caller preferred service module identity. Service Module Selector 150 uses the caller preferred service module identity from the user profile associated with Caller 110 to select the plurality of Destination Identities 263.
In step 227, Service Module Selector 150 selects Destination Identity 269 such that Destination Identity 269 is included in the plurality of Destination Identities 261 and is included in the plurality of Destination Identities 263.
Datastore 255 includes information for Service Modules 371, 372, 373 and 374. A Service Module has an associated service preference ranking, which includes an integer, such as “2”, “3”, “15” or “21”, and Service Module Selector 150 selects the Service Module with the highest service preference ranking. Service Module Selector 150 obtains from Datastore 255 the service preference ranking of Service Modules 371, 372, 373 and 374. For example, Service Module 371 may be associated with a service preference ranking of “15”; Service Module 372 with a service preference ranking of “11”; Service Module 373 with a service preference ranking of “20”; and Service Module 374 associates with a service preference ranking of “18”. Service Module Selector 150 selects Service Module 373, the one with the highest service preference ranking of “20”.
A Service Module could be associated with a service time period, in which case Service Module Selector 150 selects a Service Module with a service time period such that the current time of day indicated by Clock 357 is within the service time period. Service Module Selector 150 obtains from Datastore 255 service time periods for Service Modules 371, 372, 373 and 374. For example, suppose Service Module 371 is associated with service time period of “7:00 am to 9:30 am”; Service Module 372 with a service time period of “9:30 am to 6:30 pm”; Service Module 373 with a service time period of “6:00 pm to 9:30 pm”; and Service Module 374 with a service time period of “9:30 pm to 2:00 am”. If the current time of day indicated by Clock 357 is 9:47 pm; Service Module Selector 150 selects Service Module 374 with a service time period of “9:30 pm to 2:00 am”.
Service Module Selector 150 could also select a Service Module based on a Destination Identity 369 corresponding to Callee 190. Datastore 355 includes information that matches a Destination Identity to a plurality of Service Modules; each of the matching Service Modules can use the Destination Identity to make a voice call. Service Module Selector 150 uses Destination Identity 369 to obtain from Datastore 255 a plurality of matching Service Modules, and it selects a Service Module from the plurality of matching Service Module.
As an example, a Service Module might be associated with a plurality of geographic locations, such as “local”, “local long distance”, “continental”, “long distance”, “international”, “Asia”, “Europe”, “Hong Kong”, or “Norway”. A Service Module 371 is associated with geographic locations of “local” and “local long distance”; Service Module 372 is associated with a geographic location of “continental”; Service Module 373 is associated with locations of “Hong Kong” and “Korea”; Service Module 374 is associated with the geographic location of “Europe”. As a further example, Destination Identity 369 is a local telephone number, such as “326-0127”; Service Module Selector 150 selects Service Module 371 that is associated with a geographic location of “local”. Destination Identity 369 is an international telephone number with country code “852”. Country code “852” is for the city of Hong Kong; Service Module Selector 150 could select Service Module 373 to associate with a geographic location of “Hong Kong”.
Datastore could include a hard disk or a flash memory, which contains the above-mentioned database.
Telephone 400 includes a Computing Module 401 that contains programming logic that embodies a Multi-Service Communication Module. Typically, Computing Module 401 includes a processor and associated memory.
Telephone 400 also includes a Network Module 402, which embodies the network interface for a plurality of Service Modules included in the Multi-Service Communication Module. Preferably, Network Module 402 includes an IP interface and an Ethernet interface.
Telephone 400 also includes a Storage 403 that embodies the Datastore 255 of the Multi-Service Communication Module 100. Preferably, Storage 403 includes a hard disk, a flash memory containing a database.
Preferably, the plurality of Voice Communication Networks 180 include the Internet, a Voice over IP network, and an IM based network.
Telephone 400 includes an Input Module 404, which includes the functionality of obtaining user input for a voice call. The user input includes Callee 190. Preferably, Input Module 404 includes a browser that allows a user to browse a directory and to select Callee 190. Input Module 404 obtains the user input from Caller 110 to begin the process of selecting a Destination Identity as illustrated in
Telephone 400 includes an Output Module 405, which includes the functionality of transmitting user output for a voice call; preferably, the user output includes audio output to the user. Preferably, Output Module 405 includes a speaker.
Computing Module 401 selects a Service Module and a Destination Identity, and the selected Service Module uses the selected Destination Identity to make a voice call to Callee 190 via Network Module 402.
Preferably, the inclusion of the plurality of Service Modules in the Telephone 400 is achieved during the manufacturing process of Telephone 400, such as by including the hardware or firmware functionalities; or by including the software applications that constitute the plurality of Service Modules. The inclusion could be achieved during a point-of-sale process, such as by activating the applications that constitute the plurality of Service Modules. Alternatively, the inclusion is achieved by a service subscription process that activates the voice communication services associated with the plurality of Service Modules.
If Telephone 400 is a wireless telephone connected to a wireless network, the connected plurality of Voice Communication Networks include a cellular network, WiFi network, push-to-talk network, satellite network or walkie-talkie network. A user uses the wireless telephone to select a Callee. The wireless telephone selects a Destination Identity and a Service Module to make a voice call to the Callee over a connected Voice Communication Network.
If Telephone 400 is a corporate telephone, the connected plurality of Voice Communication Network includes a corporate telephone network, a corporate IP network, or a corporate VPN network. A user uses the corporate telephone to select a Callee. The corporate telephone selects a Destination Identity and a Service Module to make a voice call to the Callee over a connected Voice Communication Network. Preferably, the inclusion of the plurality of Service Modules in the corporate telephone is achieved during the manufacturing process of the corporate telephone, such as by including the hardware or firmware functionalities or by including the software applications that constitute the plurality of Service Modules. Or the inclusion is achieved during an installation process, such as by activating the applications that constitute the plurality of Service Module. The inclusion could also be achieved by a service subscription process that activates the voice communication services associated with the plurality of Service Modules.
Telephone 400 could include a telephone switching system, such as a corporate telephone system, such as a PBX or an IP-PBX. The telephone switching system includes Multi-Service Communication Module. The connected plurality of Voice Communication Network includes corporate telephone network, PSTN, Internet, Voice over IP network, or IM based network. The telephone switching system connects to a terminal. The telephone switching system receives input from the terminal and transmits output to the terminal. A user uses a terminal to select a Callee by, in one embodiment, dialing an extension number of the Callee. The telephone switching system selects a Destination Identity and a Service Module to make a voice call to the Callee over a connected Voice Communication Network.
Although preferred embodiments of the invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that many additions, modifications, and substitutions are possible without departing from the scope and spirit of the invention as defined by the accompanying claims.
This application is a continuation of U.S. patent application Ser. No. 11/403,730 filed Apr. 13, 2006, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 11403730 | Apr 2006 | US |
Child | 15456437 | US |