A recent trend for reducing service costs in telecommunications networks involves the use of Voice over Internet Protocol (VoIP) for carrying calls between source and destination phones. IP networks typically incur minimal costs to carry data from sources to destinations, as opposed to Public Switched Telephone Networks (PSTN) which typically incur much higher costs to carry phone calls from sources to destinations. By using VoIP (e.g., IP packets carrying audio data) for carrying a call for most of the distance of the call, instead of using a PSTN, the cost of the call can be reduced relative to having a PSTN carry the entirety of the call. Usually, VoIP involves a call being carried via the Internet to a point in the PSTN very close to the call destination. At that point, the call is switched to the PSTN for completion of the connection with the call destination. By minimizing the distance that the call is carried on the PSTN, the cost of the call may be substantially reduced relative to solely using the PSTN for the entirety of the call.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. The following detailed description does not limit the invention.
In embodiments described herein, a mobile device that is capable of receiving calls via a cellular network or via a VoIP network selectively causes calls destined for the mobile device's cellular network telephone number to be forwarded to a VoIP telephone number associated with the mobile device. The selective forwarding of calls originating in the cellular network to a mobile device's VoIP telephone number avoids the dropping of VoIP calls at the mobile device if cellular network originated calls happen to be received during the occurrence of the VoIP calls. Embodiments described herein also enable information to be included in SIP signaling information associated with the forwarded call that identifies the forwarded call as having originated in the cellular network. The information included in the SIP signaling information may include an identification of the telephone number to which the original call was directed. The information included in the SIP signaling information permits the mobile device to present calls, forwarded from the cellular network telephone number to the VoIP telephone number, differently than other VoIP calls that were originally destined for the VoIP telephone number. Therefore, a normal VoIP call received at the mobile device may be presented differently to the user of the mobile device than a call originally destined for the mobile device's cellular network telephone number which was forwarded to the VoIP telephone number of the mobile device.
Docking station 110 may include a Voice over Internet Protocol (VOIP) phone that has a connection to VoIP network 115 and which also has a docking port that permits mobile device 105 to be “docked” with docking station 110. Mobile device 105 may include, for example, a cellular telephone (e.g., a smart phone), a tablet computer, a personal digital assistant (PDA), or other type of digital computing device that has the capability to communicate via at least a cellular network connection (and possibly other types of network connections). In some instances, while docked in docking station 110, a wired connection via VoIP network 115 may be available to mobile device 105 via docking station 110. A VoIP client application 125 at mobile device 105 may determine that VoIP calls may be received via VoIP network 115 and may instruct a call handling node 130 in cellular network 120 to forward calls directed to mobile device 105's cellular network TN to VoIP network 115 for further forwarding to VoIP client application 125 of mobile device 105 as a VoIP call via a VoIP call server 135. The VoIP call forwarded from VoIP call server 135 may include additional information that identifies the call as originating in cellular network 120 (i.e., originally destined for a cellular network TN associated with mobile device 105). In one exemplary implementation, the additional information may be included as alert information in a Session Initiation Protocol (SIP) header of SIP signaling associated with the VoIP call. In another exemplary implementation, the additional information may be included as a flag and an Originally Called Number (OCN) or Redirect Number (RDN) in a SIP header of SIP signaling associated with the VoIP call.
When call handling node 130 receives a cellular call 143 destined for the cellular network TN associated with mobile device 105, call handling node 130 may forward the call 145 to a proxy telephone number in VoIP network 115. Forwarded call 145 may be received at a gateway node 150, re-formatted as a VoIP call, and then forwarded as a call 155 to VoIP call server 135. At VoIP call server 135, the proxy TN may also be associated (e.g., in a table look-up) with an enterprise VoIP TN associated with mobile device 105. VoIP call server 135 may retrieve the VoIP TN for mobile device 105 based on the proxy TN. Subsequent to retrieving the VoIP TN for mobile device 105, VoIP call server 135 may forward the call 160, as a VoIP call, to VoIP client application 125 at mobile device 105.
In addition to the forwarded call, VoIP call server 135 may send data associated with the call that identifies the call as having originated in a cellular network (i.e., was originally destined for mobile device 105's cellular network TN). In one exemplary implementation, the data may include alert information, included in a Session Initiation Protocol (SIP) header of SIP signaling associated with the call, which identifies the call as having originated in a cellular network. Upon receipt of forwarded call 160 at mobile device 105, VoIP client application 125 may present call 160 differently to a user of mobile device 105 than VoIP calls received at mobile device 105 that were originally destined for the VoIP telephone number. In one exemplary implementation, presenting call 160 differently to the user may include using distinctive ringing for the call forwarded from the VoIP call server that is different than ringing used for the VoIP calls received at the mobile device that were originally destined for the VoIP telephone number. In another exemplary implementation, presenting call 160 differently to the user may include displaying, at the mobile device, an indication that the forwarded call was originally destined for the cellular telephone number.
When call handling node 130 receives a cellular call 143 destined for the cellular network TN associated with mobile device 105, then call handling node 130 may forward the call as a forwarded call 145 to the enterprise TN in VoIP network 115 associated with mobile device 105. Forwarded call 145 may be received at a gateway node 150, re-formatted as a VoIP call, and then forwarded as a call 155 to VoIP call server 135. When forwarded call 155 is received at VoIP call server 135, VoIP call server 135 may set a flag indicating that the call originated in cellular network 120, and may obtain the SIP OCN and/or RDN for the call that identifies the cellular network TN of mobile device 105 to which the call was originally destined. VoIP call server 135 may forward the call 160, as a VoIP call, to VoIP client application 125 at mobile device 105.
In addition to the forwarded call, VoIP call server 135 may send data associated with the call that identifies the call as having originated in a cellular network (i.e., was originally destined for mobile device 105's cellular network TN). In one exemplary implementation, the data may include the flag and the OCN and/or RDN included in a Session Initiation Protocol (SIP) header of SIP signaling associated with the call. Upon receipt of forwarded call 160 at mobile device 105, VoIP client application 125 may present call 160 differently to a user of mobile device 105 than VoIP calls received at mobile device 105 that were originally destined for the VoIP telephone number. In one exemplary implementation, presenting call 160 differently to the user may include using distinctive ringing for the call forwarded from the VoIP call server that is different than ringing used for the VoIP calls received at the mobile device that were originally destined for the VoIP telephone number. In another exemplary implementation, presenting call 160 differently to the user may include displaying, at the mobile device, an indication that the forwarded call was originally destined for the cellular telephone number.
As further shown in
When implementing the bridging mode, system 320 may forward packets, at layer 2, network 115, though docking station 110, to mobile device 105. Additionally, system 320 may forward packets, at layer 2, from mobile device 105, though docking station 110, to network 115. Docking station 100 may have an IP address, routable in network 115, and mobile device 105 may also have a different IP address that is routable in network 115. System 320, implementing the bridging mode, may forward packets received at docking station 110 from network 115 to the routable IP address of mobile device 105. Additionally, when implementing the bridging mode, system 320 may forward packets, received from mobile device 105 at the routable IP address of docking station 110, to network 115.
As shown in
As further shown in
Media 400 may include audio or video data (e.g., streaming audio or video) that may be streamed from mobile device 105 for playback on docking station 110, or that may be streamed from docking station 110 for playback on mobile device 105. Media 400 may be streamed from mobile device 105 IP address 425 to docking station IP address 430, or from docking station IP address 430 to mobile device 105 IP address 425. Other data 405 may include keypad information (e.g., indications of keypad presses on docking station 110), status information (e.g., voicemail message indicator light, etc.), and other information that may be exchanged between mobile phone IP address 425 and docking station 110 IP address 430. Other data 405 may further include data other than audio or video data, such as, for example, web traffic data. The transfer of media 400 and/or other data 405 may be through sockets, such as Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) sockets.
VoIP traffic 300 may include VoIP signaling traffic (e.g., Session Initiation Protocol (SIP) traffic) and VoIP media traffic (e.g., Real-time Transport Protocol (RTP) or RTP Control Protocol (RTCP)) and may be forwarded through docking station 110 via NAPT/NAT system 320. NAPT/NAT system 320 may implement a forwarding table that forwards packets to/from mobile device 105 through docking station 110 to routable network 115. For VoIP applications, the forwarding table may be configured to pass SIP and RTP or RTCP traffic to/from mobile device 105 to routable network 115. Additionally, other network traffic 410 may be forwarded to/from mobile device 105 through docking station 110 to routable network 115 by the forwarding table based on NAPT or NAT filtering. Other network traffic 410 may include Internet traffic (e.g., web browsing), etc. The forwarding table of NAPT/NAT system 320 may receive packets from IP address 425 of mobile device 105 sent to routable IP address 435 of docking station 110, and may forward the packets to an appropriate next hop IP address in network 115 (e.g., to a next hop switch). The forwarding table of NAPT/NAT system 320 may further receive packets from an IP address in network 115 sent to routable IP address 435, and may forward the packets to non-routable IP address 425 of mobile device 105. A network administrator of network 115 may designate what kinds of traffic are permissible, and the forwarding table at docking station 110 may be configured appropriately (e.g., e-mail and web browsing may be forwarded whereas other undesirable traffic may be blocked during the forwarding process). A forwarding table implemented at mobile device 105 may use routable IP address 435 of docking station 110 as the default gateway address for all outgoing packets.
As shown in
Media 400 may be streamed from mobile device 105 for playback on docking station 110, or may be streamed from docking station 110 for playback on mobile device 105. Media 400 may be streamed from mobile device 105 IP address 500 to docking station IP address 435, or from docking station IP address 435 to mobile device 105 IP address 500. Other data 405 may include keypad information, status information, and other information that may be exchanged between mobile device IP address 500 and docking station 110 IP address 435.
VoIP traffic 300 may include VoIP signaling traffic (e.g., SIP traffic) and VoIP media traffic (e.g., RTP or RTCP) and may be forwarded through docking station 110 via bridging system 320. Bridging system 320 may forward, at layer 2, packets to/from mobile device 105 through docking station 110 to/from routable network 115. Bridging system 320 may “transparently” forward packets, without any NAPT or NAT filtering as performed in the implementation of
Docking port 210 may include a port that may physically engage with tray 200 into which mobile device 105 is inserted. The shape and size of docking port 210 may be different based on a different external configuration of mobile device 105. Docking port 210 may further include a USB port 605, which also includes a charging port 610 (i.e., USB port 605 may simultaneously act as a data port and a battery charging port). Though a single USB port 605 is depicted in
NAPT/NAT/bridging system 320 may include, in one exemplary implementation that corresponds to
Communication interface 615 may include a transceiver for communicating with network 115. Processing unit 620 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. The instructions may be stored in memory (not shown), such as, for example, a random access memory (RAM), a Read Only Memory (ROM), or another type of dynamic or static storage device that may store information and instructions for execution by processing unit 620.
Audio unit 625 may include a microphone for receiving audio input into docking station 110, and may include mechanisms for playback of audio data received from the microphone, or received from mobile device 105. Video unit 630 may include a camera for capturing video, and may further include mechanisms for playback of video data received from the camera, or received from mobile device 105. Display 635 may include a display device that may display video data or other types of data associated with the operation of docking station 110 or mobile device 105. In some implementations, display 630 may include a touch screen display that registers touch input at different locations upon the touch screen. Keypad/touch input unit 640 may include an alphanumeric keypad and mechanisms for receiving indications of touch input from display 630.
NFC reader 645 may include a short range, high frequency system that enables the short range (e.g., 10 cm) exchange of data with mobile device 105. When mobile device 105 is placed in proximity to docking station 110 (e.g., device 105 is inserted into docking port 210), NFC reader 645 may “read” phone identity information from a corresponding NFC system located in device 105. In addition to phone identity information, NFC reader 645 may also read phone user identity information from the corresponding NFC system located in device 105. NFC reader 645 may, thus, be used to identify different phones that may be placed in proximity to docking station 110. Bluetooth interface 650 may include a short wavelength system for connecting with, and exchanging data over short distances, with any type of Bluetooth enabled device. Bluetooth interface 650 may, for example, connect with a Bluetooth enabled audio headset that permits a wearer to listen to audio from audio unit 625.
The configuration of components of docking station 110 illustrated in
Processing unit 720 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Main memory 730 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processing unit 720. ROM 740 may include a ROM device or another type of static storage device that may store static information and instructions for use by processing unit 720. Storage device 750 may include a magnetic and/or optical recording medium.
Input device 760 may include one or more mechanisms that permit an operator to input information to mobile device 105, such as, for example, a keypad or a keyboard, voice recognition and/or biometric mechanisms, etc. Output device 770 may include one or more mechanisms that output information to the operator, including a display, a speaker, etc. Communication interface 780 may include any transceiver mechanism that enables mobile device 105 to communicate with other devices and/or systems. For example, communication interface 780 may include a radio frequency transceiver for communicating via cellular network 120. USB I/F 790 may include interconnection mechanisms to permit mobile device 105 to physically and electrically connect with USB port 605 of docking station 110. NFC system 795 may include a short range, high frequency system that enables the short range exchange of data with mobile device 105. When mobile device 105 is placed in proximity to docking station 110 (e.g., device 105 is inserted into docking port 210), NFC system 795 may transmit phone identity information and/or phone user identity information that may be “read” by NFC reader 645 of docking station 110.
The configuration of components of mobile device 105 illustrated in
The exemplary process may include determining whether VoIP client application 125 at mobile device 105 is accepting VoIP calls (block 800). In one exemplary implementation, VoIP client application 125 may be accepting VoIP calls from VoIP network 115 when mobile device 105 has been docked with docking station 110 (as shown in
If VoIP client application 125 is not accepting VoIP calls (NO—block 800), then cellular calls may be enabled via cellular network 120 (block 805). Mobile device 105 may, therefore, receive calls originating from cellular network 120. If VoIP client application 125 is accepting VoIP calls (YES—block 800), the VoIP client application 125 at mobile device 105 may determine whether mobile device 105 is accepting calls to the cellular network telephone number associated with mobile device 105 (block 810). In one exemplary implementation, when VoIP client application 125 is accepting VoIP calls, then calls via cellular network 120 may be disabled and caused to be forwarded as VoIP calls to VoIP client application 125, as described below with respect to blocks 820 through 840, or blocks 845 through 870. In another exemplary implementation, when VoIP client application 125 is accepting calls, then calls via cellular network 120 may also be accepted, and when a call via cellular network 120 is received, any active VoIP calls being received via VoIP network 115 may be dropped. If mobile device 105 is accepting calls to the cellular network telephone number (YES—block 810), then VoIP client application 125 may drop active VoIP call(s) when a call to the cellular network telephone number is received at mobile device 105 (block 815).
If mobile device 105 is not accepting calls to the cellular network telephone number (NO—block 810), then two different techniques may be used to enable VoIP client application 125 to cause calls directed to a cellular network TN associated with mobile device 105 to be selectively forwarded to mobile device 105 as a VoIP call via VoIP network 115. In a first exemplary technique, shown in blocks 820 through 840 of
In the first exemplary technique, VoIP client application 125 notifies cellular network call handling node 130 to forward calls directed to mobile device 105's cellular network TN to a proxy TN at VoIP call server 135 (block 820).
VoIP call server 135 receives a call forwarded to the proxy TN (block 825) and then forwards the call from the proxy TN to an enterprise VoIP TN with alert information in the SIP header that identifies the call as originating in cellular network 120 (block 830,
VoIP client application 125 may determine whether the forwarded call from VoIP call server 135 has been received at mobile device 105 (block 835).
In the second exemplary technique, shown in blocks 845 through 870 of
VoIP call server 135 may receive the call forwarded to the enterprise VoIP TN, may set a flag (i.e., set value of flag from zero to one) indicating that the call was originally directed to mobile device 105's cellular network TN, and may include an identification of the originally called number (OCN) or the Redirect number (RDN) (block 850). VoIP call server 135 may forward the received call to the enterprise VoIP TN with the flag set and an OCN and/or RDN included in SIP header information associated with the forwarded call (block 855,
VoIP client application 125 may determine whether the forwarded call from VoIP call server 135 has been received at mobile device 105 (block 860).
The foregoing description of implementations provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
Certain features described above may be implemented as “logic” or a “unit” that performs one or more functions. This logic or unit may include hardware, such as one or more processors, microprocessors, application specific integrated circuits, or field programmable gate arrays, software, or a combination of hardware and software.
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
The present application is a continuation-in-part (CIP) of U.S. application Ser. No. 12/971,409 (Attorney Docket No. 20100715), entitled “Mobile Phone Docking Station for VoIP” and filed Dec. 17, 2010, the disclosure of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 12971409 | Dec 2010 | US |
Child | 13040336 | US |