The present invention relates to call routing in a communications terminal such as a wireless terminal.
Traditional telephonic communications is based on local wire facilities (local lines) between a subscriber to a switching facility. In order to complete a telephonic connection between the subscriber and another subscriber, the switching facility (typically comprising a hierarchical structure of local and long distance switches) connects to the local line of the other subscriber. However, with the explosion of new technologies, telephonic communications may be supported by different communication domains. Consequently, a subscriber can select from different communication domains when calling another subscriber.
For example, proprietary systems offer corporations different methods for least-cost routing (LCR) of telephony calls, so that wireless subscribers may dial from one country to another by calling a gateway in the originating country. The gateway may perform toll-bypass by routing the call over a corporation's established IP (Internet Protocol) backbone to the target country. Moreover, with convergence devices the option of using VoIP (Voice over IP) over WLAN (Wireless Local Area Network) is rapidly becoming another possibility, along with proximity calling technologies, such as Bluetooth. Thus, there is a real market need for managing the most efficient and economic routing selection from numerous routing options.
An aspect of the present invention provides methods, apparatuses, and computer media for re-routing outgoing calls from a communications terminal.
With an aspect of the invention, a call routing module selects a set of re-routing plug-ins. One of plug-ins determines re-routing information for an outgoing call based on call information. The call event is presented to the plug-ins in accordance with a priority list. Re-routing may be based on a bearer type and an access type.
With another aspect of the invention, a priority order for offering a call event to a re-routing plug-in is determined from at least one preference list. A preference list may be configured by a subscriber through a user interface. Also, preference lists and re-routing plug-ins may be downloaded over a communications channels.
With another aspect of the invention, another re-routing plug-in is offered a call event if a first re-routing plug-in is not able to re-route an outgoing call.
With another aspect of the invention, one of a plurality of communications systems is selected for re-routing an outgoing call. A communications systems supporting a close-proximity technology may be selected when a communications terminal is sufficiently near the communications system.
A more complete understanding of the present invention may be acquired by referring to the following description in consideration of the accompanying drawings, in which like reference numbers indicate like features and wherein:
In the following description of the various embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope of the present invention.
The following is separated by subheadings for the benefit of the reader. The subheadings include: Terms, Architecture of Platform, Exemplary Message Scenario, Process for Querying Metadata, and Apparatus for a User Device.
Terms
Plug-in—a hardware or software module (component) that adds a specific feature or service to a larger system in order to enhance the capability of the system. When implemented as a software module, an auxiliary program works with a major software package to enhance its capability. For example, plug-ins are widely used in image editing programs such as Photoshop to add a filter for some special effect. Plug-ins are added to Web browsers to enable them to support new types of content (audio, video, etc.).
Architecture for Call Routing with a Communications Terminal
With an embodiment of the invention, communications terminal 101 interacts with other communications terminals through communications system 105 over communications channel 153. With an exemplary embodiment, communications system 105 comprises a cellular infrastructure that may interact with VoIP (Voice over IP) WLAN (Wireless Local Area Network) domain 163, cellular domain 165, and public switched telephone network (PSTN) domain 167. Communications system 105 may select one of the domains 163-167 for least-cost routing (LCR) in order to provide service for communications terminal 101 with the possible lowest cost for the outgoing call.
The outgoing call may be routed as dialed by the subscriber of communications terminal 101. However, communications terminal 101 (e.g., a mobile telephone) may re-route an outgoing call to a gateway in an originating country. The gateway may then route the outgoing call over an IP backbone to the designated country in order to perform toll-bypass for least-cost routing (LCR). When communications terminal 101 supports the convergence of services, VoIP (Voice over IP) over WLAN (Wireless Local Area Network) and proximity calling (e.g., Bluetooth) are additional ways to re-route the outgoing call. As will be discussed in
Referring to
With an embodiment of the invention, when communications terminal 101 is in close proximity to communications system 103, outgoing calls are re-routed to communications system 103 over communications channel 151. Embodiments of the invention support different types of close-proximity technology, including Bluetooth and ultra-wideband (UWB) technologies. As will be discussed, communications terminal 101 may determine its proximity to communications system 103 based upon the position (location) of communications terminal 101.
When the subscriber wishes to place an outgoing (outbound) call, call routing module 203 reads preference list 217 and preference list 219 to determine priorities for different call access (dialling) methods, where each call access method corresponds to a plug-in. Embodiments of the invention may support one or more preference lists and may contain information about preferences, including:
Preference list 217 may contain preferences that are based on a number of factors that include the destination of the outgoing call, position of communications terminal 101, requested bearer type, and requested access type. For example, for a two-way multimedia call requiring a packet switched 384K bearer channel, the subscriber may prefer that call routing plug-in 205 re-route the call. However, if call routing plug-in 205 is unable to re-route the call, then call routing plug-in 207 should re-route the call. Call routing by the re-routing plug-ins 205-209 re-routes the call for the most economical cost for the desired bearer type and access type.
With an exemplary embodiment, a preference list may indicate that VoIP over WLAN is preferred for all outgoing calls, followed by VoIP over WCDMA (GPRS data), and then followed by GSM, which is the last fallback with the least priority. Thus, whenever the user is within the coverage of a known WLAN network, or a connection can be tunneled using VPN technology to the corporate network over a hotspot-type WLAN environment, the call is completed over that bearer. However, if a plug-in determines a WLAN call cannot be completed, the next plug-in would be offered to route the call. In the exemplary embodiment the next plug-in is the WCDMA VoIP routing plug-in.
Preference lists 217 and 219 indicate routing method prioritization when end-user (subscriber) configuration (is allowed. For example, a subscriber may enter preference information though user interface 407 as shown in
The different dialling methods are implemented as plug-ins (plug-ins 205-209) to a call routing framework (call routing module 203). Call routing module 203 checks installed plug-ins 205-209 in relation to the preference lists (e.g., preference list 217), and determines a priority order for the routing mechanisms. The call event is then offered to plug-ins 205-209 based on the determined priority order. Plug-ins 205-209 may further internally check whether they are able to re-route the call. If none of the call routing plug-ins 205-209 is able to offer a lesser cost route, the outgoing call is routed as dialled (e.g., as a regular GSM call).
The position (location) of communications terminal 101 is determined by locating module 215. Locating module 215 may determine the position of communications terminal 101 in a number of ways. For example, locating module 215 may monitor an overhead data from communications system 103 or 105 through communications channel interface module 213 to identify which communications systems can serve communications terminal 101. Also, locating module may incorporate a global positioning system (GPS) receiver.
Call routing module 203 may also support other types of plug-ins, e.g., dialling logic plug-in 211 that may enhance dialling. With an embodiment of the invention, plug-in 211 supports two-stage dialling logic.
With an embodiment of the invention, call routing module 203 may be implemented as a separate module from call processing engine 201. However, with other embodiments of the invention, call routing module 203 may be integrated with call processing engine 201.
Call Routing Logic
Step 301 determines whether outgoing call 351 is an emergency call. If so, outgoing call 351 is routed as dialed in step 305. Otherwise, calling routing module 203 obtains a list of loaded call routing plug-ins (corresponding to plugs-ins 205-209 as shown in
When a priority order has been determined, call information is provided to a first plug-in in accordance with the priority order in step 311. If the first plug-in cannot re-route outgoing call 351, the next plug-in (as ordered by the priority order) is presented the call information for re-routing. This step is reiterated until a plug-in can re-route outgoing call 351 or until it is determined that no plug-in is able to re-route the call. When one of the plug-ins can re-route the call, re-routing information, as provided by the plug-in, is used to re-route the call in step 313. If none of the plug-ins can re-route the call, outgoing call is routed as dialed in step 305.
When re-routing outgoing call 351, call processing module 301 includes re-routing information in a call origination message over a communications channel to communications system 103 or 105 to indicate how the call should be re-routed. For example, the re-routing information may include an access code with the dialed digits. With embodiments of the invention, re-routing information may be provided in different ways. For example with a circuit-switched network, the typical mechanism for signaling call origination to a server is DTMF. In a packet-switched domain, the call origination request may be encapsulated with some type of TCP/IP protocol means, e.g., using the SIP protocol. In this case, the message may indicate that the target system initiate a subsequent dialing procedure, either by completing the call directly or by initiating a call-back over the GSM network, if the active IP bearer is not fast enough to support VoIP.
Architecture of a Communications Terminal
Processor 401 interacts with communications systems (e.g., communications systems 103 and 105) over a communications channel through communications interface 405 when routing an outgoing call.
User preferences (e.g., preference list 217 or 219) may be entered through user interface 407. Also, other preference lists (e.g., corporate call routing preference tables) and plug-ins may be downloaded over a communications channel through communications interface 405.
As can be appreciated by one skilled in the art, a computer system with an associated computer-readable medium containing instructions for controlling the computer system can be utilized to implement the exemplary embodiments that are disclosed herein. The computer system may include at least one computer such as a microprocessor, digital signal processor, and associated peripheral electronic circuitry.
While the invention has been described with respect to specific examples including presently preferred modes of carrying out the invention, those skilled in the art will appreciate that there are numerous variations, permutations and combinations of the above described systems, techniques and embodiments that fall within the spirit and scope of the invention as set forth in the appended claims.