Embodiments of this present disclosure relate generally to the field of audio and video telecommunications and more specifically to the field of call transfer methods.
Conventional telephone networks allow a variety of users to interconnect regardless of the type of service they may be using. For example, telephone users may place and receive telephone calls via conventional public circuit-switched telephone networks. Such telephone networks allow telephone users to place and receive calls to or from any other telephone connected to the public switched telephone network (PSTN). Telephone users may also place and receive calls via voice over internet protocol (VoIP) services. Conventional VoIP services may allow the transmission of voice communications and multimedia sessions over Internet Protocol (IP) networks (e.g., the Internet). Telephone users may also place and receive calls with telephones that are connected to the PSTN via a private branch exchange (PBX). A business telephone system may be implemented through a PBX telephone network that may include a variety of interconnected telephones, fax machines, and modems, for example. A business telephone system utilizing a PBX telephone network may be a computer implemented exchange (IP-PBX), where voice calls are handled through internet protocols using either conventional hardware or virtual hardware.
A first telephone device engaged in a telephone call with a second telephone device may transfer the telephone call from the first telephone device to a third telephone device. The second telephone device may also transfer the telephone call from the second telephone device to a fourth telephone device. However, conventionally, such a transfer requires the current telephone call to be placed on hold and the telephone call transferred to the third telephone device (e.g., after placing the telephone call on hold, the third telephone device is called so that the third telephone device may pick up the telephone call). Such call transferring will not be transparent to the other party taking part in the telephone call (e.g., the party using the second telephone device), as the telephone call will be placed on hold until the telephone call is again established with the new telephone device (e.g., the third telephone device).
A conventional PBX network may allow telephone calls to be transferred between a telephone device on the PBX network (e.g., a work phone) and an associated cell phone, where the work phone and the cell phone are both telephone devices registered to a single user. Such an implementation may treat a user's cell phone as a bridged line appearance of the user's work phone, allowing a call currently active on the cell phone to be picked up on the corresponding work phone line appearance. However, such an operation is limited to transferring certain calls from the user's cell phone to the user's work phone. Such calls include incoming calls to the user's work phone that were answered on the user's cell phone, or outbound calls made from the user's cell phone to a destination phone served by the same PBX as the user's work phone. Therefore, conventional phone networks are only able to manually transfer a current call from the user's work phone to the user's cell phone. As noted above, such a manual transfer generally requires putting the current call on hold and dialing the user's cell phone number. In all likelihood, such an operation will be noticeable to other parties on the call.
Embodiments of this present disclosure provide solutions to the challenges inherent in transparently and non-disruptively transferring an existing media/data session or stream, such as an audio and/or video call, or web conference, from one device to another. In a method according to one embodiment of the present disclosure, transferring a media/data session or stream comprises locating a media/data session or stream available for transfer as defined by a detected proximity in response to a request to initiate the transfer on a desired device. In exemplary embodiments, proximity detection may comprise GPS positioning, geo-presence, a near-field communication linkage, a Bluetooth wireless interconnection, a common Wi-Fi access point, and Wi-Fi or Cellular network triangulation mechanisms.
In a method according to one embodiment of the present disclosure, a method for transferring a data stream between telephone devices on a telephone network is disclosed. The method is initiated by one of the telephone devices on the telephone network. The telephone devices on the telephone network include a first device requesting the transfer and a second device currently receiving the data stream via the telephone network. The method includes the first device determining a proximity to the second device. The method also includes the first device initiating a command to terminate a data stream received by the second device via a network when the proximity is below a threshold; and the first device initiating a command to transfer the data stream via the network so that the data stream is received by the first device.
In an apparatus according to one embodiment of the present disclosure, a communications apparatus is disclosed. The communications apparatus comprises a transceiver and a processor. The transceiver is operable to receive a data stream via a network. The processor is operable to determine a proximity to a second communications apparatus. The process is also operable to initiate a request to terminate a first data stream received by the second communications apparatus when the proximity is below a threshold. Lastly, the processor is also operable to initiate a request to transfer the first data stream via the network so that the communications apparatus receives the first data stream.
The present disclosure will be better understood from the following detailed description, taken in conjunction with the accompanying drawing figures in which like reference characters designate like elements and in which:
Reference will now be made in detail to the various embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. While described in conjunction with these embodiments, it will be understood that they are not intended to limit the disclosure to these embodiments. On the contrary, the disclosure is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the disclosure as defined by the appended claims. Furthermore, in the following detailed description of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.
Embodiments described herein may be discussed in the general context of computer-executable instructions, such as program modules, residing on some form of computer-readable storage medium executed by one or more computers or other devices. By way of example, and not limitation, computer-readable storage media may comprise non-transitory computer-readable storage media. Non-transitory computer-readable storage media includes all computer-readable media except for a transitory, propagating signal. Computer-readable storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
This present disclosure provides a solution to the increasing challenges inherent in managing voice, audio/video, and/or data sessions carried over telephone networks. Various embodiments of the present disclosure provide transparent transferring of data streams (e.g., voice, audio/video, and data sessions) from a first device to a second device via the telephone network. The transfer of the voice, audio/video, and/or data session may be executed without disrupting a second party to the voice, audio/video, and/or data session. In other words, the transfer will be transparent to the second party. As discussed herein, when a geolocation of the first device is within a proximity threshold of the second device, a transfer request may be issued for execution by the telephone network.
Cell phones 110a-110c and smart cell phones 112a and 112b may be connected to the PSTN telephone network 102 and the Internet 106 through cellular networks 108a-108e. Telephones 114a and 114b may be connected to the PBX network 104. In one embodiment Telephone 114c may be connected to the PSTN telephone network 102. Telephone 114d may also be connected to the PSTN telephone network 102 via the Internet 106. In one exemplary embodiment, computer devices 116a and 116b may be connected to the Internet 106. In one exemplary embodiment, the computer device 116a is running an instance of an exemplary computer-based virtual phone 118, while the computer device 116b is running an instance of a computer-based audio/video conferencing program 120, both provided through VoIP services. In one exemplary embodiment, the virtual phone 118 and/or the audio/video conferencing program 120 may be implemented using web browsers that are capable of providing web-based real-time communication endpoints. Therefore, a variety of telephone calls, streaming audio sessions, and audio/video sessions may be initiated using a variety of telephones 114, cell phones 110, smart cell phones 112, and computers 116 that are interconnected via a PSTN telephone network 102, a PBX network 104, the Internet 106, and cellular networks 108. In one exemplary embodiment, a computer 116 may be any computer device, for example: a desktop computer, a notebook computer, a laptop computer, or a tablet computer, etc.
In one exemplary embodiment, an audio, audio/video, and/or data session may be transferred between a telecommunications device on a PBX network 104 and another telecommunications device. For example, an audio session may be transferred between a telephone 114a and a cell phone 110a. In another embodiment, an audio, audio/video, and/or data session may be transferred between a smart phone 112a and a virtual phone 118 or a computer-based audio/video conferencing program 120. In another embodiment, as illustrated in
In one embodiment, audio, audio/video, and/or data sessions may be transferred between multiple telephonic devices (virtual or hardware). In other words, an audio, audio/video, and/or data session may be transferred from a telephonic device to any one of several other telephonic devices. In one embodiment, each telephonic device to which the audio, audio/video, and/or data session may be transferred to or from is registered to a common user. In other words, the telephonic device from which the audio, audio/video, and/or data session is transferred is registered to the same user as the telephonic device to which the audio, audio/video, and/or data session is transferred). In one embodiment, a user registration comprises a user name. In one embodiment, a user registration comprises a user name and a password.
In one embodiment, each telephonic device (virtual or hardware) stores a list of any other telephonic devices registered to the same user. In one embodiment, as described herein, to facilitate an audio, audio/video, and/or data session transfer, a list of telephonic devices registered to the user is referred to and if one of the registered telephonic devices (e.g., a requesting device) is within a pre-defined distance from a telephonic device currently receiving an audio, audio/video, and/or data session (e.g., a receiving device), the current audio, audio/video, and/or data session may be transferred to the requesting device within the defined distance. In one embodiment, telephonic devices (e.g., a receiving device and a requesting device) are a pre-defined distance apart when determined geolocations of the telephonic devices are within a proximity threshold. As discussed herein, a geolocation may be a geographical location of a cell phone, an internet-connected computer system, or other telecommunications device where a geographical location may be determined. In one exemplary embodiment, a geolocation of a device may be determined by associating a physical location of the device with an interne protocol (IP) address, an RFID wireless connection, a Wi-Fi access location, or GPS coordinates of the device, for example.
In one embodiment, a pair of telephonic devices (e.g., a receiving device and a requesting device) is less than a pre-defined distance apart when the pair of telephonic devices are linked by a near-field communications link or a Bluetooth communications link. In one embodiment, the pair of telephonic devices is linked by a near-field communications link when the pair of telephonic devices is physically touching.
In one embodiment,
In one exemplary embodiment, radius R may be approximately 10-30 feet, such that the desired distance or proximity threshold allows the pair of telephonic devices 202 and 204 to be within a room. In another exemplary embodiment, radius R may be approximately 2-5 feet, such that the desired distance or proximity threshold allows the pair of telephonic devices 202 and 204 to be within an automobile or on a desk. In another exemplary embodiment, radius R may be such that the pair of telephonic devices 202 and 204 are touching or within 1-10 centimeters apart.
In one embodiment,
In
In one exemplary embodiment, a user may select a registered telephonic device to be a “requesting telephonic device,” such that pressing a button or a soft-button on the selected telephonic device initiates a transfer process. As discussed herein, the transfer process searches for another telephonic device currently receiving a streaming audio, audio/video, and/or data session that is registered to the same user and is within a defined minimum distance or within a proximity threshold from the requesting telephonic device.
In one exemplary embodiment, so long as the telephonic device currently sending or receiving the streaming audio, audio/video, and/or data session is registered to the same user as an initiating or requesting telephonic device, when the initiating telephonic device is within the defined minimum distance or proximity threshold from the telephonic device currently sending or receiving the streaming audio, audio/video, and/or data session, any network protocol may be utilized to transfer the streaming content. In one exemplary embodiment, the streaming content transfer is transparent to at least one second party also sending and/or receiving the streaming content.
For an exemplary user with multiple registered devices (for example, as supported by SIP), these exemplary embodiments allow the user to move a media session or media stream, such as a voice or video call, and/or a data session, currently active on one device to another device, by initiating this move on to the desired, target device. In response to the request from the target device, the desired media session or stream is located by finding another device registered to the same user nearby the target device (for example, as determined by proximity information included in a presence system or near-field communications linkage such as Bluetooth) currently supporting an active media session or stream that is the desired media session or stream. Once an appropriate media session or stream is found it is transferred to the requesting device, using network protocol requests. As discussed herein, when the media session or stream is transferred, the device originally receiving the media session or stream is disconnected from the media session or stream.
As discussed in detail herein, and described in the method below, to transfer a media session or stream from one device to another using this mechanism, a user activates a “take call” operation on the desired “takeover” device. The desired session or stream may be found by determining a geolocation of the takeover device and finding a session or stream on a nearby device (as determined by its geolocation) registered to the same user or on a device linked to the desired device using near-field communication mechanisms (e.g., Bluetooth). The session or stream is then transferred, utilizing appropriate network protocol commands, to the new device. In one embodiment, transferring the session or stream to the new device also breaks a connection of the session or stream to the original device.
As noted herein, any network protocol may be utilized to transfer the streaming content from a telephonic device currently receiving a streaming audio, audio/video, and/or data session to a request telephonic device. In one exemplary embodiment, when both telephonic devices are SIP devices on a same IP-PBX, the request may be initiated by an exemplary button push on the activating or requesting device and the protocol command effecting the transfer would be a SIP out-of-dialog REFER sent by the IP-PBX to the active device. In one embodiment the REFER may be sent to the initiating device, which may be handled by the IP-PBX if the initiating device cannot handle the transfer. In one exemplary embodiment, when the activating device is a standard cell phone and the current device is a SIP device served by an IP-PBX, the request may be initiated as a text message to a particular destination corresponding to the IP-PBX, which may then send a SIP out-of-dialog REFER sent by the IP-PBX to the current device.
In one exemplary embodiment, when the activating device is a SIP device served by an IP-PBX and the current device is a cell phone, the request might be initiated by an exemplary button push on the activating device. In this exemplary case, the IP-PBX may need an interface of some kind supported by the user's service provider enabling the IP-PBX to query the cell phone's location and then effect the transfer. In one exemplary embodiment, the cellular provider may utilize an API for effecting the interface. In one more exemplary embodiment, when the activating device is a SIP device served by an IP-PBX and the current device is a smart phone, the request may be initiated by an exemplary button push on the activating device. In this exemplary case, the IP-PBX may interact with the user's service provider, as discussed above, or with an application installed on the user's smart phone to determine the location, as well as to effect a transfer. This exemplary implementation may require the application on the smart phone to be able to support these capabilities, meaning the smart phone operating system (OS) would need to expose these capabilities.
In one exemplary embodiment, an activating device and a current receiving device are smart phones with Bluetooth (or some other near field communication channel) capability. The request may be initiated by an exemplary button push on the activating device. In this exemplary case, the activating device may request via a near field communication channel that the active device effect a transfer to the initiating device.
In the method illustrated in
In one exemplary embodiment, the transfer option is only available for initiation when there is a current audio, audio/video, and/or data session on another device available for transfer. In other words, the take-over feature will only be offered to a user when there is a current session available for transfer to the initiating device. For example, a soft button on the initiating device may be grayed out when no session is available for transfer.
In step 504 of
In step 508 of
In step 512 of
In step 514 of
In one exemplary embodiment, a list of registered devices may be cycled through as the process searches for a current stream or session received by a registered device in proximity to the activating device. In one exemplary embodiment, when all of the registered devices have been selected the process continues to step 506 of
In another embodiment, rather than pulling a call or content stream to a desired device, a content stream may be pushed from the current device to a new target device using a manually initiated transfer operation so long as the two devices are within the defined minimum distance or proximity threshold.
As discussed herein, a primary benefit of exemplary embodiments of the disclosure is that a content stream may be transferred regardless of how the content stream was initially established (e.g., regardless of whether it was an incoming or outgoing call from the point of view of the current device). As also discussed herein, another primary benefit is that these exemplary embodiments and processes offer increased security since any handoff mechanism requires physical proximity between the two involved devices.
Through the descriptions of the preceding embodiments, the present disclosure may be implemented by using hardware only or by using software and a necessary universal hardware platform. Based on such understandings, the technical solution of the present disclosure may be embodied in the form of a software product. The software product may be stored in a nonvolatile or non-transitory storage medium, which can be a compact disk read-only memory (CD-ROM), USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided in the embodiments of the present disclosure.
Although certain preferred embodiments and methods have been disclosed herein, it will be apparent from the foregoing disclosure to those skilled in the art that variations and modifications of such embodiments and methods may be made without departing from the spirit and scope of the disclosure. It is intended that the disclosure shall be limited only to the extent required by the appended claims and the rules and principles of applicable law.