This disclosure relates to data communications, and more particularly, to systems and methods for delaying data call attempts in order to process an incoming voice call.
Mobile wireless communication devices, such as a cellular telephone or a wireless personal digital assistant, can provide a wide variety of communication services including, for example, voice communication, text messaging, internet browsing, and electronic mail. These mobile wireless communication devices may communicate within a wireless communication network. These different services may be achieved by communicating traffic in different communication domains within the wireless communication network. For example, voice traffic may be carried in a first domain, such as a circuit switched domain. Data traffic may be carried in a second domain, such as a circuit switched domain or a packet switched domain. The communication of voice traffic by a mobile wireless communication device in the wireless communication network may be referred to as a “voice call.” The communication of data traffic by a mobile wireless communication device in the wireless communication network may be referred to as a “data call.”
Some wireless communication devices may only be capable of engaging in one of a voice call or a data call at a time, and unable to simultaneously engage in a voice call and a data call. Accordingly, systems and methods are needed for managing how the device handles the processing of voice calls and data calls that occur at approximately the same time.
The systems, methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
One innovative aspect of the subject matter described in this disclosure can be implemented in a method of communicating in a wireless network. The method includes receiving, at a first unit, a data call termination request from a second unit. The method further includes waiting, by the first unit, for a time period before attempting to place a data call based on receipt of the data call termination request.
In an embodiment, the method further includes receiving, at the first unit, a page request for a voice call from the second unit during the time period, and accepting the voice call.
In another embodiment, the wireless network comprises a code division multiple access network and wherein the data call termination request comprises a release order.
In another embodiment, the time period is one or two time slots.
In another embodiment, the method further includes transitioning from a first state where a page request is not accepted to a second state where the page request is accepted based on receiving the data call termination request.
In another embodiment, the first state comprises at least one of the following: mobile station origination attempt substate, page response substate, and update overhead information sub state.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a method of communicating in a wireless network. The method includes receiving, at a first unit, an indication of a pending voice call from a second unit. The method further includes transmitting, by the first unit, a data call termination request to a third unit based on the received indication.
In an embodiment, the data call termination request is configured to cause a recipient of the data call termination request to wait for a period of time before attempting to place a data call based on receipt of the data call termination request.
In another embodiment, the method further includes transmitting a page request for the pending voice call during the time period to the recipient.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a wireless device. The wireless device includes a receiver configured to receive a data call termination request. The wireless device further includes a processor configured to wait for a time period before attempting to place a data call based on receipt of the data call termination request.
In one embodiment, the receiver is further configured to receive a page request for a voice call during the time period, and the processor is further configured to accept the voice call.
In another embodiment, the wireless network comprises a code division multiple access network and wherein the data call termination request comprises a release order.
In another embodiment, the processor is further configured to transition from a first state where a page request is not accepted to a second state where the page request is accepted based on receiving the data call termination request
Another innovative aspect of the subject matter described in this disclosure can be implemented in a wireless device. The wireless device includes a receiver configured to receive an indication of a pending voice call. The wireless device further includes a transmitter configured to transmit a data call termination request based on the received indication.
In one embodiment, the data call termination request is configured to cause a recipient of the data call termination request to wait for a period of time before attempting to place a data call based on receipt of the data call termination request.
In another embodiment, the transmitter is further configured to transmit a page request for the pending voice call during the time period to the recipient.
Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus. The apparatus includes means for receiving a data call termination request. The apparatus further includes means for waiting for a time period before attempting to place a data call based on receipt of the call termination request.
Another innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus. The apparatus includes means for receiving an indication of a pending voice call. The apparatus further includes means for transmitting a data call termination request based on the received indication.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium. The medium includes code that, when executed by one or more processors, causes an apparatus to receive a data call termination request; and wait for a time period before attempting to place a data call based on receipt of the call termination request.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer-readable medium. The medium includes code that, when executed by one or more processors, causes an apparatus to receive an indication of a pending voice call; and transmit a data call termination request based on the received indication.
Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.
The following detailed description is directed to certain implementations for the purposes of describing the innovative aspects. However, the teachings herein can be applied in a multitude of different ways. The described implementations may be implemented in any devices that are configured to communicate in a wireless communications network, including devices configured to communicate in both voice calls and data calls. More particularly, it is contemplated that the implementations may be included in or associated with a variety of wireless communication devices such as, but not limited to, mobile telephones, multimedia Internet enabled cellular telephones, wireless devices, smartphones, Bluetooth® devices, personal data assistants (PDAs), hand-held or portable computers, netbooks, notebooks, smartbooks, tablets, and a variety of electronic devices. The teachings herein also can be used in other applications. Thus, the teachings are not intended to be limited to the implementations depicted solely in the Figures, but instead have wide applicability as will be readily apparent to a person having ordinary skill in the art.
The techniques described herein may be used for various wireless communication networks such as Code Division Multiple Access (CDMA) networks, Time Division Multiple Access (TDMA) networks, Frequency Division Multiple Access (FDMA) networks, Orthogonal FDMA (OFDMA) networks, Single-Carrier FDMA (SC-FDMA) networks, etc. The terms “networks” and “systems” are often used interchangeably. A CDMA network may implement a radio technology such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband-CDMA (W-CDMA) and Low Chip Rate (LCR). cdma2000 covers IS-2000, IS-95 and IS-856 standards. A TDMA network may implement a radio technology such as Global System for Mobile Communications (GSM). An OFDMA network may implement a radio technology such as Evolved UTRA (E-UTRA), IEEE 802.11, IEEE 802.16, IEEE 802.20, Flash-OFDM, etc. UTRA, E-UTRA, and GSM are part of Universal Mobile Telecommunication System (UMTS). Long Term Evolution (LTE) is an upcoming release of UMTS that uses E-UTRA. UTRA, E-UTRA, GSM, UMTS and LTE are described in documents from an organization named “3rd Generation Partnership Project” (3GPP). cdma2000 is described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2). These various radio technologies and standards, and others, are known in the art. The discussion herein will primarily focus on CDMA networks described in documents from 3GPP2. In particular, the discussion herein will primarily focus on 1× data calls and voice calls placed in CDMA networks as described in documents from 3GPP2. However, the same ideas may apply to other wireless access network technologies.
As discussed above, some wireless communication devices may only be capable of engaging in one of a voice call or a data call at a time, and may be unable to simultaneously engage in a voice call and a data call. Such a wireless communication device may originate a data call, such as a 1× data call. The wireless communication device may subsequently receive a page indicating that there is a voice call pending for the wireless device before the data call is established. It may be desirable for the voice call to take precedence over a data call since it is often the case that a voice call may be more time sensitive. Since the wireless communication device can communicate in only one of a voice call or a data call at a time, described herein are systems and methods for ensuring the voice call takes precedence and is established even when the wireless communication device is originating a data call.
The devices that communicate in the wireless communication network 100 may include one or more base stations (BS) 104, and one or more mobile stations (MS) 102.
A communication link that facilitates transmission from the BS 104 to one or more MSs 102 may be referred to as a downlink (DL), forward link, or a forward channel. A communication link that facilitates transmission from one or more MSs 102 to the BS 104 may be referred to as an uplink (UL), reverse link, or a reverse channel.
The BS 104 may provide wireless communication coverage to the MS 102 in a coverage area (e.g., a geographical area). A MS 102 may be associated with the BS 104 and use the BS 104 to facilitate wireless communication with other devices in the wireless communication network 100. For example, the MS 102 may transmit or receive traffic to or from the BS 104. The BS 104 may in turn relay the traffic to other devices in the wireless communication network 100. For example, the BS 104 may relay the traffic to a mobile switch center (MSC), not shown, that in turn relays the traffic from the BS 104 to other BSs, which in turn may relay the traffic to other MSs 102. As would be known by one of ordinary skill in the art, other devices may facilitate communication between MSs 102. Accordingly, MSs 102 may communicate with each other.
The processor can serve to control operation of the wireless device 202. The processor 205 may also be referred to as a central processing unit (CPU). The memory 210 serves to provide instructions and data to the processor 205. The memory 210 can include read-only memory (ROM) and/or random access memory (RAM). A portion of the memory 210 can also include non-volatile random access memory (NVRAM). The processor 205 can perform logical and arithmetic operations based on program instructions stored within the memory 210. The instructions in the memory 210 can be executable to implement the methods described herein.
In various embodiments, the processor 205 can comprise or be a component of a processing system implemented with one or more processors. The one or more processors can be implemented with any combination of general-purpose microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate array (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, dedicated hardware finite state machines, or any other suitable entities that may perform calculations or other manipulations of information.
The processing system may also include machine-readable media for storing software. Software shall be construed broadly to mean any type of instructions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Instructions may include code (e.g., in source code format, binary code format, executable code format, or any other suitable format of code). The instructions, when executed by the one or more processors, cause the processing system to perform the various functions described herein.
The radio interface 220 can include one or more WiFi radios, one or more Bluetooth® radios, one or more cellular radios (for example, a CDMA radio), etc. In various embodiments, the radio interface 220 can transmit and receive data via the antenna 250 to other devices capable of wireless communication.
The user interface 230 can include, for example, a display, a proximity detector, one or more input buttons, a microphone, a speaker, and/or an interface port (for example, a Universal Serial Bus (USB) port, a High-Definition Multimedia Interface (HDMI) port, etc.). The display can include a touchscreen. The user interface 230 can include any element or component that conveys information to a user of the wireless device 220 and/or receives input from the user.
In the illustrated embodiment, various components of the wireless device 202 are coupled together by a bus system 290. The bus system 290 can include a data bus, for example, as well as a power bus, a control signal bus, and a status signal bus in addition to the data bus. Those of skill in the art will appreciate the components of the wireless device 202 may be coupled together or accept or provide inputs to each other using some other mechanism.
Although a number of separate components are illustrated in
In one example of system operation, the MS 102 may have data to send to another device. Accordingly, the MS 102 may originate a data call (e.g., a 1× data call) by sending a data call origination request (e.g., a service option message) to the BS 104 as shown at 302. In response to the data call origination request, the BS 104 may transmit an acknowledgment (ACK) to the MS 102 indicating receipt of the data call origination request as shown at 304. Continuing, the BS 104 may send a request message (e.g., a service request) to the MSC to request the MS 102 to setup the data call as shown at 306. The MSC may respond with an assignment request message to the BS 104 to request a communication channel be assigned by the BS 104 to the MS 102 for communication between the BS 104 and the MS 102 as shown at 308. The BS 104 may send a channel assignment message to the MS 102 to initiate establishment of a radio traffic channel with the MS 102 as shown at 310. Once channel assignment is completed, the BS 104 may send an assignment complete message to the MSC as shown at 312. The MS 102 may then communicate in the data call. As would be understood by one of ordinary skill in the art, other devices and/or signals may be involved in establishing a data call in embodiments or examples other than those described with respect to
In this example, in
Such a situation as described with respect to
As in
In further implementations, the BS 104 may be configured to transmit a release order before transmitting a page request to the MS 102 whenever there is a voice call pending for the MS 102, regardless of the state of the MS 102. For example, the MS 102 may be in a state other than a mobile station origination attempt substate, where the MS 102 is also configured to ignore page requests, such as a page response substate or an update overhead information substate entered in response to a page response or origination indication. Accordingly, the MS 102, upon receiving the release order, enters a state where the MS 102 accepts page requests. The MS 102 further waits for a period of time sufficient to allow the BS 104 to transmit a page request to the MS 102 before the MS 102 transitions back to a state where the MS 102 ignores page requests. Accordingly, the MS 102 is ensured to receive the page request regardless of the state of the MS 102 before the release order is received.
At a block 605, the BS 104 may receive, such as from the MSC, an indication that there is a voice call pending for the MS 102. Further, at a block 610, the BS 104 may transmit a release order to the MS 102. Continuing, at a block 615, the MS 102 may transition to a state where the MS 102 accepts page requests and wait for a period of time based on the receipt of the release order before transitioning to a state where the MS 102 does not accept page requests. In one example, the period of time may be based on an estimated period of time (e.g., 1, 2, or more time slots) that the BS 104 will take to transmit a page request after the release order. At block 620, the BS 104 may transmit a page request to the MS 102. At block 625, the MS 102, which is in a state where the MS 102 accepts page requests, accepts the page request and may continue with establishment of the voice call.
The various illustrative logics, logical blocks, modules, circuits and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and steps described above. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system.
The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular steps and methods may be performed by circuitry that is specific to a given function.
In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or in any combination thereof. Implementations of the subject matter described in this specification also can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus.
Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein. The word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
Certain features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict one more example processes in the form of a flow diagram. However, other operations that are not depicted can be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.