Call continuity for tethered computing devices
Patent Information
- Application Number
- PCT/US2023/026492
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2025-01-02
Smart Images

Figure US2023026492_02012025_PF_FP_ABST
Abstract
Description
CALL CONTINUITY FOR TETHERED COMPUTING DEVICESBACKGROUND
[0001] A computing device, such as a smartphone, may connect to a wireless wide area network, such as a wireless cellular network, to make and receive calls, send and receive texts, and access the Internet via the wireless wide area network. Devices that do not include the necessary’ hardware to connect to a wireless wide area network and devices that do have such hardware turned off may tether to another device that is capable of connecting to a wireless wide area network in order to use the wireless wide area network to place and receive calls. Typically, a device may tether to another device that is capable of connecting to a wireless wide area network via short-range communication, such as BLUETOOTH or WiFi, in order to access the wireless wide area network. Such a device that tethers to another device that is capable of connecting to a wireless network may be required to stay within short-range communication range of the device to which it is tethered in order to use the device with which it is tethered to communicate with the wireless wide area network.SUMMARY
[0002] In general, the techniques of this disclosure are directed to techniques for enabling a first computing device, such as a smartwatch, that places or receives a call by being tethered to a second computing device, such as a smartphone, that is connected to a wireless wide area network to be able to continue the call when the first computing device is no longer tethered to the second computing device. When the first computing device is in a call with a remote computing device, the second computing device anchors the call by passing telephony data associated with the call between the first computing device and the wireless wide area network.
[0003] In accordance wuth one or more aspects of this disclosure, while the first computing device is in the call with the remote computing device, the second computing device may detect that the first computing device is no longer tethered to the second computing device. For example, the first computing device may lose a wireless tethering connection to the second computing device by moving out of range of the wireless tethering connection. When the second computing device determines that the first computing device is no longer tethered to the second computing device during the call, the second computing device may conference tlie first computing device into the call, which may enable the first computing device toconnect, via a network connection such as a Wi-Fi Internet connection, to a network operator system associated with the wireless wide area network to re-join the call. In this way, the techniques of this disclosure may improve the reliability of a computing device that makes or receives a call via a wireless tethering connection by not dropping the call when the computing device loses the wireless tethering connection and may enable the computing device to re-join a call using techniques that conform to current telecommunication standards while avoiding technical issues with tearing down and re-building the call.
[0004] In some aspects, the techniques described herein relate to a method including: anchoring, by one or more processors of a first computing device, a call between a remote computing device and a second computing device tethered to the first computing device via a local wireless tether connection; detecting, by the one or more processors, an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiating, by the one or more processors, a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the first computing device.
[0005] In some aspects, the techniques described herein relate to a computing device including: a memory that stores instructions; and one or more processors that execute the instractions to: anchor a call between a remote computing device and a second computing device tethered to the computing device via a local wireless tether connection; detect an occurrence of a tethering termination event of tire local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiate a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the computing device.
[0006] In some aspects, the techniques described herein relate to a non-transitory computer- readable storage medium including instractions that, when executed, cause one or more processors of a computing device to: anchor a call between a remote computing device and a second computing device tethered to the computing device via a local wireless tether connection; detect an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiate a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to tire computing device.
[0007] The details of one or more examples are set forth in the accompanying drawings and the description below'. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF DRAWINGS
[0008] FIG. 1 is a conceptual diagram illustrating an example environment for performing call continuity for computing devices, in accordance with one or more aspects of the present disclosure.
[0009] FIG. 2 is a block diagram illustrating further details of an example computing device, in accordance with one or more aspects of the present disclosure.
[0010] FIG. 3 is a sequence diagram that illustrates an example process for a first example computing device to enable the continuity of a telephone call by a second example computing device tethered to the first example computing device, in accordance with aspects of the present disclosure.
[0011] FIG. 4 is a flowchart illustrating example operations performed by an example computing device that is configured to perform call continuity, in accordance with one or more aspects of the present disclosure.DETAILED DESCRIPTION
[0012] FIG. 1 is a conceptual diagram illustrating an example environment for performing call continuity for computing devices, in accordance with one or more aspects of the present disclosure. In the example of FIG. 1 , environment 100 may include computing device 102 that connects to wireless wide area network 132 and computing device 110 that tethers to computing device 102 via local wireless tether connection 108 to place and receive calls to and more remote communication devices, such as remote computing device 136, over wireless wide area network 132 via local wireless tether connection 108.
[0013] The calls placed and received by computing device 110 may, in some examples, comply with standards set out by the 3’aGeneration Partnership Project (3GPP) and / or IP Multimedia Subsystem (IMS). In particular, computing device 110 may place and receive phone calls using utilize IMS and Session Initiation Protocol (SIP) according to the standards set out by 3GPP. Examples of calls placed and received by computing device 110 may include a voice call such as a telephone call or a Voice over Internet Protocol (VoIP) call, a video call such as a videoconferencing call, a real-time mixed reality session, a real-time augmented reality session, a media call, or any other calls between two or more devices.
[0014] As shown in FIG. 1, each of computing device 102 and computing device 110 may represent an individual mobile or non-mobile computing device. Examples of computingdevice 102 and / or computing device 1 10 include a mobile phone, a tablet computer, a laptop computer, a desktop computer, a server, a mainframe, a set-top box, a television, a wearable device (e.g., a computerized watch, computerized eyewear, computerized headphones, computerized gloves, etc.), a home automation device or system (e.g., an intelligent thermostat or home assistant device), a personal digital assistant (PDA), a gaming system, a media player, an e-book reader, a mobile television platform, an automobile navigation or infotainment system, or any other type of mobile, non-mobile, wearable, and non-wearable computing device.
[0015] Computing device 102 may communicate with network operator system 134 to place and receive calls to and from remote communication devices. Network operator system 134 may implement an IP Multimedia Subsystem (IMS) that manages call sessions, including call routing, authentication and billing. The IMS implemented by network operator system 134 may also act as a Session Initiation Protocol (SIP) server that uses SIP to perform call setup and teardown functions and to perform signaling and messaging protocols used for calls between computing devices (e.g., computing device 102, computing device 1 10, and / or remote computing device 136) that communicate with network operator system 134.Examples of network operator system 134 may include any suitable computing system, such as one or more desktop computers, laptop computers, mainframes, servers, cloud computing systems, and the like.
[0016] Network operator system 134 may be associated with wireless wide area network 132. For example, network operator system 134 may be part of and / or implemented by the core network of wireless wide area network 132, and network operator system 134 may implement the functionality of an Evolved Packet (EPG) core or a System Architecture Evolution (SAE) core to handle communication between devices connected to wireless wide area network 132 and devices connected to networks external to wireless wide area network 132.
[0017] Wireless wide area network 132 may be any suitable network that covers a large geographical area via any suitable technology. In some examples, wireless wide area network 132 is a satellite-based network, which is a communication network that uses a network of satellites in orbit to transmit data to and from users on the ground. In some examples, wireless wide area network 132 is a Free-Space Optical Communication (FSOC) network, which uses lasers to transmit data over a distance. In some examples, wireless wide area network 132 is a wireless cellular network, A wireless cellular network is a communication network that uses radio waves to communicate between nodes. A wireless cellular network may be composed of cells, each of which may be served by one or more base stations thatsends and receives radio signals for transmission of voice, data, and other forms of communication.
[0018] Computing device 102 may connect to wireless wide area network 132 in order to communicate with network operator system 134. In the example where wireless '.s ide area network 132 is a wireless cellular network, computing device 102 may include a cellular modem for connecting to cellular base stations of wireless wide area network 132. In some examples, computing device 102 may also connect to network operator system 134 via network 130. Computing device 1 10 may not include hardware, such as a cellular modem, for connecting to wireless wide area network 132, or may have such hardware for connecting to wireless wide area network 132 turned off, but may be able to connect to network operator system 134 via network 130.
[0019] Network 130 represents public or private communications network, such as Wi-Fi and / or other types of networks other than wireless wide area network 132, for transmitting data between computing systems, servers, and computing devices over the Internet, Network 130 may include one or more network hubs, network switches, network routers, or any other network equipment, that are operatively inter-coupled thereby providing for the exchange of information between computing device 102 and network operator system 134 and between computing device 102 and network operator system 134. Computing device 102 and network operator system 134 as well as computing device 110 and network operator system 134 may transmit and receive data across network 130 using any suitable communication techniques. Each of computing device 102 and wireless wide area network 132 be operatively coupled to network 130 using respective network links, such as Ethernet, Wi-Fi, or any other types of wired and / or wireless network connections.
[0020] In examples where computing device 102 and / or computing device 110 communicates with network operator system 134 via network 130, computing device 102 and / or computing device 1 10 may use an interworking local area network (LAN) to connect to network 130 in order to communicate with network operator system 134. For example, computing device 102 and / or computing device 110 may connect via Wi-Fi to a wireless router that connects to network 130 to communicate with network operator system 134 over network 130.
[0021] As described above, computing device 102 and / or computing device 110 may communicate with network operator system 134 to place and receive calls to and from remote computing devices that also communicate with network operator system 134 to place and receive calls. Such remote computing devices may communicate with network operatorsystem 134 via wireless wide area network 132 or another telephony network, such as one or more Public Switched Telephone Networks (PTSNs), one or more wireless cellular networks, one or more VoIP services, and the like, that are interconnected to enable the remote computing devices to communicate with network operator system 134 to make and receive telephone calls.
[0022] For example, remote computing device 136 represents a device that is connected to network operator system 134 via a telephony network or another network to make and receive calls, such as voice calls and / or video calls. Examples of remote computing device 136 include a kindline telephone, a mobile phone, a tablet computer, a laptop computer, a desktop computer, a satellite phone, or any other type of device that can communicate with network operator system 134.
[0023] Computing device 102 and computing device 110 may each register with network operator system 134. Computing device 102 and computing device computing device 110 may each include a Subscriber Identity Module (SIM), such as an electronic Subscriber Identity Module (eSIM) that includes information for identify computing device 102 and computing device 110. For example, each of computing device computing device 102 and computing device 110 may be associated with an international mobile subscriber identity (IMSI) that uniquely identifies the user of computing devices 1 10, which computing device 102 and computing device 110 may send to network operator system 134 to register and identify computing device computing device 102 and computing device 110.
[0024] By registering with and connecting to wireless wide area network 132, computing device 102 may be able to place and receive calls to and from remote communication devices, such as remote computing device 136, that are connected to network operator system 134. For example, to place a call to remote computing device 136, computing device 102 may place a call via wireless wide area network 132 to a telephone number associated with remote computing device 136. Similarly, remote computing device 136 may place a call to computing device 102 by placing a call to a telephone number associated with computing device 102. Computing device 102 and computing device 110 may be part of a hunt group in which computing device 102 and computing devices 1 10 may share a single telephone number, and calls to that telephone number may be routed to (e.g., ring) both computing device 102 and computing device 110. Thus, if remote computing device 136 places a call to the telephone number shared by both computing device 102 and computing device 110, the call may ring both computing device 102 and computing device 1 10.
[0025] In accordance with aspects of this disclosure, computing device 110 may tether to computing device 102 to use computing device 102 to place and receive calls via wireless wide area network 132. Computing device 110 may, by being tethered to computing device 102, use computing device 102 to connect to wireless wide area network 132 to place and receive calls, such as voice calls, video calls, and the like. Computing device 110 may tether to computing device 102 to use computing device 102 to communicate with wireless wide area network 132. because computing device 1 10 may not include hardware, such as a cellular modem, for connecting to wireless wide area network 132 or because such hardware for connecting to wireless wide area network 132 is turned off. Further, while computing device 110 may include hardware, such as a Wi-Fi radio, for connecting to wireless wide area network 132 via network 130 to perform Wi-Fi calling, Wi-Fi calling may consume more power than tethering to computing device 102 to use computing device 102 to communicate with wireless wide area network 132.
[0026] Computing device 110 and computing device 102 may perform any suitable pairing technique to tether computing device 110 to computing device 102 via local wireless tether connection 108. Local wireless tether connection 108 may be any suitable wireless connection technology that enables computing device 110 to securely communicate with computing device 102. For example, local wireless tether connection 108 may be a short- range wireless connection, such as via a BLUETOOTH connection between computing device 110 and computing device 102. In another example, local wireless tether connection 108 may be a Wi-Fi connection between computing device 110 and computing device 102, such as in the form of a direct W-Fi connection between computing device 110 and computing device 102 and / or a Wi-Fi connection between computing device 110 and computing device 102 via a Wi-Fi router.
[0027] Computing device 110 tethered to computing device 102 via. local wireless tether connection 108 may use computing device 102 to place calls to remote computing devices or to receive calls from remote computing devices. In the example of FIG. 1, computing device computing devices 110 may use computing device 102 to place a call to remote computing device 136 or to receive a call from remote computing device 136.
[0028] For example, computing devices 110 may send, via local wireless tether connection 108, a request to initiate a call with remote computing device 136 to computing device 102, and computing device 102 may forward the request via wireless wide area, network 132 to network operator system 134. When remote computing device 136 accepts the call placed by computing devices 110, computing device 102 may receive, from wireless wide area network132, a indication that the request to initiate the call was successfid, and computing device 102 may forward the indication to computing devices 110 via local wireless tether connection 108 to thereby establish a call between computing device 1 10 and remote computing device 136.
[0029] Similarly, when remote computing device 136 places a call to the telephone number shared by computing device 102 and computing device 110, computing device 102 may receive, via wireless wide area network 132, an invitation to join a call with remote computing device 136, and computing device 136 may forward the invitation to computing device 110. The invitation to join the call may cause both computing device 102 and computing device 110 to ring, and computing device 110 may pick up (i.e., joins) the call to thereby establish a call between computing device 1 10 and remote computing device 136
[0030] Computing device 102 may anchor the call between remote computing device 136 and computing device 110 that is tethered to computing device 102 via local wireless tether connection 108. That is, instead of computing device 110 directly communicating with network operator system 134, such as via network 130, to send and receive telephony data (e.g., voice data and control data) associated with the call, computing device 102 may act as an intermediary between computing device 110 and network operator system 134 to forward telephony data between computing device 110 and network operator system 134.
[0031] For example, computing device 102 may receive, via wireless wide area network 132, telephony data associated with the call from network operator system 134 and may forward the telephony data associated with the call to computing devices 110 via local wireless tether connection 108. Similarly, computing device 102 may receive, via local wireless tether connection 108, telephony data associated with the call sent by computing devices 1 10 and may forward the telephony data associated with the call via wireless wide area network 132 to network operator system 134.
[0032] While anchoring a call between remote computing device 136 and computing device 110 that is tethered to computing device 102 via local wireless tether connection 108, computing device 102 may detect the occurrence of a tethering termination event of local wireless tether connection 108. A tethering termination event may occur when computing device 110 is no longer connected to computing device 102 via the local wireless tether connection 108. For example, a tethering termination event may occur when computing device 110 is out of range of local wireless tether connection 108, such as when computing devices 1 10 moves out of range of local wireless tether connection 108.
[0033] Computing device 102 may detect the occurrence of a tether termination event bydetermining that computing device 102 is no longer able to communicate with computingdevices 110 via local wireless tether connection 108. For example, if computing device 102 does not receive data from computing device 110 via local wireless tether connection 108 for a specified period of time, such as one second, five seconds, ten seconds, and the like, computing device 102 may determine that a tether termination event has occurred. In another example, if computing device 102 does not receive, from computing devices 110 acknowledgements of data sent by computing device 102 via local wireless tether connection 108 to computing devices 110, computing device 102 may determine that a tether termination event has occurred.100341 Computing device 102 may, in response to detecting the occurrence of the tethering termination event, initiate a conference call with computing device 1 10 to enable computing device 1 10 to re-join the call without being tethered to computing device 102. Computing device 102 may continue to receive telephony data associated with the call even after computing devices 110 is no longer tethered to computing device 102. As such, computing device 102 may remain in the call with remote computing device 136 even after computing devices 110 disconnects from the call. Computing device 102 may therefore be able to initiate a conference call with computing device 110 to enable computing device 110 to rejoin the call without being tethered to computing device 102.
[0035] Although computing device 1 10 is not able to communicate with network operator system 134 via the local wireless tether connection with computing device 102 after the occurrence of the tethering termination event, computing device 110 may still be able to communicate with wireless wide area network 132 via network 130. For example, computing device 102 may be able to communicate with wireless wide area network 132 via Voice over Wi-Fi (VoWiFi) over network 130. As such, computing device 110 may, once computing device 110 is no longer tethered to computing device 102 via the local wireless tether connection, be able to re-join the call by communicating with wireless wide area network 132 via network 130.
[0036] Computing device 102 may initiate a conference call with computing devices 110 bysensing a request to network operator system 134 to conference computing devices 110 into the call. For example, computing device 102 may, in response to detecting the occurrence of the tethering termination event, place the call on hold and may, after placing the call on hold, send a request to network operator system 134 to conference computing devices 110 into the call. Network operator system 134 may, in response to receiving the request to conference computing devices 110 into the call, send, via network 130, an invitation to computing devices 110 to conference into the call. Computing devices 110 may, in response to receivingthe invitation to conference into the call, conference into and re-join the call over network 130. Once computing devices 110 has re-joined the call, computing devices 110 may communicate with wireless wide area network 132. via network 130 to send and receive telephony data to and from remote computing device 136 to continue the call with remote computing device 136.
[0037] Once computing devices 110 has re-joined the call, network operator system 134 may send a notification to computing device 102 that computing devices 110 has re-joined the call. Computing device 102 may receive the notification and may determine, based on the notification, that computing devices 110 has re-joined the call. Computing device 102 may, in response to determining that computing devices 110 has re-joined the call, disconnect from the call.
[0038] The techniques of this disclosure enables a first computing device taking part in a call with a remote computing device via a local wireless tether connection to a second computing device to continue taking part in the call even when the first computing devices loses the local wireless tether connection to the second device. By determining that the first computing device is no longer tethered to the second computing device and, in response, conferencing the first computing device back into the call, the techniques of this disclosure may continue to conform to 3GPP / IMS standards while preventing the first computing device from dropping a call when the first computing device loses the local wireless tether connection.Furthermore, enabling the first computing device to continue to take part in the call when the first computing devices loses the local wireless tether connection to the second device may improve the reliability of communications, such as calls, over local wireless tether connections, thereby providing an improvement in the technical field of computer communications .
[0039] FIG. 2 is a block diagram illustrating further details of an example computing device, in accordance -with one or more aspects of the present disclosure. Computing device 202 of FIG. 2 is described below as an example of computing device 102 as illustrated in FIG. 1.
[0040] Computing device 202 of FIG. 2. may be an example of a mobile phone, a tablet computer, a laptop computer, a desktop computer, a server, a mainframe, a set-top box, a television, a wearable device, a home automation device or system, a gaming system, a media player, an e-book reader, a mobile television platform, an automobile navigation or infotainment system, or any other type of mobile, non-mobile, wearable, and non-wearable computing device configured to communicate with a wireless wide area network, such as wireless wide area network 132 as illustrated in FIG. 1. FIG. 2 illustrates only one particularexample of computing device 202, and many other examples of computing device 202 may be used in oilier instances and may include a subset of the components included in example computing device 202 or may include additional components not shown in FIG. 2.
[0041] As shown in the example of FIG . 2, computing device 202 includes user interface component (UIC) 212, one or more processors 240, one or more input components 242, one or more communication units 244, one or more output components 246, and one or more storage components 248. Storage components 248 of computing device 2.02 also include communication module 216.
[0042] Communication channels 250 may interconnect each of the components 240, 212, 244, 246, 242, and 248 for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channels 250 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.
[0043] One or more input components 2.42 of computing device 202 may receive input. Examples of input are tactile, audio, and video inpu t. One or more input components 242 of computing device 202, in one example, includes a presence-sensitive display, touch-sensitive screen, mouse, keyboard, voice responsive system, video camera, microphone or any other type of device for detecting input from a human or machine.
[0044] One or more output components 246 of computing device 202 may generate output. Examples of output are tactile, audio, and video output. One or more output components 2.46 of computing device 202, in one example, includes a presence-sensitive display, sound card, video graphics adapter card, speaker, liquid cry stal display (LCD), organic light-emitting diode (OLED) display, a light field display, haptic motors, linear actuating devices, or any other type of device for generating output to a human or machine.
[0045] One or more communication units 244 of computing device 202. may communicate with external devices via one or more wired and / or wireless networks by transmitting and / or receiving network signals on the one or more networks. Examples of one or more communication units 244 include a network interface card (e.g,, an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device that can send and / or receive information. Other examples of one or more communication units 244 may include short wave radios, cellular data radios, wireless network radios, as well as universal serial bus (USB) controllers.
[0046] UIC 212 of computing device 202 may be hardware that functions as an input and / or output device for computing device 202. For example, UIC 212 may include a displaycomponent, which may be a screen at which information is displayed by UIC 212 and a presence-sensitive input component that may detect an object at and / or near the display component.
[0047] One or more processors 240 may implement functionality and / or execute instructions within computing device 202. For example, one or more processors 240 on computing device 202 may receive and execute instructions stored by storage components 248 that execute the functionality of communication module 216. The instructions executed by one or more processors 240 may cause computing device 202 to store information within storage components 248 during program execution. Examples of one or more processors 240 include application processors, display controllers, sensor hubs, and any other hardware configured to function as a processing unit. One or more processors 240 may execute instructions of communication module 216 to perform actions or functions. That is, communication module 216 may be operable by one or more processors 240 to perform various actions or functions of computing device 202.
[0048] One or more storage components 248 within computing device 202 may store information for processing during operation of computing device 202. That is, computing device 202 may store data accessed by communication module 216 during execution at computing device 2.02, In some examples, storage component 248 is a temporary memory, meaning that a primary purpose of storage component 248 is not long-term storage. Storage components 248 on computing device 202 may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories known in the art.
[0049] Storage components 248, in some examples, also include one or more computer- readable storage media. Storage components 248 may be configured to store larger amounts of information than volatile memory. Storage components 248 may further be configured for long-term storage of information as non-volatile memory’ space and retain information after power on / off cycles. Examples of non-volatile memories include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage components 248 may store program instructions and / or information (e.g., data) associated with communication module 216.
[0050] One or more processors 240 are configured to execute communication module 216 to connect to a wireless wide area network.
[0051] One or more processors 240 are configured to execute communication module 216 to form a local wireless tether connection with another computing device (e.g., computing device 110 shown in FIG. 1) to tether the other computing device to computing device 202. Computing device 202 and the computing device with which computing device 202 forms a local wireless tether connection may be part of a hunt group, such that computing device 202 and the computing device tethered to computing device 202 may share a single telephone number, and calls to that telephone number may be routed to (e.g., ring) both computing device 202 and the computing device tethered to computing device 202.
[0052] Communication module 216 may be configured to perform any suitable pairing technique to tether another computing device to computing device 202. The local wireless tether connection may be any suitable wireless connection technology that enables computing device 202 to communicate with another device. For example, the local wireless tether connection may be a short-range wireless connection, such as via a BLUETOOTH connection. In another example, the wireless tether connection may be a Wi-Fi connection, such as in the form of a direct W-Fi connection and / or a Wi-Fi connection via a Wi-Fi router.
[0053] One or more processors 240 are configured to execute communication module 216 to anchor a call between a remote computing device and a computing device tethered to computing device 202 via the iocai wireless tether connection. That is, instead of a computing device directly communicating with a network operator system 134 to send and receive telephony data (e.g., voice data and control data) associated with the call, the computing device may tether to computing device 202 and may use computing device 202 to act as an intermediary between the computing device and a network operator system to forward telephony data between the computing device and the network operator system,
[0054] A computing device tethered to computing device 202 may use computing device 202 to communicate with a wireless wide area network to place and receive calls, such as voice calls, video calls, and the like. For example, communication module 216 may be configured to receive, from a computing device tethered to computing device 202, a request to initiate a call with a remote computing device, and communication module 216 may be configured to forward the request via a wireless wide area network to a network operator system. When the remote computing system accepts the call, communication module 216 may be configured to receive, via the wireless wide area network, an indication that the request to initiate the call was successful, and communication module 216 may be configured to forward the indicationto the computing device tethered to computing device 202 to thereby establish a call between the computing device tethered to computing device 202 and the remote computing device.
[0055] Similarly, when a remote computing device places a call to the telephone number shared by computing device 202 and a computing device tethered to computing device 202, communication module 216 may be configured to receive, via a wireless wide area network, an invitation to join a call with the remote computing device, and communication module 216 may be configured to forward the invitation to the computing device tethered to computing device 202. The invitation to join the call may cause both computing device 202 and the computing device tethered to computing device 202 to ring, and the computing device tethered to computing device 202 may pick up (i.e., joins) the call to thereby establish a call between the remote computing device and the computing device tethered to computing device 202.
[0056] One or more processors 240 may therefore be configured to execute communication module 216 to tether a call between the remote computing device and the computing device tethered to computing device 202. For example, communication module 216 may be configmed to receive, via a wireless wide area network, telephony data associated with the call from a network operator system, and communication module 216 may be configured to forward the telephony data associated with the call to the computing device tethered to computing device 202 via the local wireless tether connection. Similarly, communication module 216 may be configured to receive, via the local wireless tether connection, telephony data associated with the call sent by the computing devices tethered to computing device 202, and communication module 216 may be configured to forward the telephony data associated with the call via the wireless wide area network to the network operator system.
[0057] One or more processors 240 may be configured to execute communication module 216 to, while anchoring a call between a remote computing device and a computing device tethered to computing device 202, detect the occurrence of a tethering termination event of the local wireless tether connection. Communication module 216 may be configured to detect the occurrence of a tether termination event by determining that computing device 202 is no longer able to communicate, via the local wireless tether connection, with a computing device that was previously tethered to computing device 202. For example, communication module 216 may be configured to determine that computing device 202 has not received data from the tethered computing device for a specified period of time, such as one second, five seconds, ten seconds, and the like, and may be configured to, in response to determining thatcomputing device 202 has not received data from the tethered computing device for the specified period of time, determine that a tether termination event has occurred.
[0058] One or more processors 240 may be configured to execute communication module 216 to, in response to detecting the occurrence of the tethering termination even t, initiate a conference call with the previously-tethered computing device to enable the previously- tethered computing device to re-join the call without being tethered to computing device 202. Computing device 202 may continue to receive telephony data associated with the call even after the previously-tethered computing devices is no longer tethered to computing device 202. As such, computing device 2-2 may remain in the call even after the previously-tethered computing device disconnects from the call. Computing device 202 may therefore be able to initiate a conference call with the previously-tethered computing device to enable the previously-tethered computing device to re-join the call without being tethered to computing device 202.
[0059] One or more processors 240 may be configured to execute communication module 216 to initiate a conference call with the previously-tethered computing devices by sensing a request to the network operator system to conference the previously-tethered computing device computing devices into the call. For example, communication module 216 is configured to, in response to detecting the occurrence of the tethering termination event, place the call on hold and to, after placing the call on hold, send a request to the network operator system to conference the previously-tethered computing devices into the call.
[0060] Once the previously-tethered computing device has re-joined the call, the network operator system may send a notification to computing device 202 that the computing device has re-joined the call. One or more processors 240 may be configured to execute communication module 216 to receive the notification and may determine, based on the notification, that the computing devices has re-joined the call and to, in response to determining that the computing devices has re-joined the call, disconnect from the call.
[0061] FIG. 3 is a sequence diagram that illustrates an example process for a first example computing device to enable the continuity of a telephone call by a second example computing device tethered to the first example computing device, in accordance with aspects of the present disclosure. As illustrated in FIG. 3, the systems and devices described in this disclosure may communicate using Session Initiation Protocol (SIP) to initiate, maintain, transfer, and terminate communication sessions,
[0062] As shown in FIG. 3, computing device 302, which is an example of computing device 102 shown in FIG. 1, may send a REGISTRATION message (356) to network operatorsystem 334, which is an example of network operator system 134 shown in FIG. 1, to register computing device 302 with network operator system 334. For example, computing device 302 may send the REGISTRATION message via a wireless wide area network, such as a wireless cellular network, to network operator system 334 to indicate to network operator system 334 that network operator system 334 may communicate with computing device 302 via the wireless wide area network. For example, computing device 310 may disconnect from a wireless wide area network, such as a wireless cellular radio, such as by turning off computing device 310’s cellular radio. After disconnecting from the wireless wide area network, computing device 310 may connect to the Internet via an interworking local area network (LAN), such as by connecting, via Wi-Fi, to a Wi-Fi router to the Internet to communicate with network operator system 334. Computing device 310 may therefore send, via an interworking LAN and the Internet, the REGISTRATION message to network operator system 334 to indicate to network operator system 334 that network operator system 334 may communicate with computing device 310 over the Internet and the interworking LAN. Network operator system 334 may, in response, accept the REGISTRATION message and may send a 200 OK message (358) to computing device 302 to confinn receipt of the REGISTRATION message.
[0063] Computing device 310 may tether to computing device 302 to share computing device 302’s connection to the wireless wide area network, so that computing device 310 may be able to communicate with network operator system 334 via computing device 302’s connection to the wi reless wide area network. Remote computing device 336, which is an example of remote computing device 136 shown in FIG. 1 , may place a call to a telephone number shared by computing device 302 and computing device 310 that is tethered to computing device 302. To place the call, remote computing device 336 may send an INVITE message (360) to network operator system 334, which is an example of network operator system 134 shown in FIG . 1, to initiate a call between remote computing device 336 and one or more computing devices associated with the telephone number that remote computing device 336 is calling.
[0064] Because computing device 302 and computing device 310 share the same telephone number being called by remote computing device 336, network operator system 334 may, in response to receiving the IN VITE message from remote computing device 336, send an INVITE message (362) to computing device 302 and also send an INVITE message (364) to computing device 310. As computing device 302 communicates with network operator system 334 via a wireless wide area network, such as a wireless cellular network, networkoperator system 334 may send the INVITE message to computing device 302 over the wireless wide area network. Further, because computing device 310 is tethered to computing device 302 to use computing device 302 to communicate with network operator system 334 via a wireless wide area network, network operator system 334 may send the INVITE message to computing device 310 by sending the INVITE message over the wireless wide area network to computing device 302, and computing device 302 may forward the INVITE message to computing device 310 over a local wireless tether connection.
[0065] If computing device 310 accepts the call from remote computing device 336, network operator system 334 may establish a call between computing device 310 and remote computing device 336 (366). Remote computing device 336 may send telephony data associated with the call, such as voice data and control data, to network operator system 334, and network operator system 334 may forward the telephony data to computing device 310 via computing device 302. Similarly, computing device computing device 310 may send telephony data associated with the call to network operator system 334 via computing device 302, and network operator system 334 may forward the telephony data to remote computing device 336.
[0066] While computing device 310 is in the call with remote computing device 336, computing device 302 may detect a tethering termination event of the local wireless tether connection between computing device 302 and computing device 310. Computing device 302 may, m response to detecting the tethering termination event, conference computing device 310 into the call to enable computing device 310 to re-join the call. Computing device 302 may send a re-TNVITE message (368) to network operator system 334 to request that network operator system 334 place the call on hold and network operator system 334 may, in response, accept the request to place the call on hold and may send a 200 OK message (370) to computing device 302 to confirm that the call has been placed on hold. Computing device 302 may send a REFER message (372) to network operator system 334 to request network operator system 334 to conference computing device 310 into the call. Network operator system 334 may, in response to receiving the REFER message, send a 202 ACCEPT message (374) to computing device 302 to indicate that the request to conference computing device 310 into the call has been accepted and may send a NOTIFY message with a 200 OK response code (375) to computing device 302 to notify computing device 302 that network operator system 334 is actively trying to processing the request. Computing device 302. may, in response to receiving the REFER message and the NOTIFY message from networkoperator system 334, acknowledge the REFER message and the NOTIFY message by sending a 200 OK message (376) to network operator system 334.
[0067] Network operator system 334 may conference computing device 310 into the call bysending an INVITE message (378) to computing device 310 to invite computing device 310 to conference into the call. Because computing device 310 has previously registered with network operator system 334 via the Internet (e.g., over Wi-Fi), network operator system 344 may send the INVITE message to computing device 310 over the Internet that computing device 310 may receive via a Wi-Fi connection to a wireless router.[00681 Computing device 310 may, in response to receiving the INVITE message to invite computing device 310 to conference into the call, accept the invitation and conference into the call by sending a 200 OK message (380) to network operator system 334, such as bysending the message via Wi-Fi over the Internet to network operator system 334. Network operator system 334 may, in response to receiving the 200 OK message from computing device 310, send an ACK message (382) to computing device 310 to acknowledge the 2.00 OK message sent by computing device 310.
[0069] After computing device 310 has conferenced into the call, network operator system 334 may send a NOTIFY message with a 200 OK response code (384) to computing device 302 to notify computing device 302 that computing device 310 has re-joined the call.Computing device 302 may, in response to receiving the message, send a 200 OK message (386) to network operator system 334 to acknowledge the notification. Computing device 302 may therefore send a BYE message (388) to network operator system 334 to disconnect from the call and network operator system 334 may send an OK message (390) to computing device 302 to acknowledge that computing device 302 is disconnectingthe < :all.Network operator system 334 may therefore enable remote computing device 336 and computing device 310 to continue the call (392),
[0070] FIG. 4 is a flowchart illustrating example operations performed by an example computing device that is configured to perform call continuity , in accordance with one or more aspects of the present disclosure. FIG. 4 is described below in the context of environment 100 of FIG. 1 and computing device 202 of FIG. 2.
[0071] As shown in FIG. 4, one or more processors 240 of a first computing device 202 mayanchor a call between remote computing device 136 and a second computing device 110 tethered to the first computing device 202 via a local wireless tether connection 108 (402). In some examples, In some examples, the call is a 3GPP / IMS standard compliant phone call. In some examples, the first computing device 202 and the second computing device 110 are in ahunt group and may share the same telephone number. In some examples, the local -wireless tether connection 108 is a Wi-Fi or BLUETOOTH connection.
[0072] Computing device 110 may use local wireless tether connection 108 to place a call to remote computing device 136 or to receive a call from remote computing device 136. One or more processors 240 may receive telephony data associated with the call sent by the remote computing device 136, such as by receiving, via wireless wide area network 132, the telephony data associated with the call sent by the remote computing device 136, and may forward, via the local wireless tether connection 108, the telephony data associated with the call to the second computing device 110.
[0073] One or more processors 240 of computing device 202 may detect an occurrence of a tethering termination event of the local wireless tether connection 108 (404). For example, one or more processors 240 may detect that the second computing device 110 is no longer tethered to the first computing device 202.
[0074] One or more processors 240 of computing device 202 may, in response to detecting the occurrence of the tethering termination event, initiate a conference call -with the second computing device 110 to enable the second computing device 110 to re-join the call without being tethered to the first computing device 202 (406). For example, one or more processors 240 may send, to an IP Multimedia Subsystem (IMS), which may be implemented by network operator system 134, a request to conference the second computing device 110 into the call in order to initiate the conference call with the second computing device 110 to enable the second computing device 110 to re-join the call via Voice over Wi-Fi (VoWiFi).
[0075] To initiate the conference call -with the second computing device 110, one or more processors 240 may place the call on hold. One or more processors 240 may, after placing the call on hold, initiate the conference call with the second computing device 110. One or more processors 240 may determine that the second computing device 110 has re-joined the call and may, in response to determining that the second computing device 1 10 has re-joined the call, disconnect the first computing device 202 from the call.
[0076] Aspects of this disclosure include the following examples.
[0077] Example 1 . A method comprising: anchoring, by one or more processors of a first computing device, a call between a remote computing device and a second computing device tethered to tire first computing device via a local wireless tether connection; detecting, by the one or more processors, an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiating, by the one or more processors, a conference call with the second computingdevice to enable the second computing device to re-join the call without being tethered to the first computing device.
[0078] Example 2, The method of example 1 , wherein detecting the occurren ce of the tethering termination event further comprises: detecting, by the one or more processors, that the second computing device is no longer tethered to the first computing device.
[0079] Example 3. The method of any of examples 1 and 2, wherein anchoring the call further comprises: receiving, by the one or more processors, telephony data associated with the call sent by the remote computing device; and forwarding, by the one or more processors and via the local wireless tether connection, the telephony data associated with the call to the second computing device.
[0080] Example 4. The method of example 3, wherein receiving the telephony data associated with the call further comprises: receiving, by the one or more processors and via a wireless cellular network, the telephony data associated with the call sent by the remote computing device.
[0081] Example 5. The method of any of examples 1-3, wherein initiating the conference call with the second computing device further comprises: sending, by the one or more processors to an IP Multimedia Subsystem (IMS), a request to conference the second computing device into the call.
[0082] Example 6. The method of any of examples 1-5, wherein initiating the conference call with the second computing device further comprises: initiating, by the one or more processors, the conference call with the second computing device to enable the second computing device to re-join the call via Voice over Wi-Fi (VoWiFi).
[0083] Example 7. The method of any of examples 1-6, wherein the first computing device and the second computing device are in a hunt group.
[0084] Example 8, The method of any of examples 1-7, wherein initiating the conference call with the second computing device further comprises: placing, by the one or more processors, the call on hold; after placing the call on hold, initiating, by the one or more processors, the conference call with the second computing device; determining, by the one or more processors, that the second computing device has re-joined the call; and in response to determining that the second computing device has re-joined the call, disconnecting, by the one or more processors, the first computing device from the call.
[0085] Example 9, The method of any of examples 1-8, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.
[0086] Example 10. The method of any of examples 1-9, wherein the call is a 3GPP / IMS standard compliant phone call.
[0087] Example 11. A computing device comprising: a memory that stores instractions; and one or more processors that execute the instructions to: anchor a call between a remote computing device and a second computing device tethered to the computing device via a local wireless tether connection; detect an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiate a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the computing device.
[0088] Example 12. The computing device of example 11, wherein the one or more processors that execute the instructions to detect the occurrence of the tethering termination event further execute the instractions to: detect that the second computing device is no longer tethered to the computing device.
[0089] Example 13. The computing device of any of examples 11 and 12, wherein the one or more processors that execute the instructions to anchor the call further execute the instructions to: receive telephony data associated with the call sent by the remote computing device; and forward, via the local wireless tether connection, the telephony data associated with the call to the second computing device.
[0090] Example 14. The computing device of example 13, wherein the one or more processors that execute the instructions to receive the telephony data associated with the call further execute the instructions to: receive, via a wireless cellular network, the telephony data associated with the call sent by the remote computing device.
[0091] Example 15. The computing device of any of examples 11-13, wherein the one or more processors that execute the instructions to initiate the conference call with the second computing device further execute the instructions to: send, to an IP Multimedia Subsystem (IMS), a request to conference the second computing device into the call.
[0092] Example 16. The computing device of any of examples 11-15, wherein the one or more processors that execute the instructions to initiate the conference call with the second computing device further execute the instructions to: initiate the conference call with the second computing device to enable the second computing device to re-join the call via Voice over Wi-Fi (VoWiFi).
[0093] Example 17. The computing device of any of examples 11-16, wherein the computing device and the second computing device are in a hunt group.
[0094] Example 18. The computing device of any of examples 11-17, wherein the one or more processors that execute the instructions to initiate the conference call with the second computing device further execute the instructions to: place the call on hold; after placing the call on hold, initiate the conference call with the second computing device; determine that the second computing device has re-joined the call; and in response to determining that the second computing device has re-joined the call, disconnect the computing device from the call ,
[0095] Example 19. Tire computing device of any of examples 11-18, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.
[0096] Example 20. A non -transitory computer-readable storage medium comprising instructions that, when executed, cause one or more processors of a computing device to: anchor a call between a remote computing device and a second computing device tethered to tire computing device via a local wireless tether connection; detect an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiate a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the computing device.
[0097] By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that can be used to store desired program code in the form of instractions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer- readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, how ev er, that computer-readable storage mediums and media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to nontransient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of a computer-readable medium .
[0098] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structures or any other structures suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.
[0099] The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit, or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.
[0100] Various embodiments have been described. These and other embodiments are within the scope of the following claims.
Claims
WHAT IS CLAIMED IS:1 . A method comprising: anchoring, by one or more processors of a first computing device, a call between a remote computing device and a second computing device tethered to the first computing device via a local wireless tether connection; detecting, by the one or more processors, an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiating, by the one or more processors, a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the first computing device.
2. The method of claim 1, wherein detecting the occurrence of the tethering termination event further comprises: detecting, by the one or more processors, that the second computing device is no longer tethered to the first computing device.
3. The method of any of claims 1 and 2, wherein anchoring the call further comprises: receiving, by the one or more processors, telephony data associated with the call sent by the remote computing device; and forwarding, by the one or more processors and via the local wireless tether connection, the telephony data associated with the call to the second computing device.
4. The method of claim 3, wherein receiving the telephony data associated with the call further comprises: receiving, by the one or more processors and via a wireless cellular network, the telephony data associated with the call sent by the remote computing device.
5. The method of any of claims 1-3, wherein initiating the conference call with the second computing device further comprises: sending, by the one or more processors to an IP Multimedia Subsystem (IMS), a request to conference the second computing device into the call.
6. The method of any of claims 1-5, wherein initiating the conference call with the second computing device further comprises: initiating, by the one or more processors, the conference call with the second computing device to enable the second computing device to re-join the call via Voice overWi-Fi (VoWiFi).
7. The method of any of claims 1-6, wherein the first computing device and the second computing device are in a hunt group.
8. The method of any of claims 1 -7, w herein initiating the conference call with the second computing device further comprises: placing, by the one or more processors, the call on hold; after placing the call on hold, initiating, by tire one or more processors, the conference call with the second computing device; determining, by the one or more processors, that the second computing device has rejoined the call; and m response to determining that the second computing device has re-joined the call, disconnecting, by the one or more processors, the first computing device from the call ,9. The method of any of claims 1-8, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.
10. The method of any of claims 1-9, wherein the call is a 3GPP / IMS standard compliant phone call.1 1. A computing device comprising: a memory that stores instructions; and one or more processors that execute the instructions to: anchor a call between a remote computing device and a second computing device tethered to the computing device via a local wireless tether connection; detect an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiate a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the computing device.
12. The computing device of claim 11, wherein the one or more processors that execute the instructions to detect the occurrence of the tethering termination event further execute the instructions to: detect that the second computing device is no longer tethered to the computing device.
13. The computing device of any of claims 11 and 12, wherein the one or more processors that execute the instructions to anchor the call further execute the instructions to: receive telephony data associated with the call sent by the remote computing device; and forward, via the local wireless tether connection, the telephony data associated with the call to the second computing device.
14. The computing device of claim 13, wherein the one or more processors that execute the instructions to receive the telephony data associated with the cal! further execute the instructions to: receive, via a wireless cellular network, tire telephony data associated with the call sent by the remote computing device.
15. The computing device of any of claims 11-13, wherein the one or more processors that execute the instructions to initiate the conference call with the second computing de vice further execute the instructions to: send, to an IP Multimedia Subsystem (IMS), a request to conference the second computing device into the call.
16. The computing device of any of claims 11-15, wherein the one or more processors that execute the instructions to initiate the conference call with the second computing device further execute the instructions to: initiate the conference call with the second computing device to enable the second computing device to re-join the call via Voice over Wi-Fi (VoWiFi).
17. The computing device of any of claims 11-16, wherein the computing device and the second computing device are in a hunt group.
18. The computing device of any of claims 1 1-17, wherein the one or more processors that execute the instructions to initiate the conference call with the second computing device further execute the instructions to: place the call on hold; after placing the call on hold, initiate the conference call with the second computing device; determine that the second computing device has re-joined the call; and in response to determining that the second computing device has re-joined the call, disconnect the computing device from the call.
19. The computing device of any of claims 1 1-18, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.
20. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause one or more processors of a computing device to: anchor a call between a remote computing device and a second computing device tethered to the computing device via a local wireless tether connection; detect an occurrence of a tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, initiate a conference call with the second computing device to enable the second computing device to re-join the call without being tethered to the computing device.
Citation Information
Patent Citations
Voice and data continuity between wireless devices
US20170094597A1