Extending communication services to a consumption device using a proxy device

Information

  • Patent Grant
  • 10855729
  • Patent Number
    10,855,729
  • Date Filed
    Monday, February 5, 2018
    6 years ago
  • Date Issued
    Tuesday, December 1, 2020
    4 years ago
Abstract
A system for data communications comprising a handset having a processor, a wireless communications device, a speaker and a microphone and one or more software applications operating on the processor that are configured to interface with a voice over long-term evolution (VoLTE) service. A wireless access point coupled to the handset through a local wireless communications media and the wireless communications device, the wireless access point further coupled to a long range wireless communications media and configured to interface with a server that provides VoLTE calling functionality.
Description
TECHNICAL FIELD

The present disclosure relates generally to data communications and more specifically to extending communication services to a consumption device using a proxy device.


BACKGROUND OF THE INVENTION

Data communications includes the use of packet switched networks to support voice communications, but due to regulatory requirements, certain classes of devices may be incapable of using different types of communications protocols.


SUMMARY OF THE INVENTION

A system for data communications comprising a handset having a processor, a wireless communications device, a speaker and a microphone and one or more software applications operating on the processor that are configured to interface with a voice over long-term evolution (VoLTE) service. A wireless access point coupled to the handset through a local wireless communications media and the wireless communications device, the wireless access point further coupled to a long range wireless communications media and configured to interface with a server that provides VoLTE calling functionality.


Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views, and in which:



FIG. 1 is a diagram of a system for extending communication services to a consumption device using a proxy device, in accordance with an exemplary embodiment of the present disclosure;



FIG. 2 is a diagram of an algorithm for receiving a call at a VoLTE-enabled device, in accordance with an exemplary embodiment of the present disclosure; and



FIG. 3 is a diagram of an algorithm for setting up a call at a VoLTE-enabled device, in accordance with an exemplary embodiment of the present disclosure.





DETAILED DESCRIPTION OF THE INVENTION

In the description that follows, like parts are marked throughout the specification and drawings with the same reference numerals. The drawing figures might not be to scale and certain components can be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness.



FIG. 1 is a diagram of a system 100 for extending communication services to a consumption device using a proxy device, in accordance with an exemplary embodiment of the present disclosure. System 100 can be implemented in hardware or a suitable combination of hardware and software, and can be one or more software systems operating on one or more processors.


As used herein, “hardware” can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, “software” can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications, on one or more processors (where a processor includes a microcomputer or other suitable controller, memory devices, input-output devices, displays, data input devices such as a keyboard or a mouse, peripherals such as printers and speakers, associated drivers, control cards, power sources, network devices, docking station devices, or other suitable devices operating under control of software systems in conjunction with the processor or other devices), or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application. As used herein, the term “couple” and its cognate terms, such as “couples” and “coupled,” can include a physical connection (such as a copper conductor), a virtual connection (such as through randomly assigned memory locations of a data memory device), a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections.


System 100 includes handset 102, which communicates with WiFi hotspot 104 over communications media 124. In one exemplary embodiment, handset 102 can have an associated sender 116 and listener 118 that communicate with a corresponding listener 120 and sender 122 of WiFi hotspot 104. Handset 102 also includes dialer 110, security 112 and VoLTE 114. Dialer 110 can be an application operating on handset 102 or other suitable hardware or software that is configured to generate a digit stream for dialing an outgoing number. In one exemplary embodiment, dialer 110 can be implemented using one or more objects, each having graphic, functional and text attributes that generate a plurality of user-selectable keypad controls that allow a user to enter a telephone number or other suitable numbers.


Security 112 can be an application operating on handset 102 or other suitable hardware or software that is configured to control access to WiFi hotspot 104. In one exemplary embodiment, security 112 can be implemented using one or more objects, each having graphic, functional and text attributes that generate a plurality of user-selectable keypad controls that prompts a user to enter a personal identification number or other suitable codes to prevent an unauthorized user from accessing the calling functionality of VoLTE proxy 124.


VoLTE 114 can be one or more software applications configured to provide voice over Long Term Evolution (VoLTE) communications, in accordance with the LTE standard for communication published by the 3rd Generation Partnership Project. In one exemplary embodiment, a handset can be configured to communicate using voice over LTE in conjunction with VoLTE proxy 124 on WiFi hotspot 104. VoLTE proxy 124 can be one or more software applications that interface with one or more handsets 102, which can be smart phones, Bluetooth handsets or other suitable devices.


In operation, a user can place an outgoing call using handset 102 and WiFi hotspot 104, by dialing a telephone number using dialer 110 after accessing WiFi hotspot over communications media 124. Dialer 110 can be used to enter a PIN for security 112, and to transmit an outgoing number to set up a call to called/calling party 108. WiFi hotspot 104 and VoLTE proxy 124 then set up the call to called/calling party 108 using server 106 over communications media 126 and communications media 128, each of which can be a wireless communications medium, a wireline communications medium, other suitable communications media or a suitable combination of communications media. On one exemplary embodiment, communications media 126 can be a LTE long range wireless data network, and communications media 128 can be the public switched telephone network (PSTN), a private packet switched network or other suitable media or combinations of media.


Likewise, a user can receive an incoming call from called/calling party 108, who calls VoLTE proxy 124 over communications media 128 and communications media 126 using server 106. VoLTE proxy 124 can generate a ring signal on handset 102 and other suitable handsets, and can establish a voice channel with the first handset that answers using listener 120 and sender 122 or in other suitable manners.



FIG. 2 is a diagram of an algorithm 200 for receiving a call at a VoLTE-enabled device, in accordance with an exemplary embodiment of the present disclosure. Algorithm 200 can be implemented in hardware or a suitable combination of hardware and software, and can be one or more software systems operating on one or more processors.


Algorithm 200 begins at 202, where a call is received on a VoLTE proxy operating on a WiFi hotspot. In one exemplary embodiment, the WiFi hotspot can have an associated telephone number that is registered with a server that provides VoLTE services, and a third party can call that number in order to set up a call with a user associated with the VoLTE proxy. When the calling party enters the telephone number of the VoLTE proxy, a server and other suitable communications devices set up a voice channel between the calling party and the VoLTE proxy using suitable algorithms. The algorithm then proceeds to 204.


At 204, the VoLTE proxy generates a ring tone on one or more handset devices. In one exemplary embodiment, each handset device can be registered with the VoLTE proxy over associated sender and listener ports, and the VoLTE proxy can send a ring command to a VoLTE system or algorithm operating on each handset, or other suitable algorithms can be used to generate the ring command. The algorithm then proceeds to 206.


At 206, it is determined whether a handset has answered the call. In one exemplary embodiment, a VoLTE application operating on the handset can generate an answer control, can receive an off hook control signal from a device, or can use other suitable algorithmic processes or devices to generate an off hook signal that is transmitted to the VoLTE proxy. If it is determined that no off hook signal or other suitable control data has been received at 206, such as by checking a predetermined register for a predetermined stored data value, the algorithm proceeds to 214. Otherwise, the algorithm proceeds to 208.


At 208, one or more other handsets are deactivated by the VoLTE proxy. In one exemplary embodiment, a predetermined data register can be set to a value that prevents the other handsets from establishing a connection with the VoLTE proxy while it is being used to support a telephone call. Likewise, other suitable processes or algorithms can also or alternatively be used. The algorithm then proceeds to 210.


At 210, the voice channel is established to the answering handset. In one exemplary embodiment, caches can be established to store voice data for transmission to the handset from the calling party, and to store voice data from the handset for transmission to the called party, or other suitable processes or algorithms can also or alternatively be used. The algorithm then proceeds to 212.


At 212, voice channel data is received and transmitted between the called and calling parties. In one exemplary embodiment, one or more software applications for providing VoLTE voice communications can be used to monitor buffered data and to transmit the buffered data at suitable times to support duplex voice communications over a packet switched network, to provide echo cancellation, to provide noise suppression and for other suitable purposes. The algorithm then proceeds to 214.


At 214, it is determined whether the call has ended. In one exemplary embodiment, an on hook signal can be generated when a calling party or the local handset terminates the call, an activity detector can determine that no activity has occurred for a predetermined period of time or other suitable processes can also or alternatively be used to determine whether the call has ended. If it is determined that the call has ended, the algorithm proceeds to 216, where the VoLTE proxy is reset to receive another incoming call or to set up an outgoing call from one of the handsets. Otherwise, the algorithm returns to 212.


In operation, algorithm 200 allows a VoLTE proxy to receive an incoming call and to generate a ring signal to allow a handset to answer the incoming call. The VoLTE proxy can service a number of different handsets, and can generate the same ringtone on each handset, or can generate different ring tones on different handsets, such as where the VoLTE proxy can receive calls for different telephone numbers. Although algorithm 300 is shown as a flow chart, algorithm 200 can also or alternatively be implemented using object oriented programming, state diagrams or other suitable programming paradigms.



FIG. 3 is a diagram of an algorithm 300 for setting up a call at a VoLTE-enabled device, in accordance with an exemplary embodiment of the present disclosure. Algorithm 300 can be implemented in hardware or a suitable combination of hardware and software, and can be one or more software systems operating on one or more processors.


Algorithm 300 begins at 302, where a calling session is initiated at a handset. In one exemplary embodiment, the calling session can be initiated by activating an application that operates on the handset and which sets up a sender and listener on the handset and a corresponding listener and sender on a WiFi hotspot, by generating a dialer user interface on the handset or in other suitable manners. The algorithm then proceeds to 304.


At 304, access security is processed, such as by determining whether the handset has credentials to access the WiFi hotspot, by generating a user interface prompt to enter a PIN number or access code or in other suitable manners. In one exemplary embodiment, access security can be determined when the handset originally obtains access to the WiFi hotspot, prior to initiating the calling session or in other suitable manners. The algorithm then proceeds to 306.


At 306, a call is initiated from a VoLTE proxy operating on the WiFi hotspot. In one exemplary embodiment, the WiFi hotspot can include a processor and associated software applications that cause the processor to execute a series of instructions that receive a calling number from a handset, that set up a call with a called party using a VoLTE server or other suitable packet-switched voice communications protocols, that manage communications once the call is in progress and that perform other suitable functions. The VoLTE proxy can also or alternatively manage multiple calls from multiple handsets, such as by managing different telephone numbers for each handset or in other suitable manners. The algorithm then proceeds to 308.


At 308, it is determined whether the called party has answered the call, such as by monitoring the status of a data register that is updated when an off-hook signal is received from the called party or in other suitable manners. If it is determined that the called party has not answered the call after a predetermined number of rings, a predetermined period time or in other suitable manners, the algorithm proceeds to 314, otherwise the algorithm proceeds to 310 where a voice channel with the called party is established. The algorithm then proceeds to 312, where voice data is received and transmitted from the calling handset to the called party. In one exemplary embodiment, the VoLTE proxy operating on the WiFi hotspot can buffer data received from the handset and the called party and can manage the transmission and reception of data to process the data to reduce echo signals, to improve sound quality, to reduce noise, to avoid delays and for other suitable purposes. The algorithm then proceeds to 314.


At 314, it is determined whether the call has terminated. In one exemplary embodiment, the called party can send an on-hook signal or other suitable data that can be used to determine that the call has ended, an activity detector or other suitable systems can be used to determine if the called party has terminated the call or other suitable processes can also or alternatively be used. If it is determined that the call has not ended, the algorithm returns to 312, otherwise the algorithm proceeds to 316, where the VoLTE proxy is reset.


In operation, algorithm 300 allows a WiFi hotspot to operate a VoLTE proxy, to allow a handset that has access to WiFi to use the VoLTE services to place calls over a packet switched network. Although algorithm 300 is shown as a flow chart, algorithm 300 can also or alternatively be implemented using object oriented programming, state diagrams or other suitable programming paradigms.


It should be emphasized that the above-described embodiments are merely examples of possible implementations. Many variations and modifications may be made to the above-described embodiments without departing from the principles of the present disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims
  • 1. A system for data communications comprising: a wireless access point coupled to a handset through a local wireless communications media, the wireless access point further coupled to a long range wireless communications media, the wireless access point having a processor and one or more software applications operating on the processor and configured to:receive a call initiation from the handset at the wireless access point using a network registered sender port and a listener port of the handset and a corresponding network registered listener port and sender port, respectively, of the wireless access point;initialize a voice over long-term evolution (VoLTE) proxy; andutilize a long range wireless communications media from the wireless access point to initiate an interface with a server that provides VoLTE calling functionality using the VoLTE proxy.
  • 2. The system of claim 1 further comprising: the handset having a processor, a wireless communications device, a speaker and one or more software applications operating on the processor that are configured to: initiate a call from the handset using a VoLTE service and a local wireless network;receive a call at a VoLTE enabled device; andgenerate a ring signal at the speaker of the handset device using the initialized VoLTE proxy.
  • 3. The system of claim 2 wherein the wireless access point is coupled to the handset through the local wireless communications media and the wireless communications device.
  • 4. The system of claim 2 wherein the one or more software applications operating on the processor of the handset are configured to set up a call at a VoLTE-enabled device using the sender port and the listener port of the handset and the initialized VoLTE proxy.
  • 5. The system of claim 2 wherein the one or more software applications operating on the processor of the handset are configured to set up the sender port of the handset using the initialized VoLTE proxy.
  • 6. The system of claim 1 wherein the one or more software applications operating on the processor of the handset are configured to set up the listener port of the handset using the initialized VoLTE proxy.
  • 7. The system of claim 1 wherein the one or more software applications operating on the processor of the wireless access point are configured to: set up the sender port of the handset using the initialized VoLTE proxy; andset up the listener port of the handset using the initialized VoLTE proxy.
  • 8. A method for data communications comprising: registering a listener port and a sender port on a network at each of a plurality of handsets and a corresponding sender port and listener port, respectively at a wireless access point for each of the plurality of handsets;utilizing a long range wireless communications media from the wireless access point to initiate an interface with a server that provides a voice over long-term evolution (VoLTE) calling functionality;receiving a call at a VoLTE proxy of a wireless access point; andgenerating a ring signal at each of the plurality of handsets using the listener of each handset using the VoLTE proxy of the wireless access point.
  • 9. The method of claim 8 further comprising initiating a call from one of the plurality of handsets using a VoLTE service and a local wireless network.
  • 10. The method of claim 9 wherein initiating the call from one of the plurality of handsets using the VoLTE service and the local wireless network comprises processing an access security procedure using the VoLTE proxy.
  • 11. The method of claim 8 wherein utilizing the long range wireless communications media from the wireless access point to initiate the interface with the server that provides VoLTE calling functionality comprises initiating a call with the VoLTE proxy.
  • 12. The method of claim 8 wherein utilizing the long range wireless communications media from the wireless access point to initiate the interface with the server that provides VoLTE calling functionality comprises: initiating a call with the VoLTE proxy; andestablishing a voice channel.
  • 13. The method of claim 8 wherein utilizing the long range wireless communications media from the wireless access point to initiate the interface with the server that provides VoLTE calling functionality comprises: initiating a call with the VoLTE proxy;establishing a voice channel; andreceiving and transmitting voice data after the voice channel is established.
  • 14. The method of claim 8 wherein utilizing the long range wireless communications media from the wireless access point to initiate the interface with the server that provides VoLTE calling functionality comprises: initiating a call with the VoLTE proxy;establishing a voice channel;receiving and transmitting voice data after the voice channel is established;determining whether the call has been terminated; andcontinuing the receiving and transmitting voice data if the call has not been terminated.
  • 15. The method of claim 8 further comprising: receiving a call at the VoLTE proxy;generating a ring signal at each of the handset devices; anddetermining whether one of the handset devices has answered the call.
  • 16. The method of claim 8 further comprising: receiving a call at the VoLTE proxy;generating a ring signal at each of the handset devices;determining whether one of the handset devices has answered the call; anddeactivating one or more other handset devices if the one of the handset devices has answered the call.
  • 17. The method of claim 8 further comprising: receiving a call at the VoLTE proxy;generating a ring signal at each of the handset devices;determining whether one of the handset devices has answered the call;deactivating one or more other handset devices if one of the handset devices has answered the call; andestablishing a voice channel with the handset device that answered the call.
  • 18. The method of claim 8 further comprising: receiving a call at the VoLTE proxy;generating a ring signal at each of the handset devices;determining whether one of the handset devices has answered the call;deactivating one or more other handset devices if one of the handset devices has answered the call;establishing a voice channel with the handset device that answered the call; andresetting the VoLTE proxy after completion of the call.
  • 19. The method of claim 8 wherein utilizing the long range wireless communications media from the wireless access point to initiate the interface with the server that provides VoLTE calling functionality comprises: initiating a call with the VoLTE proxy;establishing a voice channel;receiving and transmitting voice data after the voice channel is established;determining whether the call has been terminated;continuing the receiving and transmitting voice data if the call has not been terminated; andresetting the VoLTE proxy if the call has been terminated.
  • 20. A system for data communications comprising: a wireless access point having a voice over long-term evolution (VoLTE) proxy and a plurality of sender ports and listener ports;a plurality of programmable handsets, each having a sender port and a listener port registered on a network, where a corresponding one of the listener ports and sender ports, respectively, at the wireless access point are associated with one of the sender ports and the listener ports of one of the programmable handsets; andthe wireless access point is configured to initiate an interface using the VoLTE proxy with a server that provides VoLTE calling functionality over a long range wireless communications media.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 14/855,265 filed Sep. 15, 2015, which will issue as U.S. Pat. No. 9,888,044 on Feb. 6, 2018, which claims priority to U.S. Provisional Patent Application No. 62/050,516, filed Sep. 15, 2014, which is hereby incorporated by reference for all purposes as if set forth herein in its entirety.

US Referenced Citations (53)
Number Name Date Kind
7382260 Agarwal et al. Jun 2008 B2
7401131 Robertson et al. Jul 2008 B2
7496360 Sindhwani et al. Feb 2009 B2
7701341 Kumar et al. Apr 2010 B2
7774485 Patrick et al. Aug 2010 B2
7822860 Brown et al. Oct 2010 B2
7944355 Kumar et al. May 2011 B2
8170212 Pering et al. May 2012 B2
8195152 Edwards Jun 2012 B1
8265594 Davis et al. Sep 2012 B2
8270944 Gaillouix et al. Sep 2012 B1
9204366 Joung et al. Dec 2015 B2
9237547 Antoun et al. Jan 2016 B1
9264304 Smith et al. Feb 2016 B2
9628572 Smith et al. Apr 2017 B2
9888044 Reddy Feb 2018 B2
10027769 Smith et al. Jul 2018 B2
10123360 Pandit et al. Nov 2018 B2
10212627 Reddy et al. Feb 2019 B2
20030033369 Bernhard Feb 2003 A1
20040098306 Fitzpatrick et al. May 2004 A1
20050044058 Matthews et al. Feb 2005 A1
20050050301 Whittle et al. Mar 2005 A1
20050068938 Wang Mar 2005 A1
20060020904 Aaltonen et al. Jan 2006 A1
20060286984 Bonner Dec 2006 A1
20070239819 Woods et al. Oct 2007 A1
20080287062 Claus et al. Nov 2008 A1
20090228820 Kim et al. Sep 2009 A1
20100049874 Chene et al. Feb 2010 A1
20110246777 Buckley et al. Oct 2011 A1
20120174093 Davila et al. Jul 2012 A1
20120258707 Mathias et al. Oct 2012 A1
20130155170 Eichen Jun 2013 A1
20130219263 Abrahami Aug 2013 A1
20140106709 Palamara Apr 2014 A1
20140226537 Kashimba et al. Aug 2014 A1
20140269510 Xu et al. Sep 2014 A1
20150063346 Eswara et al. Mar 2015 A1
20150081769 Mandyam Mar 2015 A1
20150082021 Mandyam Mar 2015 A1
20150117425 Gupta Apr 2015 A1
20150163642 Bates Jun 2015 A1
20150237641 Sahu Aug 2015 A1
20150263931 Hinkle et al. Sep 2015 A1
20150350899 Hwang et al. Dec 2015 A1
20160029303 Sahu Jan 2016 A1
20160057747 Jhang et al. Feb 2016 A1
20160080505 Sahin et al. Mar 2016 A1
20160174273 Ginnela et al. Jun 2016 A1
20160359942 Li et al. Dec 2016 A1
20170012841 Ketheesan et al. Jan 2017 A1
20170135009 Ling et al. May 2017 A1
Foreign Referenced Citations (3)
Number Date Country
1179244 Feb 2002 EP
2421811 Jun 2011 RU
2013061156 May 2013 WO
Non-Patent Literature Citations (11)
Entry
The International Search Report and Written Opinion issued by the International Search Authority—The Russian Patent Office—dated Sep. 19, 2013 for International Application No. PCT/US2013/046640, 6 Pages.
The International Preliminary Report on Patentability dated Dec. 31, 2014 by the International Bureau of WIPO for International Application No. PCT/US2013/046640, 6 Pages.
The International Search Report and Written Opinion issued by the International Search Authority—The United States Patent and Trademark Office—dated Sep. 30, 2015 for International Application No. PCT/US2015/38683, 10 Pages.
The International Search Report and Written Opinion issued by the International Search Authority—The European Patent Office—dated Dec. 3, 2015 for International Application No. PCT/US2015/050276, 11 Pages.
Gsm Association: “VoLTE Service Description and Implementation Guidelines”, pp. 1-121, Mar. 26, 2014.
Anonymous, et al., “FRITZ!Box 6842 LTE: Der Alleskonner mit Voice-over-LTE”, Feb. 27, 2013.
Avm Gmbh: “FRITZ!Box 6842 LTE Einrichten and bedienen”, pp. 1-212, May 1, 2014.
The International Search Report and Written Opinion issued by the International Search Authority—The Indian Patent Office—dated Jun. 22, 2015 for International Application No. PCT/IB2015/050451, 3 Pages.
The International Search Report and Written Opinion issued by the International Search Authority—The European Patent Office—dated Oct. 20, 2016 for International Application No. PCT/US2016/044842, 11 Pages.
Miller, “Facing the Challenge of Wireless Security”, Computer, 2000, vol. m34, No. 7, pp. 16-18.
Written Submissions in Response to the Summons to Oral Proceedings for co-pending European Patent Application No. 15788240.8 as-filed with the European Patent Office dated Sep. 8. 2020, 14 pages
Related Publications (1)
Number Date Country
20180159905 A1 Jun 2018 US
Provisional Applications (1)
Number Date Country
62050516 Sep 2014 US
Continuations (1)
Number Date Country
Parent 14855265 Sep 2015 US
Child 15888699 US