I. Field
The present disclosure relates generally to communication, and more specifically to techniques for originating a call by a terminal.
II. Background
Wireless communication networks are widely deployed to provide various communication services such as voice, video, packet data, and so on. These wireless networks include wireless wide area networks (WWANs) that provide communication coverage for large geographic areas, wireless local area networks (WLANs) that provide communication coverage for medium-size geographic areas, and wireless personal area networks (WPANs) that provide communication coverage for small geographic areas. Different wireless networks typically have different capabilities, requirements, and coverage areas.
A multi-mode terminal may be capable of communicating with different wireless networks. The terminal may be located within the coverage of zero, one or multiple wireless networks at any given moment. The terminal may be invoked (e.g., by a user) to make a call to obtain a particular communication service. From the user's perspective, it is desirable for the call to be made in a manner that is transparent to the user, who is mainly interested in obtaining the service. However, if the terminal can communicate with different wireless networks, then there may be challenges in deciding how the call should be made.
There is therefore a need in the art for techniques to efficiently handle call origination by a multi-mode terminal.
Techniques for performing automatic call origination for multiple wireless networks are described herein. In an aspect, a terminal automatically originates a call (e.g., a voice call or a data call) and supports fallback in case of call origination failure. In an embodiment, the terminal selects the most preferred wireless network for the call based on network availability and network selection information. Network availability refers to the availability of wireless networks that can support the call for the terminal. Network selection information may comprise any information that may be used to select wireless networks for call origination. The terminal attempts origination of the call on the selected wireless network. If the call origination fails, then the terminal may select an alternate wireless network based on network availability and the network selection information and may then attempt origination of the call on the alternate wireless network.
In an embodiment of automatic call origination, wireless networks that are available for a voice call are identified. If a voice over Internet Protocol (VoIP) call is preferred over a circuit-switched voice call, then a first wireless network may be selected from among the available packet-switched wireless network(s) based on the network selection information. Origination of the VoIP call is then attempted on the first wireless network. If the VoIP call fails, then a second wireless network may be selected from among the available wireless network(s) based on the network selection information. If the second wireless network is a circuit-switched wireless network, then origination of a circuit-switched voice call is attempted on the second wireless network. In general, the first and second wireless networks may each be a packet-switched wireless network or a circuit-switched wireless network and may be selected based on preferences indicated by the network selection information.
Various aspects and embodiments of the invention are described in further detail below.
The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
A WWAN is a wireless network that provides communication coverage for a large geographic area such as, e.g., a city, a state, or an entire country. A WWAN may be a multiple-access network capable of supporting multiple users by sharing the available network resources. Some examples of multiple-access networks include Code Division Multiple Access (CDMA) networks, Time Division Multiple Access (TDMA) networks, Frequency Division Multiple Access (FDMA) networks, and Orthogonal FDMA (OFDMA) networks. A CDMA network may implement a radio technology such as cdma2000, Wideband-CDMA (W-CDMA), and so on. cdma2000 covers IS-2000,IS-856, and IS-95 standards. A CDMA2000 1x (or simply “1x”) network is a wireless network that implements IS-2000 and/or IS-95. A CDMA2000 1xEV-DO (or simply, “1xEV-DO”) network is a wireless network that implements IS-856. A Universal Mobile Telecommunications System (UMTS) network is a wireless network that implements W-CDMA. A TDMA network may implement a radio technology such as Global System for Mobile Communications (GSM). These various radio technologies, standards, and cellular networks are known in the art. W-CDMA and GSM are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available.
A WLAN is a wireless network that provides communication coverage for a medium-size geographic area such as, e.g., a building, a mall, an airport terminal, and so on. A WLAN may implement the IEEE 802.11 family of standards, some other WLAN standard, or some other WLAN radio technology. A Wi-Fi network is a WLAN that implements IEEE 802.11. A WLAN may include any number of access points that support wireless communication for any number of stations. For simplicity, only one access point 118 is shown in
The base stations in the 1x network, the Node Bs in the UMTS network, and/or the Node Bs in the GSM networks may couple to a core network 130 that supports roaming and advanced services. Core network 130 may implement ANSI-41, GSM Mobile Application Part (GSM-MAP), and/or some other networking protocol. The access points in the 1xEV-DO network, the access points in the WLAN, and/or the Node Bs in the UMTS network may couple to an Internet Protocol (IP) Multimedia Subsystem (IMS)/Multimedia Domain (MMD) network 132 that can provide multimedia services such as VoIP, video conferencing, streaming data, and so on. Core network 130 may couple to IMS/MMD network 132 via a backbone. Networks 130 and 132 may then provide connectivity for the terminals communicating with the base stations, Node Bs, and access points served by these networks.
Various terminals 120 are dispersed throughout the coverage areas of the wireless networks in
A multi-mode terminal is capable of communicating with multiple wireless networks, which may include WWANs and/or WLANs. A multi-mode terminal may be able to communicate with one or more wireless networks at any given moment depending on the location of the terminal and whether it is within the coverage of the wireless networks. In the example shown in
In general, a terminal may be capable of communicating with any number of wireless networks of any radio technologies. The automatic call origination techniques described herein may be used for various wireless networks and radio technologies. For clarity, these techniques are specifically described below for a terminal capable of communicating with the five wireless networks shown in
Within processing module 200, higher layer applications 210 include various end-user applications such as, e.g., user interface (UI) applications, voice applications that provide voice services, data applications that provide data services, a user browser, an email client, and so on. The voice and data applications may generate requests to originate voice and data calls, respectively.
A call manager 220 controls origination, establishment, and tear down of calls, e.g., as directed by higher layer applications 210. Call manager 220 may provide application programming interfaces (APIs) to allow higher layer applications 210 to request call origination. Call manager 220 may receive indications from higher layer applications 210 to make calls of specific types. Call manager 220 may then select wireless networks to originate calls, control origination of the calls, keep track of the states of the calls, and so on.
A call processing entity 230 performs processing for various radio technologies. In the embodiment shown in
A transmit module 250 controls the operation of a transmitter within terminal 120x. A receive module 252 controls the operation of a receiver within terminal 120x. The transmitter and receiver are not shown in
As shown in
A user or higher layer applications 210 may desire to make a call of a particular type, e.g., a voice call. The user and the higher layer applications may not be aware of which wireless network(s) are available. Furthermore, the user and the higher layer applications may not care how the call is placed. For example, a voice call may be placed as either (1) a circuit-switched call in the 1x, UMTS or GSM network or (2) a packet-switched call in the 1xEV-DO or UMTS network or the WLAN. For a circuit-switched call, the terminal is assigned a dedicated traffic channel to carry data for the terminal. For a packet-switched call, data is sent as packets via a shared medium. A packet-switched voice call is often referred to as a VoIP call. It may be desirable to hide the intricacies of making a voice call from the user and the higher layer applications and to make call origination transparent to the user and the higher layer applications, which may only be interested in obtaining the underlying voice service.
In an aspect, the call manager automatically originates a call for the user and/or the higher layer applications. The call manager selects the most preferred wireless network for the call based on network availability and network selection information. Network availability refers to the availability of wireless networks that can support the call for the terminal. Network selection information is any information that may be used to select wireless networks for call origination. The call manager attempts origination of the call on the selected wireless network. If the call origination fails, then the call manager may select an alternate wireless network based on network availability and the network selection information and may attempt origination of the call on the alternate wireless network.
The network selection information used for automatic call origination may convey various kinds of information. In an embodiment, the network selection information indicates wireless networks that are supported by the terminal, wireless networks that may be used for each type of call, and preferences among the wireless networks. In other embodiments, the network selection information may convey different and/or additional information used for network selection.
The network selection information may indicate all wireless networks from which the terminal may receive each type of service. For example, the terminal may be able to receive voice service from packet-switched wireless networks such as 1xEV-DO and UMTS networks and WLAN and/or from circuit-switched wireless networks such as 1x, UMTS and GSM networks. The terminal may also be able to receive data service from packet-switched and/or circuit-switched wireless networks. The supported wireless networks are wireless networks from which the terminal may receive service. The supported wireless networks may be determined based on subscriptions with service providers/network operators, roaming agreements between the service providers, the capabilities of the terminal, and so on.
The network selection information may also indicate preferences among all supported wireless networks for each type of service. For example, a VoIP call may be preferred over a circuit-switched voice call. Furthermore, there may be preferences among wireless networks that support the same type of call. For example, a VoIP call on WLAN may be preferred over a VoIP call on 1xEV-DO and UMTS. As another example, a circuit-switched voice call on 1x may be preferred over a circuit-switched voice call on GSM, which may be preferred over a circuit-switched voice call on UMTS. The preferences may be determined based on the requirements for each type of call, the capabilities of the wireless networks, the capabilities of the terminal, subscriptions with the service providers, and so on.
In the embodiment shown in
The network selection information may be provided by the service providers. For example, the network selection information may be part of provisioning information that is loaded into the terminal when it is activated. The network selection information may also be provided, augmented, and/or revised by the user, e.g., based on user preference. The network selection information may be static and applicable for all locations. Alternatively, different network selection tables may be defined for different geographic areas, e.g., similar to a preferred roaming list (PRL) in 1x.
A determination is made whether a packet-switched wireless network is available for a VoIP call (block 412). A packet-switched wireless network may support VoIP if it is appropriately connected, e.g., to an IMS/MMD network. For simplicity, the following description assumes that the packet-switched wireless networks are VoIP capable. If the answer is ‘Yes’ for block 414, then the most preferred packet-switched wireless network is selected from among the available packet-switched wireless network(s) based on network selection information (block 414). Origination of a VoIP call is then attempted on the selected packet-switched wireless network (block 416).
If a packet-switched wireless network is not available and the answer is ‘No’ for block 412, then a determination is made whether a circuit-switched wireless network is available (block 422). If the answer is ‘Yes’, then the most preferred circuit-switched wireless network is selected from among the available circuit-switched wireless network(s) based on the network selection information (block 424). Origination of a circuit-switched voice call is then attempted on the selected circuit-switched wireless network (block 426).
After attempting call origination in block 416 or 426, a determination is made whether the call origination was successful (block 430). If the call origination was successful, then the process terminates. Otherwise, if the call origination failed, then the wireless network with the call origination failure is removed (block 432), and the process returns to block 412 to select another wireless network to attempt call origination. If all available wireless networks have been selected and the answer is ‘No’ for both blocks 412 and 422, then the process terminates.
In the embodiment shown in
Call origination for a VoIP call or a circuit-switched voice call may fail for various reasons related to the terminal, the wireless network, a remote station or server to which the call is placed, and so on. The remote station may be the other user's phone, an entity in the IMS/MMD network, or some other entity. For example, call origination may fail due to unavailable radio service, authorization failure, server failure, and so on.
Call origination for a VoIP call may entail establishing a SIP session with a remote station to which the VoIP call is made. SIP is described in RFC 3261 entitled “SIP: Session Initiation Protocol,” June 2002, which is publicly available. SIP session establishment may fail for various reasons. For example, the terminal may send a SIP request for SIP session establishment and may receive a 3xx response that gives information about the remote station's new location or about alternative services that might be able to satisfy the call. The terminal may also receive a 4xx response that indicates a failure from a SIP server, e.g., a bad request, an unauthorized request, and so on. The terminal may also receive a 5xx response that indicates a server failure, e.g., server internal error, server time-out, and so on. The terminal may also receive a 6xx response that indicates that a server has definitive information about a particular user, not just the particular instance indicated in the SIP request sent by the terminal. The various SIP failures are described in section 21.3 through 21.6 and other sections of RFC 3261.
A determination is made whether the call origination was successful (block 516). If the call origination was successful, then the process terminates. Otherwise, if the call origination failed, then a second wireless network is selected from among the available wireless network(s) based on the network selection information (block 518). If the second wireless network is a circuit-switched wireless network, then origination of a circuit-switched voice call is attempted on the second wireless network (block 520). Although not shown in
In the embodiment shown in
In an embodiment, the first wireless network may be a WWAN (e.g., 1xEV-DO or UMTS) or a WLAN (e.g., Wi-Fi), and the second wireless network is a WWAN (e.g., 1x, UMTS or GSM). In other embodiments, the first and second wireless networks may each be a WWAN or a WLAN.
The wireless networks available for the call are determined, e.g., as described above for
The most preferred available wireless network is selected (block 618). Origination of the call is then attempted on the selected wireless network (block 620). A determination is then made whether the call origination was successful (block 622). If the answer is ‘Yes’, then the process terminates. Otherwise, the wireless network with the call origination failure is removed (block 624). If all available wireless networks have not been selected, as determined in block 626, then the process returns to block 618 to select the next most preferred available wireless network to attempt call origination. Otherwise, if all available wireless networks have been selected, then the process terminates.
In the embodiment shown in
A determination is then made whether the call origination was successful (block 716). If the answer is ‘Yes’, then the process terminates. Otherwise, a second wireless network is selected for the call based on the availability of the wireless networks supporting the call and the network selection information (block 718). The second wireless network may be the next most preferred wireless network among the available wireless networks that support the call. Origination of the call is attempted on the second wireless network (block 720).
In an embodiment, the first wireless network is a packet-switched wireless network and the second wireless network is a circuit-switched wireless network. In other embodiments, the first and second wireless networks may each be a packet-switched wireless network or a circuit-switched wireless network.
On the transmit path, an encoder 822 receives data and signaling to be sent by terminal 120y to a base station or Node B in a circuit-switched wireless network or an access point or Node B in a packet-switched wireless network. Encoder 822 processes (e.g., formats, encodes, and interleaves) the data and signaling in accordance with a suitable encoding scheme. A modulator (Mod) 824 further processes (e.g., modulates and scrambles) the coded data and signaling and generates data chips. In general, the processing by encoder 822 and modulator 824 is determined by the wireless network for which data is sent, e.g., 1x, 1xEV-DO, UMTS, GSM or Wi-Fi. A transmitter (TMTR) 832 conditions (e.g., converts to analog, filters, amplifies, and frequency upconverts) the data chips and generates an RF output signal, which is transmitted via an antenna 834. For simplicity,
On the receive path, antenna 834 receives RF signals transmitted by base stations and Node Bs in circuit-switched wireless networks and/or access points and Node Bs in packet-switched wireless networks. A receiver (RCVR) 836 conditions (e.g., filters, amplifies, frequency downconverts, and digitizes) the received RF signal from antenna 834 and generates data samples. A demodulator (Demod) 826 processes (e.g., descrambles and demodulates) the data samples and provides symbol estimates. A decoder 828 processes (e.g., deinterleaves and decodes) the symbol estimates and provides decoded data. In general, the processing by demodulator 826 and decoder 828 is complementary to the processing performed by the modulator and encoder at the base stations, Node Bs and access points. Encoder 822, modulator 824, demodulator 826 and decoder 828 may be implemented by a modem processor 820.
A controller/processor 840 directs the operation of various processing units at terminal 120y. Controller/processor 840 and/or other processing units within terminal 120y may implement processing module 200 in
For clarity, automatic call origination has been described for five specific wireless networks. In general, automatic call origination may be performed for any number of wireless networks and any combination of wireless networks.
The automatic call origination techniques described herein may provide various advantages. First, seamless call origination experience may be provided for the user and the higher layer applications since they do not need to be aware of the intricacies of call origination. The call manager may first attempt call origination on the most preferred wireless network and may handle fallback to another wireless network in case of call origination failure. Second, the complexity of the higher layer applications may be simplified with automatic call origination. The higher layer applications may communicate with the call manager via simple APIs for call origination. The same APIs may be used for all supported wireless networks. The call manager may implement the necessary functions for call origination with each different wireless network. The call manager may be designed by a manufacturer of a chip set used in the terminal. The higher layer applications may be designed by an original equipment manufacturer (OEM) of the terminal. The automatic call origination may simplify the design of the higher layer applications by the OEM. Other advantages may also be obtained with the automatic call origination described herein.
The automatic call origination techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units used to perform automatic call origination may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the automatic call origination may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The firmware and/or software codes may be stored in a memory (e.g., memory 842 in
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.