Call continuity for tethered computing devices via call parking

EP4767667A1Pending Publication Date: 2026-07-01GOOGLE LLC

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
GOOGLE LLC
Filing Date
2023-10-02
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Existing technologies fail to maintain call continuity when a computing device tethered to a second device loses its wireless connection, leading to call drops.

Method used

Implementing a method where the second computing device detects the loss of tethering and parks the call at a call park server, allowing the first computing device to retrieve and resume the call when it regains connectivity.

Benefits of technology

Ensures call continuity by allowing the computing device to reestablish the call without dropping it, even when the wireless tether is lost, and conforms to current telecommunication standards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2023075696_10042025_PF_FP_ABST
    Figure US2023075696_10042025_PF_FP_ABST
Patent Text Reader

Abstract

A first computing device may anchor a call between a remote computing device and a second, computing device tethered to the first computing device via. a local wireless tether connection. The first computing device may detect an occurrence of a. tethering termination event of the local wireless tether connection. The first computing device may, in response to detecting the occurrence of the tethering termination event, park the call at a call park server to enable the second computing device to resume the call without being tethered to the first computing device.
Need to check novelty before this filing date? Find Prior Art

Description

CALL CONTINUITY FOR TETHERED COMPUTING DEVICES VIA CALLPARKINGBACKGROUND

[0001] A compu ting 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 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 Wi-Fi, 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 with a remote computing device while being tethered to a second computing device, such as a smartphone, that is connected to a wireless wide area network (e.g., a wireless cellular 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 the remote computing device, the second computing device may anchor the call by passing telephony data associated with the call between the first computing device and the wireless wide area network. However, continuity of the call may be dependent on the tether link between the first computing device and the second computing device. For instance, the call may drop (e.g., be terminated) if the tether link between the first computing device and the second computing device is severed. Such call discontinuity may not be desirable.

[0003] In accordance with one or more aspects of this disclosure, while the first compu ting 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 park the call at a call park server. As noted below', by parking the call at a call park server, the second computing device may enable continuity of the call between the remote computing device and the first computing device.

[0004] While the first computing device is in the call with the remote computing device, the first computing device may also detect that the first computing device is no longer tethered to the second computing device. When the first computing device detects that the first computing device is no longer tethered to the second computing device, the first computing device may communicate with the call park server via a network connection, such as a wireless cellular connection or, to retrieve the call parked by the second computing device and to thereby resume the call between the remote computing device and the second computing device. 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 reestablish a call using techniques that conform to current telecommunication standards while avoiding technical issues with tearing down and re- building the call.

[0005] In some aspects, the techniques described herein relate to a method including: connecting, by one or more processors of a first computing device, to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; 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, retrieving, by tire one or more processors, the call that is parked at a call park server by the second computing device to resume the call between the first computing device and the remote computing device.

[0006] In some aspects, the techniques described herein relate to a computing device including: a memory; and one or more processors configured to: connect to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; detect an occurrence of a tethering termmation event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, retrieve the call that is parked at a call park server by the secondcomputing device to resume the call between the computing device and the remote computing device.

[0007] In some aspects, the techniques described herein relate to a computer-readable storage medium storing instructions that, when executed, cause one or more processors of a computing device to: connect to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; 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, retrieve the call that is parked at a call park server by the second computing device to resume the call between the computing device and the remote computing device.

[0008] 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, communicating, by the one or more processors, with a call park server to park the call to enable the second computing device to resume the call without. being tethered to the first computing device.

[0009] In some aspects, the techniques described herein relate to a computing device including: a memory; and one or more processors configured 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, communicate with a call park server to park the call to enable the second computing device to resume the call without being tethered to the computing device.

[0010] In some aspects, the techniques described herein relate to a computer-readable storage medium storing 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 e vent, communicate with a call park server to park the call to enable the second computing device to resume the call without being tethered to the computing device.

[0011] In some aspects, the techniques described herein relate to a method including:anchoring, by a first 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 wi reless tether connection; detecting, by the first one or more processors, an occurrence of a tethering termination event of the local wireless tether connection; in response to detecting the occurrence of the tethering termination event, communicating, by the first one or more processors, with a call park server to park the call to enable the second computing device to resume the call without being tethered to the first computing device; detecting, by second one or more processors of the second computing device, the occurrence of the tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, retrieving, by the second one or more processors, the call that is parked at the call park server by the first computing device to resume the call between the second computing device and the remote computing device.

[0012] 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

[0013] 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.

[0014] 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.

[0015] FIG. 3 is a block diagram illustrating further details of an example computing device, in accordance with one or more aspects of the present disclosure.

[0016] FIGS. 4A and 4B are sequence diagrams that illustrate 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.

[0017] FIG. 5 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.[001 §] FIG. 6 is a flowchart illustrating example operations performed by an example computing device that is configured to perform call continuity, in accordance with one ormore aspects of the present disclosure.DETAILED DESCRIPTION

[0019] 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.

[0020] The calls placed and received by computing device 110 may, in some examples, comply with standards set out by the 3rdGeneration Partnership Project (3GPP) and / or IP Multimedia Subsystem (IMS). In particular, computing device 1 10 may place and receive phone calls using 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.

[0021] 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 computing device 102 and / or computing device 110 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 infotainmen t system, or any other type of mobile, non-mobile, wearable, and non-wearable computing device.

[0022] 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 setupand teardown functions and to perform signaling and messaging protocols used for calls between computing devices (e.g., computing device 102, computing device 110, 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.

[0023] 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.

[0024] 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 that sends and receives radio signals for transmission of voice, data, and other forms of communication.

[0025] Network operator system 134 may include call park server 104, which may be any suitable computer hardware such as mainframes, servers, cloud computing systems, and the like, that implements the call parking feature of an IMS and that communicates with computing devices 102 and 110 to allow computing devices 102 and 110 to put an active call on hold (referred herein as parking a call) and to retrieve the park call. Call park server 104 may park a call by storing call information associated with the call, such as information regarding one or more parties to the call (e.g., the phone number of the party), the call’s direction (e.g., inbound or outbound), the codec and bandwidth of the call, and the like, which may enable a computing device to resume a call with a particular party. Call park server 104 may associate an identifier with each call parked at call park server 104 to enable a computing device to retrieve a call parked at call park server 104 by specifying theidentifier associated with the parked call. Computing devices 102 and 110 may communicate with call park server 104 of network operator system 134 to park calls and / or to retrieve parked calls. Computing devices 102 and 110 may store or otherwise be programmed with the Uniform Resource Identifier (URI) of call park server 104 and may use the URI of call park server 104 to communicate with call park server 104.

[0026] Computing device 102 may connect to wireless wide area network 132 in order to communicate with network operator system 134 and / or call park server 104. In the example where wireless wide area network 132 is a wireless cellular network, computing device 102 may include a cellular modem for connecting, via a wireless cellular connection, to cellular base stations of wireless wide area network 132. In some examples, computing device 102 may also connect to network operator system 134 and / or call park server 104 via network 130.

[0027] In some examples, if computing device 110 does not include hardware, such as a cellular modem, for connecting to wireless wide area network 132, or has such hardware for connecting to wireless wide area network 132 turned off, computing device 110 may be able to connect to network operator system 134 via network 130. In examples where computing device 1 10 includes hardware for connecting to wireless wide area network 132 and has such hardware turned on, computing device 110 may be able to connect to network operator system 134 via wireless wide area network 132.

[0028] 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, computing device 110, and network operator system 134. Computing device 102, 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, computing device 110, and network operator system 134 may 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.

[0029] 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,

[0030] As described above, computing device 102 and / or computing device 1 10 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 operator system 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.

[0031] 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 landline telephone, a mobile phone, a tablet computer, a laptop computer, a desktop computer, a satellite phone, or any other type of devi ce that can communicate with network operator system 134.

[0032] 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 identifying 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.

[0033] By registering with and connecting to wi reless 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 computingdevice 102. Computing device 102 and computing device 110 may be part of a hunt group in which computing device 102 and computing devices 110 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 1 10. 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 110.

[0034] 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 110 may not include hardware, such as a cellular modem, for connecting to wireless wide area network 132 or because computing device 110 has turned off such hardware for connecting to wireless wide area network 132, such as when computing device 110 is in an airplane mode. 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.

[0035] 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.

[0036] 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 device110 may use computing device 102 to place a call to remote computing device 136 or to receive a call from remote computing device 136. 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 network 132, an indication that the request to initiate the call was successful, 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 110 and remote computing device 136.

[0037] 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 tsp (i.e., joins) the call to thereby establish a call between computing device 1 10 and remote computing device 136 [00381 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.[00391 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 110 and may forward the telephony data associated with the call via wireless wide area network 132 to network operator system 134. Computing device 110 may therefore be able to connect to a call with remote computing device 136 via local wireless tether connection 108 with computing device 102 that anchors the call. Computing device 110 may be able to receive, from computing device 102 via local wireless tether connection 108, telephony dataassociated with the call that is received by computing device 102 via wireless wide area network 132, and may send, to computing device 102 via local wireless tether connection108, telephony data that computing device 102 may forward to remote computing device 136 via wireless wide area network 132.

[0040] 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 1 10 is out of range of local wireless tether connection 108, such as when computing devices 110 moves out of range of local wireless tether connection 108.

[0041] Computing device 102 may detect the occurrence of a tether termination event by determining that computing device 102. is no longer able to communicate with computing devices 1 10 via local wireless tether connection 108. For example, if computing device 102 determines that computing device 102 is no longer connected to computing device 110 via local wireless tether connection 108, computing device 1 10 may determine that a tether termination event has occurred. In another 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.

[0042] Computing device 102 may, in response to detecting the occurrence of the tethering termination event, communicate with call park server 104 to park tire call between remote computing device 136 and computing device 110 at call park server 104. Parking the call may place the call on hold or may otherwise make the call inactive without terminating the call . Computing device 102 may send, to park server 104, a request to park the call between remote computing device 136 and computing device 110. Ihe request may include an indication of the parties of the call. For example, the request may include an indication of remote computing device 136, such as an indication of the phone number of remotecomputing device 136. an indication of the UR1 of remote computing device 136, and the like.

[0043] The request may also include an indication of the phone number of computing device 102 and / or a unique identifier associated with computing device 1 10, such as the IMEI (International Mobile Equipment Identity) associated with computing device 110. The request may also include an indication of other details of the call, such as the call's direction (e.g., inbound or outbound) and the call’s media information, such as the codec and bandwidth of the call.[00441 By including an indication of the phone number of computing device 102 and / or a unique identifier associated with computing device 110, the request may enable call park server 104 to associate the phone number of computing device 102 and / or a unique identifier associated with computing device 110 with the parked call. Because computing device 110 is in a hunt group with computing device 102, computing device 110 has the same phone number as computing device 102. As such, only computing device 102 or computing device 110 may be able to determine the phone number of computing device 102 and / or the unique identifier associated with computing device 110 and to send such information to call park server 104 to retrieve the call parked by computing device 102.[00451 Call park server 104 may, in response to receiving the request to park the call between remote computing device 136 and computing device 110, park the call between remote computing device 136 and computing device 110 at call park server 104. To park tire call between remote computing device 136 and computing device 1 10 at call park server 104, call park server 104 may store call information associated with the call between remote computing device 136 and computing device 110 at call park server 104. Such call information may include the details of the call, such as the parties of the call (e.g., the phone number of remote computing device 136 and / or the URI of remote computing device 136), the direction of the call, media information of the call, and the like).

[0046] Call park server 104 may associate the call information of tire call with the phone number of computing device 102 and / or a unique identifier associated with computing device 110, as indicated by the request to park the call. By associating the call information of the call with the phone number of computing device 102 and / or a unique identifier associated with computing device 110, only computing devices, such as computing device 102 and computing device 1 10, that are able to determine the phone number of computing device 102 and / or the unique identifier associated with computing device 110 are able to retrieve the call information of the call from call park server 104, thereby preventing unauthorized devices(e.g., computing devices other than computing devices 102 and 110) from being able to retrieve the call information of the call parked by computing device 102 at call park server 104. Call park server 104 may therefore establish a call with remote computing device 136 to play on-hold music and / or a message indicating that the call between remote computing device 136 and computing device 1 10 has been placed on hold and / or has been parked.

[0047] As computing device 110 is connected to the call with remote computing device 136 via computing device computing device 102. that anchors the call, computing device 1 10 may also detect the occurrence of the tether termination event by determining that computing device 110 is no longer able to communicate with computing devices 102 via local w ire less tether connection 108. For example, if computing device 110 determines that computing device 1 10 is no longer connected to computing device 102 via local wireless tether connection 108, computing device 1 10 may determine that a tether termination event has occurred. In another example, if computing device 110 does not receive data from computing device 102 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 110 may determine that a tether termination event has occurred. In another example, if computing device 110 does not receive, from computing devices 102 acknowledgem ents of data sent by computing device 110 via local wireless tether connection 108 to computing devices 102, computing device 110 may determine that a tether termination event has occurred.

[0048] Computing device 110 may, in response to detecting the occurrence of the tethering termination event, communicate with call park server 104 to retrieve the call with remote computing device 136 that has been parked at call park server 104 and to resume the call with remote computing device 136. If computing device 110 has turned off hardware, such as a cellular radio, for connecting to wireless wide area network 132. while computing device 110 was tethered to computing device 102 via local wireless tether connection 108, computing device 1 10 may, in response to detecting the occurrence of the tethering termination event, turn on the hardware for connecting to wireless wide area network 132. If computing device 110 does not include hardware such as a cellular radio for connecting to wireless wide area network 132, computing device 1 10 may be able to connect to wireless wide area network 132 and network operator system 134 via Voice over Wi-Fi (VoWiFi) over network 130. Computing device 110 may therefore register computing device 110 with network operator system 134, such as by sending the IMSI that uniquely identifies the user of computing device 1 10 to network operator system 134.

[0049] Computing device 110 may send, to call park server 104 via wireless wide area network 132 or network 130, a request to retrieve the call parked by computing device 102. The request sent by computing device 1 10 may include an indication of the phone number of computing device 1 10 and / or an indication of a unique identifier associated with computing device 110, such as the IMEI of computing device 110. Because computing device 110 is in a hunt group with computing device 102, computing device 110 may have the same phone number as computing device 102. Call park server 104 may, in response to receiving the request from computing device 1 10, determine the call information stored at call park server 104 that is associated with the phone number of computing device 110 and / or the unique identifier associated with computing device 1 10, Because computing device 1 10 had previously sent, to call park server 104, a request to park the call between computing device 102 and remote computing device 136 that includes an indication of the phone number of computing device 102 and / or a unique identifier associated with computing device 110, call park server 104 may determine that the call information associated with the phone number of computing device 110 and / or the unique identifier associated with computing device 1 10 is the call information of the call between remote computing device 136 and computing device110 that was parked by computing device 102, and may send, via wireless area network 132 or network 130 to computing device 110, the call information of the call between remote computing device 136 and computing device 110.

[0050] Computing device 110 may receive, from call park server 104 via wireless wide area network 132. or network 130, the call information of the call between remote computing device 136 and computing device 110 and may resume, based on the call information, the call between remote computing device 136 and computing device 110. For example, computing device 110 may determine, based on the call information, the phone number and / or URI of remote computing device 136 and may send, via wireless wide area network 132 or network 130 to remote computing device 136 (e.g., to the phone number and / or the URI of remote computing device 136), a request to resume the call between remote computing device 136 and computing device 1 10. Computing device 1 10 may, in response to remote computing device 136 accepting the request to resume the call between remote computing device 136 and computing device 110, resume the call between remote computing device 136 and computing device 110 via wireless wide area network 132 or network 130.

[0051] 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 that anchors the call to continue taking part in the call even when the first computingdevices loses the local wireless tether connection to the second device. By parking the call in response to determining that the first computing device is no longer tethered to the second computing device to enable the first computing device to retrieve the parked call and to resume 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 device 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.

[0052] 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. FIG. 2 is described with respect to environment 100 of FIG. 1, and computing device 202 of FIG. 2 is described below as an example of computing device 102 as illustrated in FIG. 1.

[0053] 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 particular example of computing device 202, and many other examples of computing device 202 may be used in other 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.

[0054] 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.

[0055] 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.

[0056] One or more input components 242 of computing device 202 may receive input. Examples of input are tactile, audio, and video input. One or more input components 2.42 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.

[0057] One or more output components 2.46 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 crystal 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 outpu t to a human or machine.

[0058] 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.

[8059] UIC 212 of computing device 202. may be hardware that functions as an input and / or output device for computing device 2.02, For example, UIC 212. may include a display component, 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.

[0060] 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 module216 may be operable by one or more processors 240 to perform various actions or functions of computing device 202.

[0061] 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 202. 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.

[0062] 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 componen ts 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.

[0063] One or more processors 240 are configured to execute communication module 216 to connect to a wireless wide area network (e.g., a wireless cellular network), such as wireless wide area network 132, to communicate with network operator system 134. For example, one or more processors 240 are configured to execute communication module 216 to connect, via one or more cellular data radios of one or more communication units 244, to a cellular base station of a wireless cellular network in order to communicate with network operator system 134.

[0064] One or more processors 240 are configured to execute communication module 216 to form a local wireless tether connection with computing device 110 to tether computing device 110 to computing device 202. Computing device 202 and computing device 110 may be part of a hunt group, such that computing device 202 and computing device 1 10 may share a single telephone number, and calls to that telephone number may be routed to (e.g., ring) both computing device 202 and computing device 110.

[0065] Communication module 216 may be configured to perform any suitable pairing technique to tether computing device 110 to computing device 202. lire 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.

[0066] One or more processors 240 are configured to execute communication module 216 to anchor a call between remote computing device 136 and computing device 110 via the local wireless tether connection. That is, instead of computing device 110 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, computing device 110 may tether to computing device 202 and may use computing device 202 to 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.

[0067] A computing device, such as computing device 1 10, that is tethered to computing device 202 may use computing device 202 to communicate with wireless wide area network 132 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 computing device 110 tethered to computing device 202, a request to initiate a call with a remote computing device 136, and communication module 216 may be configured to forward the request via wireless wide area network 132 to network operator system 134. When remote computing device 136 accepts the call, communication module 216 may be configured to receive, via wireless wide area network 132, an indication that the request to initiate the call was successful, and communication module 216 may be configured to forward the indication to computing device 110 tethered to computing device 202 to thereby establish a call between computing device 110 tethered to computing device 202 and remote computing device 136.

[0068] Similarly, when remote computing device 136 places a call to the telephone number shared by computing device 202 and computing device 1 10 tethered to computing device 202, communication module 216 may be configured to receive, via wireless wide area network 132, an invitation to join a call with remote computing device 136, and communication module 216 may be configured to forward the invitation to computing device 110 tethered to computing device 202. The invitation to join the call may cause both computing device 202 and the computing device 110 tethered to computing device 202 toring, and computing device 110 tethered to computing device 202 may pick up (i.e., joins) the call to thereby establish a call between remote computing device 136 and computing device 110 tethered to computing device 202.

[0069] One or more processors 240 may therefore be configured to execute communication module 216 to tether a call between remote computing device 136 and computing device 110 tethered to computing device 202. For example, communication module 216 may be configured to receive, via wireless wide area network 132, telephony data associated with the call from network operator system 134, and communication module 216 may be configured to forward the telephony data associated with the call to computing device 110 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 computing device 110 tethered to computing device 202, and communication module 216 may be configured to forward the telephony data associated with the call via wireless wide area network 132 to the network operator system 134.

[0070] One or more processors 240 may be configured to execute communication module 216 to, while anchoring a call between remote computing device 136 and computing device 110 tethered to computing device 202, detect the occurrence of a tethering termination event of the local wdreless 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 computing device 110 that was previously tethered to computing device 202. For example, communication module 216 may be configured to determine that computing device 202 is no longer connected to computing device 1 10 via the local wireless tether connection. In another example, communication module 216 may be configured to determine that computing device 202 has not received data from computing device 1 10 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 that computing device 202 has not received data from computing device 110 for the specified period of time, determine that a tether termination event has occurred.

[0071] One or more processors 240 is configured to execute communication module 216 to, in response to detecting the occurrence of the tethering termination event, communicate with call park server 104 to park the call between remote computing device 136 and computing device 1 10 at call park server 104. Parking the call may place the call on hold and / or may otherwise make the call inactive without terminating the call.

[0072] One or more processors 240 is configured to execute communication module 216 to send, to call park server 104 via wireless wide area network 132, a request to park the call between remote computing device 136 and computing device 110. The request may include an indication of the parties of the call. For example, the request may include an indication of remote computing device 136, such as an indication of the phone number of remote computing device 136, an indication of the URI of remote computing device 136, and the like. The request may also include an indication of the phone number of computing device 202 and / or a unique identifier associated with computing device 110, such as the IMEI associated with computing device 1 10. The request may also include an indication of other details of the call, such as the call’s direction (e.g., inbound or outbound) and the call’s media information, such as the codec and bandwidth of the call.

[0073] In some examples, communication module 216 is configured to send, to call park server 104, a request to park the call in the form of an SIP REFER message that requests call park server 104 to handle call parking of the call. The SIP REFER message may include a Refer-To field in the message that specifies an indication of remote computing device 136, such as the UR1 of remote computing device 136. The SIP REFER message may also include an indication of the phone number of computing device 202 and / or a unique identifier associated with computing device 110, such as the IMEI associated with computing device 110, and an indication of other details of the call, such as the call’s direction (e.g., inbound or outbound) and / or the call’s media information, such as the codec and bandwidth of the call.

[0074] Park server 104 may, in response to receiving the request to park the call from computing device 202, send an invite message to remote computing device 136 to invite remote computing device 136 to a call with call park server 104. Remote computing device 136 may, in response to accepting the invitation to the call with call park server 104, terminate the call with computing device 110. Remote computing device 136 may therefore send, to computing device 202, a message to computing device 202 indicating that remote computing device 136 is terminating tire call with computing device 110. Once park server 104 has parked the call and has connected to a call with remote computing device 136, part server 104 may also send, to computing device 202, a message indicating that call park server 104 has successfully parked the call between remote computing device 136 and computing device 110. One or more processors 240 may be configured to execute communication module 216 to receive the message from remote computing device 136 indicating that computing device 136 is terminating the call with computing device 110 and to receive the message from park server 104 that call park server 104 has successfully parked the callbetween remote computing device 136 and computing device 110. One or more processors 240 may therefore be configured to execute communication module 216 to, in response to receiving the messages from remote computing device 136 and computing device 110, disconnect from the call between remote computing device 136 and 1 10.

[0075] FIG. 3 is a block diagram illustrating further details of an example computing device, in accordance with one or more aspects of the present disclosure. FIG. 3 is described with respect to environment 100 of FIG, 1, and computing device 310 of FIG. 3 is described below as an example of computing device 110 as illustrated in FIG. 1 .

[0076] Computing device 310 of FIG. 3 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. 3 illustrates only one particular example of computing device 310, and many other examples of computing device 310 may be used in other instances and may include a subset of the components included in example computing device 310 or may include additional components not shown in FIG. 3.

[0077] As shown in the example of FIG. 3, computing device 310 includes user interface component (UIC) 312, one or more processors 340, one or more input components 342, one or more communication units 344, one or more output components 346, and one or more storage components 348. Storage componen ts 348 of compu ting device 310 also include communication module 316.

[0078] Communication channels 350 may interconnect each of the components 340, 312, 344, 346, 342, and 348 for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channels 350 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data,

[0079] One or more input components 342 of computing device 310 may receive input. Examples of input are tactile, audio, and video input. One or more input components 342 of computing device 310, 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.

[0080] One or more output components 346 of computing device 310 may generate output. Examples of output are tactile, audio, and video output. One or more output components 346 of computing device 310, in one example, includes a presence-sensitive display, sound card, video graphics adapter card, speaker, liquid crystal 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.

[0081] One or more communication units 344 of computing device 310 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 344 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 344 may include short wave radios, cellular data radios, wireless network radios, as well as universal serial bus (USB) controllers,

[0082] UIC 312 of computing device 310 may be hardware that functions as an input and / or output device for computing device 310. For example, UIC 312 may include a display component, which may be a screen at which information is displayed by UIC 312 and a presence-sensitive input component that may detect an object at and / or near the display component.

[0083] One or more processors 340 may implement functionality and / or execute instructions within computing device 310. For example, one or more processors 340 on computing device 310 may receive and execute instructions stored by storage components 348 that execute the functionality of communication module 316. The instructions executed by one or more processors 340 may cause computing device 310 to store information within storage components 348 during program execution. Examples of one or more processors 340 include application processors, display controllers, sensor hubs, and any oilier hardware configured to function as a processing unit. One or more processors 340 may execute instructions of communication module 316 to perform actions or functions. That is, communication module 316 may be operable by one or more processors 340 to perform various actions or functions of computing device 310.

[0084] One or more storage components 348 within computing device 310 may store information for processing during operation of computing device 310. That is, computing device 310 may store data accessed by communication module 316 during execution at computing device 310. In some examples, storage component 348 is a temporary memory,meaning that a primary purpose of storage component 348 is not long-term storage. Storage components 348 on computing device 310 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.

[0085] Storage components 348, in some examples, also include one or more computer- readable storage media. Storage components 348 may be configured to store larger amounts of information than volatile memory. Storage components 348 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 348 may store program instructions and / or information (e.g., data) associated with communication module 316.

[0086] One or more processors 340 are configured to execute communication module 316 to form a local wireless tether connection with computing device 102 to tether to computing device 102. Computing device 310 and computing device 102 with which computing device 310 forms a local wireless tether connection may be part of a hunt group, such that computing device 310 and computing device 102 may share a single telephone number, and calls to that telephone number may be routed to (e.g., ring) both computing device 310 and computing device 102.

[0087] Communication module 316 may be configured to perform any suitable pairing technique to tether computing device 310 to computing device 102. lire local wireless tether connection may be any suitable wireless connection technology that enables computing device 310 to communicate with computing device 102. 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.

[0088] One or more processors 340 are configured to execute communication module 316 to use the local wireless tether connection to place and receive calls to and from remote computing devices, such as remote computing device 136 via wireless wide area network 132. That is, instead of computing device 310 directly communicating with a network operator system 134 to send and receive telephony data (e.g., voice data and control data)associated with the cail, computing device 310 may tether to 102 and may use computing device 102 to act as an intermediary (i.e., an anchor) between computing device 310 and network operator system 134 to forward telephony data between computing device 310 and the network operator system 134.

[0089] Computing device 310 tethers to computing device 102 to use computing device 102 to communicate with a wireless wide area network to place and receive calls, such as voice calls, video calls, and the like. Computing device 310 may tether to computing device 102 to make and receive calls via -wireless wide area network 132 and network operator system 134 because computing device 310 may not include hardware (e.g., cellular radios) for connecting to wireless wide area network 132 or because computing device computing device 310 may have turned off such hardware for connecting to wireless wide area network 132, such as when computing device 310 is in an airplane mode.[00901 For example, communication module 316 may be configured to send, to computing device 102 via the local wireless tether connection, a request to initiate a call with remote computing device 310. 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, computing device 102 may receive, via wireless wide area network 132, an indication that the request to initiate the call was successful, and computing device 102 may forward the indication to 310 via the local wireless tether connection, to thereby establish a call between computing device 310 and remote computing device 136 via die local wireless tether connection to computing device 102 that anchors the call.

[0091] Similarly, when remote computing device 136 places a call to the telephone number shared by computing device 310 and computing device 102, 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 102 may forward the invitation to computing device 310 via the local wireless tether connection. The invitation to join the call may cause both computing device 110 and computing device 310 to ring, and computing device 310 may pick up (i.e,, joins) the call to thereby establish a call between remote computing device 136 and computing device 310.[0092 [ One or more processors 340 may therefore be configured to execute communication module 316 to establish and participate m a call with remote computing device 136 via computing device 102. For example, communication module 316 may be configured to receive telephony data associated with the call from network operator system 134 that is forwarded by computing device 102 to computing device 310 via the local wireless tetherconnection. Similarly, communication module 316 may be configured to send, via the local wireless tether connection, telephony data associated with the call to computing device 102 for forwarding via wireless wide area network 132 to network operator system 134.

[0093] One or more processors 340 may be configured to execute communication module 316 to, w'hile in a call with remote computing device 136 that is anchored by computing device 102, detect the occurrence of a tethering termination event of the local wireless tether connection. Communication module 316 may be configured to detect the occurrence of a tether termination event by determining that computing device 310 is no longer able to communicate, via the local wireless tether connection, with computing device 102. For example, communication module 316 may be configured to determine that computing device 102 is no longer connected to the tethered computing device via the local wireless tether connection. In another example, communication module 316 may be configured to determine that computing device 310 has not received data from computing device 102 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 that computing device 310 has not received data from computing device 102 for the specified period of time, determine that a te ther termination event has occurred.

[0094] One or more processors 340 is configured to execute communication module 316 to, in response to detecting the occurrence of the tethering termination event, communicate with call park server 104 to retrieve the call with remote computing device 136 that has been parked by computing device computing device 102 and to resume the call with remote computing device 136. If computing device 310 has turned off hardware, such as a cellular radio, for connecting to wireless wide area network 132 while computing device 310 was tethered to computing device 102 via the local wireless tether connection, communication module 316 may be configured to, in response to detecting the occurrence of the tethering termination event, turn on the hardware for connecting to wireless wide area network 132.

[0095] Communication module 316 is therefore configured to communicate with network operator system 134 to register computing device 310 with network operator system 134. For example, one or more processors 340 are configured to execute communication module 316 to connect, via one or more cellular data radios of one or more communication units 344, to a cellular base station of a wireless cellular network in order to communicate with network operator system 134. If computing device 310 does not include hardware such as a cellular radio for connecting to wireless wide area network 132, computing device 310 may be able to connect to wireless wide area network 132 and network operator system 134 via Voice overWi-Fi (VoWiFi) over network 130. Communication module 316 may send, via wireless wide area network 132, information such as an IMSI that uniquely identifies the user of computing device 310 to network operator system 134 to register computing device 310 with network operator system 134.

[0096] One or more processors 340 are configured to execute communication module 316 to, in response to detecting the occurrence of the tethering termination event, send, via wireless wide area network 132 to call park server 104, a request to retrieve the parked call with remote computing device 136. As described above, computing device 102 may, in response to detecting the occurrence of the tethering termination event, communicate with park server104 to park the call between remote computing device 136 and computing device 310 at park server 104.

[0097] In some examples, the request may be in the form of an SIP SUBSCRIBE message. The request sent by computing device 310 may include an indication of the phone number of computing device 310 and / or an indication of a unique identifier associated with computing device 310, such as the IMEI of computing device 310. Because computing device 310 is in a hunt group with computing device 102, computing device 310 may have the same phone number as computing device 102. Call park server 104 may, in response to receiving the request from computing device 310, determine the call information stored at call park server 104 that is associated with the phone number of computing device 310 and / or the unique identifier associated with computing device 310. Call park server 104 may determine that the call information associated with the phone number of computing device 310 and / or the unique identifier associated with computing device 310 is the call information associated with the call between remote computing device 136 and computing device 310, and may send, via wireless area network 132 to computing device 310, a message, such as a SIP NOTIFY message, that includes the determined call information.

[0098] One or more processors 340 are configured to execute communication module 316 to receive, via wireless wide area network 132 from call park server 104, the message that includes the call information associated with the call between remote computing device 136 and computing device 310. Communication module 316 is configured to, in response to receiving the message from call park server 104, resume, based on the call information, the call between remote computing device 136 and computing device 310. Communication module 316 is configured to determine, based on the call information, the phone number and / or URI of remote computing device 136 and to send, via wireless wide area network 132 and network operator system 134 to remote computing device 136 (e.g., to the phone numberand / or the UR1 of remote computing device 136). a message, such as an INVITE message, that requests remote computing device 136 resume the call between remote computing device 136 and computing device 310. Communication module 316 may thereby be configured to, in response to remote computing device 136 accepting the request to resume the call between computing device 310 and remote computing device 136, resume the call between remote computing device 136 and computing device 310.

[0099] FIGS. 4A and 4B are sequence diagrams 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 FIGS. 4A and 4B, the systems and devices described in this disclosure may communicate using Session Initiation Protocol (SIP) to initiate, maintain, transfer, and terminate communication sessions, and the messages illustrated in FIGS. 4A and 4B may be SIP messages.

[0100] As shown in FIG. 4A, computing device 410 is tethered to computing device 402 via a local wireless tether connection to share computing device 402’s connection to the wireless wide area network, so that computing device 410 may be able to communicate with network operator system 434 via computing device 402’s connection to the wireless wide area network (e.g., a wireless cellular network). While computing device 410 may include hardware (e.g., one or more cellular radios) to communicate with network operator system 434, computing device 410 may be in an airplane mode that turns off such hardware for communicating with the wireless wide area network.

[0101] Remote computing device 436, 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 402 and computing device 410 that is tethered to computing device 402. To place the call, remote computing device 436 may send an INVITE message (452) to network operator system 434, which is an example of network operator system 134 shown in FIG. 1, to initiate a call between remote computing device 436 and one or more computing devices associated with the telephone number that remote computing device 436 is calling,

[0102] Network operator system 434 may, in response to receiving the INVITE message from remote computing device 436, send an INVITE message (452) to computing device 402. Computing device 402 may, in response to receiving the INVITE message, send a 200 OK message (454) to remote computing device 436 to confinn that computing device 402 has received the INVITE message.

[0103] As computing device 402 communicates with network operator system 434 via a wireless wide area network, such as a wireless cellular network, network operator system 434 may send the INVITE message to computing device 402 over the wireless wide area network. Further, because computing device 402 and computing device 410 share the same telephone number being called by remote computing device 436 and because computing device 410 is tethered to computing device 402 to use computing device 402 to communicate with network operator system 434 via a wireless wide area network, both computing device 402 and computing device 410 may ring in response to computing device 402 receiving the INVITE message, and either computing device 402 and computing device 410 may pick up (i.e., accept) the call from remote computing device 436,

[0104] If computing device 410 accepts the call from remote computing device 436, computing device 402 may send a 200 OK message (456) to remote computing device 436 to indicate that computing device 410 has accepted tire call, and network operator system 434 may establish a call between computing device 410 and remote computing device 436 (458). Remote computing device 436 may send telephony data associated with the call, such as voice data and control data, to network operator system 434, and network operator system 434 may forward the telephony data to computing device 410 via computing device 402. Similarly, computing device computing device 410 may send telephony data associated with the call to network operator system 434 via computing device 402, and network operator system 434 may forward the telephony data to remote computing device 436.

[0105] While computing device 410 is in the call with remote computing device 436, computing device 402 may detect a tethering termination event of the local wireless tether connection between computing device 402 and computing device 410 (459). Computing device 402 may, in response to detecting the tethering termination event, send a REFER message (460) to call park server 404, which is an example of call park server 104 of FIG. 1, to park the call between remote computing device 436 and computing device 410. The REFER message may include a Refer-To field in the header that specifies an indication of remote computing device 436, such as the URI of remote computing device 436. The REFER message may also include an indication of the phone number of computing device 402 and / or a unique identifier associated with computing device 410, such as the IMEI associated with computing device 410, and an indication of other details of the call, such as the call’s direction (e.g., inbound or outbound) and / or the call’s media information, such as the codec and bandwidth of the call.

[0106] Park server 404 may, in response to receiving the REFER message from computing device 402, send a 202 ACCEPTED message (462) to computing device 402 to indicate that the request has been accepted for processing. Park server 404 may also park the call specified in the REFER message. For example, park server 404 may store call information associated with the call specified in the REFER message and may associate the call information with the phone number of computing device 402 and / or a unique identifier associated with computing device 410. Park server 404 may therefore send a NOTIFY message (464) to computing device 402 to notify computing device 402 that park server 404 is attempting to park the call, and computing device 402 may send a 200 OK message (466) to park server 404 to indicate that computing device 402 has received the NOTIFY message.[01071 Park server 404 may send an INVITE message (468) to remote computing device 436, to initiate a call between park server 404 and remote computing device 436. If remote computing device 436 accepts the call from park server 404, remote computing device 436 may send a 200 OK message (470) to park server 404 to indicate that remote computing device 436 has accepted the call with park server 404. Park server 404 may, in response to receiving the 200 OK message from remote computing device 436, send an ACK message (472) acknowledging receipt of the 200 OK message.

[0108] Remote computing device 436 may, in response to accepting the call from park server 404, send a BYE message (474) to computing device 402 to indicate that remote computing device 436 is disconnecting from the call with computing device 410. Park server 404 may, in response to receiving the 200 OK message from remote computing device 436 indicating that remote computing device 436 has accepted the call from park server 404, send a NOTIFY message (476) to computing device 402 to indicate that park server 404 has successfully parked the call. Computing device 402. may, m response to receiving the NOTIFY message from park server 404, send a 200 OK message (478) to park server 404 to indicate that computing device 402 has received the NOTIFY message. Computing device 402 may therefore disconnect tire call between computing device 410 and remote computing device 436.

[0109] Network operator system 434 may therefore establish a call between park server 404 and remote computing device 436 (480). In the call, park server 404 may play on hold music to remote computing device 436 or may output a message to remote computing device 436 indicating that remote computing device 436 is on hold.

[0110] As shown in FIG. 4B, while computing device 410 is in the call with remote computing device 436 via a local wireless tether connection with computing device 402,computing device 410 may detect a tethering termination event of the local wireless tether connection between computing device 402 and computing device 410 (482). Computing device 410 may, in response to detecting the tethering termination event, turn on hardware (e.g., one or more cellular radios) for connecting to a wireless wide area network, such as a wireless cellular network, and may send a REGISTRATION message (482) to network operator system 434 to register computing device 410 with network operator system 434. For example, computing device 410 may send the REGISTRATION message via a wireless wide area network, such as a wireless cellular network, to network operator system 434 to indicate to network operator system 434 that network operator system 434 may communicate with computing device 410 via the wireless wide area network. Network operator system 434 may, in response, accept the REGISTRATION message and may send a 200 OK message (484) to computing device 410 to confirm receipt of the REGISTRATION message.

[0111] Computing device 410 may, in response to detecting the tethering termination event, send a SUBSCRIBE message (486) via the wireless wide area network to call park server 404 to retrieve the call information associated with the call between computing device 410 and remote computing device 436 that is parked by computing device 402. The SUBSCRIBE message may include an indication of the phone number of computing device 410 and / or an indication of a unique identifier associated with computing device 410, such as the IMEI of computing device 410.

[0112] Park server 404 may, in response to receiving the SUBSCRIBE message from computing device 410, send a 200 OK message (488) to computing device 410 to confirm receipt of the SUBSCRIBE message. Park server 404 may therefore determine the call information of a call associated with the phone number of computing device 410 and / or the unique identifier associated with computing device 410 indicated by the SUBSCRIBE message and may send a NOTIFY message (490) to computing device 410 that includes the call information of the call associated with the phone number of computing device 410 and / or the unique identifier associated with computing device 410 indicated by the SUBSCRIBE message .

[0113] Computing device 410 may, in response to receiving the NOTIFY message from park server 404, send a 200 OK message (492) to park server 404 to confirm receipt of the NOTIFY message. Computing device 410 may therefore, based on the call information in the NOTIFY message received from park server 404, send an INVITE message (494) to remote computing device 436 to invite remote computing device 436 to accept a call with computingdevice 410 to thereby resume the call between computing device 410 and remote computing device 436.

[0114] Remote computing device 436 may, in response to receiving the INVITE message, accept the call with computing device 410 and may send a 200 OK message (496) to computing device 410 to indicate that remote computing device 436 has accepted the call with computing device 410. Computing device computing device 410 may, m response to receiving the 200 OK message from remote computing device 436, send an ACK message (498) to remote computing device 436 to acknowledge the 200 OK message. Network operator system 434 may therefore establish a call between computing device 410 and remote computing device 436, thereby resuming the call between computing device 410 and remote computing device 436 (499).

[0115] FIG. 5 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. 5 is described below in the context of environment 100 of FIG. 1 and computing device 202 of FIG. 2.

[0116] As shown in FIG. 5, 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 (502). 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 a hunt group and may share the same telephone number. In some examples, the local wireless tether connection 108 is a Wi-Fi or BLUETOOTH connection.

[0117] 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.

[0118] 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 (504). 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.

[0119] One or more processors 240 of computing device 202 may, in response to detectingthe occurrence of the tethering termination event, communicate with a call park server 104 to park the call to enable the second computing device 110 to resume the call without being tethered to the first computing device 202 (506). To communicate with the call park server 104, one or more processors 240 of computing device 202 may send, to the call park server 104, a request to park the call, where the request to part the call includes an indication of the remote computing device 136. In some examples, the request to park the call includes at least one of: an indication of a phone number of the first computing device 202 or an indication of a unique identifier of the second computing device 110.

[0120] In some examples, the first computing device 202 communicates via a wireless cellular network, such as via wireless wide area network 132, to receive telephony data associated with the call from the remote computing device 136, and to park the call at the call park server 104, one or more processors 240 may park the call at the call park server 104 to enable the second computing device to resume the call via the wireless cellular network.

[0121] FIG. 6 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. 6 is described below in the context of environment 100 of FIG, 1 and computing device 310 of FIG. 3.

[0122] As shown in FIG. 6, one or more processors 340 of computing device 310 may connect to a call with remote computing device 136 via a local wireless tether connection 108 with computing device 102 that anchors the call (602).

[0123] In some examples, 102 receives, via a wireless cellular connection, telephony data associated with the call sent by remote computing device 136, and to connect to the call with the remote computing device 136, one or more processors 340 may receive, from computing device 102 via local wireless tether connection 108, the telephony data associated with the call sent by remote computing device 136 to computing device 102.

[0124] One or more processors 340 may detect an occurrence of a tethering termination event of the local wireless tether connection 108 (604). To detect the occurrence of the tethering termination event, one or more processors 340 may detect that computing device 102 is no longer tethered to computing device 310.

[0125] One or more processors 340 may, in response to detecting the occurrence of the tethering termination event, retrieve the call that is parked at a call park server 104 by computing device 102 to resume the call between computing device 310 and remote computing device 136 (606). In some examples, one or more processors 340 may, in responseto detecting the occurrence of the tethering termination event, register computing device 310 with a wireless cellular network, such as with wireless wide area network 132.

[0126] In some examples, to retrieve the call that is parked at call park server 104, one or more processors 340 may send, via the wireless cellular network and to call park server 104, a request for call information associated with the call, and may receive, from the call park server 104, the call information associated with the call. In some examples, the request for the call information associated with the call includes at least one of: an indication of a phone number of computing device 310 or an indication of a unique identifier of computing device 310. In some examples, to retrieve the call that is parked at call park server 104, one or more processors 340 may send, via the wireless cellular network and based at least in part on the call information, associated with the call, a request to resume the call to remote computing device 136.

[0127] In some examples, computing device 310 and computing device 102 are in a hunt group. In some examples, the local wireless tether connection 108 comprises a Wi-Fi or BLUETOOTH connection. In some examples, the call is a 3GPP / IMS standard compliant phone call.

[0128] Aspects of this disclosure include the following examples.

[0129] Example 1 . A method comprising: connecting, by one or more processors of a first computing device, to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; 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, retrieving, by the one or more processors, the call that is parked at a call park server by the second computing device to resume the call between the first computing device and the remote computing device.

[0130] Example 2. The method of example 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.

[0131] Example 3. The method of any of examples 1 and 2, wherein the second computing device receives, via a wireless cellular connection, telephony data associated with the call sent by the remote computing device, and wherein connecting to the call with tire remote computing device further comprises: receiving, by the one or more processors and from the second computing device and via the local wireless tether connection, the telephony data associated with the call sent by the remote computing device to the second computing device.

[0132] Example 4. The method of any of examples 1-3, further comprising: in response to detecting the occurrence of the tethering termination event, registering, by the one or more processors, the first computing device with a wireless cellular network.

[0133] Example 5. The method of example 4, wherein retrieving the call that is parked at the call park server further comprises: sending, by the one or more processors via the wireless cellular network and to the call park server, a request for call information associated with the call; and receiving, by the one or more processors and from the call park server, the call information associated with the call.

[0134] Example 6. The method of example 5, wherein the request for the call information associated with the call includes at least one of: an indication of a phone number of the first computing device or an indication of a unique identifier of the first computing device.

[0135] Example 7. The method of example 5, wherein retrieving the call that is parked at the call park server further comprises: sending, by the one or more processors via the wireless cellular network and based at least in part on the call information, associated with the call, a request to resume the call to the remote computing device.

[0136] Example 8. The method of any of examples 1-7, wherein the first computing device and the second computing device are in a hunt group,

[0137] Example 9. The method of any of examples 1-8, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.

[0138] Example 10. The method of any of examples 1-9, wherein the call is a 3GPP / IMS standard compliant phone call.

[0139] Example 1 1 . A computing device comprising: a memory; and one or more processors configured to: connect to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; 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, retrieve the call that is parked at a call park server by the second computing device to resume the call between the computing device and the remote computing device.

[0140] Example 12. Tire computing device of example 11 , wherein to detect the occurrence of the tethering termination event, the one or more processors are further configured to: detect that the second computing device is no longer tethered to the computing device.

[0141] Example 13. The computing device of any of examples 1 1 and 12, wherein the second computing device receives, via a wireless cellular connection, telephony data associated with the call sent by the remote computing device, and wherein to connect to the call with theremote computing device, the one or more processors are further configured to: receive, from the second computing device and via the local ware less tether connection, the telephony data associated with the call sent, by the remote computing device to the second computing device,

[0142] Example 14. The computing device of any of examples 1 1-13, wherein the one or more processors are further configured to: in response to detecting the occurrence of the tethering termination event, registering, by the one or more processors, the computing device with a wireless cellular network.

[0143] Example 15. Tire computing device of example 14, wherein to retrieve the call that is parked at the call park server, the one or more processors are further configured to: send, via the wireless cellular network and to the call park server, a request, for call information associated with the call; and receive, from the call park server, the call information associated with the call.

[0144] Example 16. The computing device of example 15, wherein the request for the cali information associated with the call includes at least one of: an indication of a phone number of the computing device or an indication of a unique identifier of the computing device.

[0145] Example 17. The computing device of example 15, wherein to retrieve the call that is parked at the call park server, the one or more processors are further configured to: send, via the wireless cellular network and based at least in part on the call information, associated with the call, a request to resume the call to the remote computing device.

[0146] Example 18. The computing device of any of examples 11-17, wherein the computing device and the second computing device are in a hunt group.

[0147] Example 19. Tire computing device of any of examples 11-18, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.

[0148] Example 20. 'The computing device of any of examples 11-19, wherein the call is a 3GPP / TMS standard compliant phone call.

[0149] Example 21. A computer-readable storage medium storing instructions that, when executed, cause one or more processors of a computing device to: connect to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; 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, retrieve the call that is parked at a call park server by the second computing device to resume the call between the computing device and the remote computing device.

[0150] Example 22. 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 te thering termination event, communicating, by the one or more processors, with a call park server to park the call to enable the second computing device to resume the call without being tethered to the first computing device.

[0151] Example 23. The method of example 22, 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.

[0152] Example 24. The method of any of examples 22 and 23, wherein communicating with the call park server to park the call further comprises: sending, by the one or more processors to the call park server, a request to park the call, wherein the request to part the call includes an indication of the remote computing device.

[0153] Example 25. The method of example 24, wherein the request to park the call includes at least one of: an indication of a phone number of the first computing device or an indication of a unique identifier of the second computing device.

[0154] Example 26. The method of any of examples 22-25, wherein the first computing device communicates via a wireless cellular network to receive telephony data associated with the call from the remote computing device, and wherein parking the call at the call park server further comprises parking, by the one or more processors, the call at the call park server to enable the second computing device to resume the call via the wireless cellular network.

[0155] Example 27. The method of any of examples 22-26, wherein the first computing device and the second computing device are in a hunt group.

[0156] Example 28. The method of any of examples 22-27, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.

[0157] Example 29. The method of any of examples 22-28, wherein the call is a 3GPP / IMS standard compliant phone call.

[0158] Example 30. A computing device comprising: a memory; and one or more processors configured 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 inresponse to detecting the occurrence of the tethering termination event, communicate with a call park server to park the call to enable the second computing device to resume the call without being tethered to the computing device.

[0159] Example 31. The computing device of example 30, wherein to detect the occurrence of the tethering termination event, the one or more processors are further configured to: detect that the second computing device is no longer tethered to the computing device.

[0160] Example 32. The computing device of any of examples 30 and 31 , wherein to communicate with the call park server to park the call, the one or more processors are further configured to: send, to the call park server, a request to park the call, wherein the request to part the call includes an indication of the remote computing device,

[0161] Example 33. The computing device of example 32, wherein the request to park the call includes at least one of: an indication of a phone number of the computing device or an indication of a unique identifier of the second computing device.

[0162] Example 34. The computing device of any of examples 30-33, wherein the computing device communicates via a wireless cellular network to receive telephony data associated with the call from the remote computing device, and wherein to park the call at the call park server, the one or more processors are further configured to park the call at the call park server to enable the second computing device to resume the call via the wireless cellular network.

[0163] Example 35. The computing device of any of examples 30-34, wherein the computing device and the second computing device are in a hunt group.

[0164] Example 36. Tire computing device of any of examples 30-35, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.

[0165] Example 37. 'The computing device of any of examples 30-36, wherein the call is a 3GPP / TMS standard compliant phone call.

[0166] Example 38. A computer-readable storage medium storing 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, communicate with a call park server to park the call to enable the second computing device to resume the call without being tethered to the computing device.

[0167] Example 39. A method comprising: anchoring, by a first one or more processors of a first computing device, a call between a remote computing device and a second computingdevice tethered to the first computing device via a local wireless tether connection; detecting, by the first one or more processors, an occurrence of a tethering termination event of the local wireless tether connection; in response to detecting the occurrence of the tethering termination event, communicating, by the first one or more processors, with a call park server to park the call to enable the second computing device to resume the call without being tethered to the first computing device; detecting, by second one or more processors of the second computing device, the occurrence of the tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, retrieving, by the second one or more processors, the call that is parked at the call park server by the first computing device to resume the call between the second computing device and the remote computing device.

[0168] 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 instructions 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, however, 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 non- transient, 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.

[0169] 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 beprovided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.

[0170] 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 requi re realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection of inter- operative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.

[0171] 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: connecting, by one or more processors of a first computing device, to a call with a remote computing device via a local wireless tether connection with a second computing device that anchors the call; 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, retrieving, by the one or more processors, the call that is parked at a call park server by the second computing device to resume the call between the first computing device and the remote 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.The method of any of claims 1 and 2, wherein the second computing device receives, via a wireless cellular connection, telephony data associated with the call sent by the remote computing device, and wherein connecting to the call with the remote computing device further comprises: receiving, by the one or more processors and from the second computing device and via the local wireless tether connection, the telephony data associated with the call sent by the remote computing device to the second computing device.

4. The method of any of claims 1-3, further comprising: in response to detecting the occurrence of the tethering termination event, registering, by the one or more processors, the first computing device with a wireless cellular network.

5. The method of claim 4, wherein retrieving the call that is parked at the call park server further comprises: sending, by the one or more processors via the wireless cellular network and to the call park server, a request for call information associated with the call; and receiving, by the one or more processors and from the call park server, the call information associated with the call.

6. The method of claim 5. wherein the request for the call information associated with the call includes at least one of: an indication of a phone number of the first computing device or an indication of a unique identifier of the first computing device.

7. The method of claim 5, wherein retrieving the call that is parked at the call park server further comprises: sending, by the one or more processors via the wireless cellular network and based at least in part on the call information, associated with the call, a request to resume the call to the remote computing device.

8. The method of any of claims 1-7, wherein the first computing device and the second computing device are in a hunt group.

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.

11. A computing device comprising: a memory’; and one or more processors configured to perfonn the method of any of claims 1-10.

12. A computer-readable storage medium storing instructions that, when executed, cause one or more processors of a computing device to perform the method of any one of claims 113. 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, communicating, by the one or more processors, with a call park server to park the call to enable the second computing device to resume the call without being tethered to the first computing device.

14. The method of claim 13, 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.15, The method of any of claims 13 and 14, wherein communicating with the call park server to park the call further comprises: sending, by the one or more processors to the call park server, a request to park the call, wherein the request to part the call includes an indication of the remote computing device.

16. The method of claim 15, wherein the request to park the call includes at least one of: an indication of a phone number of the first computing device or an indication of a unique identifier of the second computing device.

17. lire method of any of claims 13-16, wherein the first computing device communicates via a wireless cellular network to receive telephony data associated with the call from the remote computing device, and wherein parking the call at the call park server further comprises parking, by the one or more processors, the call at the call park server to enable the second computing device to resume the call via the wireless cellular network.

18. The method of any of claims 13-17, wherein the first computing device and the second computing device are in a hunt group.19, The method of any of claims 13-18, wherein the local wireless tether connection comprises a Wi-Fi or BLUETOOTH connection.

20. The method of any of claims 13-19, wherein the call is a 3GPP / 1MS standard compliant phone call.21 , A computing device comprising: a memory; and one or more processors configured to perform the method of any of claims 13-20.

22. A computer-readable storage medium storing instractions that, when executed, cause one or more processors of a computing device to perform the method of any one of claims 13-20.23 , A method comprising: anchoring, by a first 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 first one or more processors, an occurrence of a tethering termination event of the local wireless tether connection: m response to detecting the occurrence of the tethering termination event, communicating, by the first one or more processors, with a call park server to park the call to enable the second computing device to resume the call without being tethered to the first computing device; detecting, by second one or more processors of the second computing device, the occurrence of the tethering termination event of the local wireless tether connection; and in response to detecting the occurrence of the tethering termination event, retrieving, by the second one or more processors, the call that is parked at the call park server by the first computing device to resume the call between the second computing device and the remote computing device.