Method and apparatus for enhanced internet telephony

Information

  • Patent Grant
  • 7924822
  • Patent Number
    7,924,822
  • Date Filed
    Thursday, February 14, 2008
    16 years ago
  • Date Issued
    Tuesday, April 12, 2011
    13 years ago
Abstract
A method and apparatus for enhanced Internet telephony ensures that communication between a source and destination is not interrupted by common network address translation. According to one aspect of the invention, communication may continue through a router that employs network address translation.
Description
BACKGROUND OF THE INVENTION

Today, most common residential broadband deployments are delivered via either cable or DSL modem. Such broadband deployment typically provides customers with a single Ethernet port that grants one public IP address to a single computer device. Given this situation, customers are restricted to using only one computer, and must purchase a router if they desire to share the broadband connection to access, for example, the Internet between more than one of the customer's computer devices.


To transport media and telephone signaling, customers commonly use a Multi Media Terminal Adapter (MTA) coupled between their source device (e.g., a computer or telephone) and their broadband connection. One example of a common Media Terminal Adapter is the Cisco ATA 186 Analog to Telephone Adapter (ATA) manufactured by Cisco Systems, Inc. of San Jose Calif. In the case of Internet telephony, the Media Terminal Adapter operates as a handset to Ethernet adapter that converts traditional telephone analog signals into Internet packets. The packets are then sent using, for example, a standard protocol such as Session Initiation Protocol (SIP) on route towards their destination.



FIG. 1 is a schematic representation of an example user Internet Telephony environment. In FIG. 1, a cable modem 10 provides access to the Internet 20. In the FIG. 1 example, the user employs an intermediate communication point, e.g., router 30 to provide multiple devices access to the Internet 20. The router 30 assigns respective private dynamic IP addresses to the Media Terminal Adapter 40 and to the computer 50.


As shown in the FIG. 1 example, the Media Terminal Adapter 40 is coupled to a common telephone handset 60. The Media Terminal Adapter 40 receives signals from the handset 60, creates packets and sends data packets to the Router 30, which in turn sends them to the cable modem 10 and eventually to the Internet 20.


A major drawback of the above typical environment is the difficulty in accommodating the Network Address Translation (NAT) that is typically implemented by the router 30. As is commonly understood, a Dynamic Host Configuration Protocol server running on the router 30 assigns private dynamic IP addresses to the Media Terminal Adapter 40 and computer 50; thus effecting Network Address Translation (NAT).


When a user wishes to initiate a call and activates the telephone handset 60, the handset sends signals to the Media Terminal Adapter 40. The Media Terminal Adapter 40 then begins the communication/registration process with an Internet telephone service provider. The communication between the Media Terminal Adapter 40 and a server of the Internet telephone service provider employs a standard protocol such as Session Initiation Protocol. But, the router 30 performs the Network Address Translation on a timed basis. As is commonly known, typical routers used in home environments assign private IP addresses to devices connected to the router. But, those addresses are valid only for a limited time. Thus, after the limited time expires, the private address is no longer assigned to a given device, such as the Media Terminal Adapter 40. As a result, the SIP messages sent from Internet telephone service provider's server are not passed by the router 30 to the Media Terminal Adapter 40. Consequently, the Media Terminal Adapter 40 can send SIP messages, but is not able to receive packets from the Internet Telephone service provider's server due to the router 30 losing the originating outbound port and making communication to an MTA located behind a router impossible.



FIG. 2 is a schematic representation of an example environment that addresses the issue of router 30 losing an outbound port during an Internet telephone connection. In the FIG. 2 example, at the Internet telephone service provider, a destination, e.g., a pre-proxy server 70, receives messages from the router 30. Pre-proxy server 70 records the private IP address of the Media Terminal Adapter 40 during, for example, the SIP registration process. It also records the network address translation communication port assigned by the router 30 to the Media Terminal Adapter 40 to and from which it will send and receive messages, such as SIP messages. Upon registration, the Media Terminal Adapter 40 passes fields used to communicate with the pre-proxy server 70. Examples of fields, that can be passed include, for example, the private IP address of the Media Terminal Adapter 40, the public IP address of the router 30, and port information. After the pre-proxy server 70 receives the information from the Media Terminal Adapter 40, the pre-proxy server 70 periodically sends, for example, blank UDP messages to the Media Terminal Adapter 40, which contain the same destination and source address as a typical SIP message would have. Other messages could be used instead of the UDP message. The message used should prompt the Media Terminal Adapter 40 to send a response to the pre-proxy server 70. The pre-proxy server 70 sends, for example, the UDP message to the router 30 using the public IP address of the router 30 and the port information received in the message from the router 30. The pre-proxy server 70 sends, for example, the UDP within the limited time that the router 30 maintains that private address assigned to the Media Terminal Adapter. The router 30 accordingly routes the message to the destination designated in the message from the pre-proxy server 70. The pre-proxy server 70 also maintains the private and public IP addresses of the MTA and rewrites the headers in the actual SIP messages based on this information.


The above solution worked, but it did not solve the network address translation problem for all routers. For example, some routers would close the outbound port if the device behind the router's network address translation did not send an outbound message. Thus, there is a need for a solution to the problem, in Internet telephony, of the network address translation that a router performs as a part of its intended operation.


SUMMARY OF THE INVENTION

It is an object of the present invention to provide a method and apparatus for enhanced Internet telephony that avoids the above drawbacks.


It is another object of the present invention to provide a method and apparatus for enhanced Internet telephony that allows the use of Session Initiated Protocol technology.


It is a further object of the present invention to provide a method and apparatus for enhanced Internet telephony that allows the use of Session Initiated Protocol technology within environments employing network address translation.


It is still another object of the present invention to provide a method and apparatus for enhanced Internet telephony that allows the use of Session Initiated Protocol technology with routers employing network address translation.


To achieve the above and other object, the present invention provides a method for providing enhanced Internet telephony that includes receiving a message from a source at an intermediate point; sending at least a portion of the message from the intermediate point to a destination over the Internet; sending a response to the message from the destination to the intermediate point over the Internet; sending the response from the intermediate point to the source; repeatedly sending other messages from the destination over the Internet to the intermediate point; sending at least a portion of corresponding ones of the other messages from the intermediate point to the source; and sending responses to the portions of the other messages from the source to the intermediate point.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic representation of an example user Internet Telephony environment.



FIG. 2 is a schematic representation of an example environment intended to address the issue of a router losing an outbound port during an Internet telephone connection.



FIG. 3 is a schematic representation of an example environment employing the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENTS


FIG. 3 is a schematic representation of an example environment employing an embodiment of the present invention. In FIG. 3, a user initiates a call using a telephone handset 60. As described above, the media terminal adapter 40 implements standard signaling between itself and an Internet telephony regional data center 80. Once the user has been registered and the destination has provided a SIP acknowledgment of the SIP invite sent by the media terminal adapter 40, communication between the caller 60 and a customer in a destination area 100 proceeds using, for example, Real-time Transport Protocol (RTP) between the caller and a customer in the destination area 100 via the Internet 20 and, for example, a RTP relay 90 in Internet telephony point-of-presence 110 in the destination area 100.


However, with the call set up as described above, the router 30 may close the outbound port after a timeout period. As a result, voice data from the customer in the destination area 110 will not reach the telephone handset 60 behind router 30. To avoid the router 30 timing out and closing the outbound port, an embodiment of the present invention causes the media terminal adapter 40 to send an outbound message to the Internet telephony regional data center 80. One way of accomplishing this is to have the pre-proxy server 75 periodically send an empty SIP notify message to the media terminal adapter 40. The media terminal adapter 40 responds to this notify message in accordance with SIP standards by, for example sending an acknowledgment message. The sending of a message by the media terminal adapter 40 causes the router 30 to keep the outbound port open by, for example restarting the router's timeout period.


Referring to the exemplary embodiment shown in FIG. 3, the Internet telephony regional data center 80 has the pre-proxy server 75 separated from the RTP relay 85. While this separation is not necessary to the present invention, in some environments, it allows additional functionality to be more easily added to the pre-proxy server 75. An example of such additional functionality is the dynamic allocation of the RTP relay 85. The pre-proxy server 75 can allocate the closest RTP relay between the two calling parties. That allocation enables the ability to decrease latency and travel time of the RTP stream. Also as shown in FIG. 3, with the exemplary embodiment, only SIP messages get routed to the Internet telephony regional data center 80. The RTP stream need not travel to the data center, and depending upon the location of the caller and the destination area 100, can travel within a limited geographic area. For example, the telephone handset could be located in California, and the Internet telephony regional data center 80 could be located in New Jersey. If the destination area 100 is also in California, the Internet telephony point of presence in the destination area 90 would be allocated by the pre-proxy server 75 to also be in California. Thus, as noted above, the RTP stream would remain in California; tending to reduce latency and travel time of the RTP stream.


In the above, the pre-proxy server 75 is shown and discussed as a separate computer. This is for convenience of discussion, for purposes of practicing the invention, it does not need to be separate. Instead, the discussed functions that typically would be implemented in a pre-proxy server can be implemented in a computer that is also functioning as a server.

Claims
  • 1. An internet telephony system comprising an internet telephony server configured to process a SIP signaling message to setup a communication of streaming packets with a media terminal adapter on a first network, the internet telephony server being on a second network and further configured to replace a first network address of the media terminal adapter in one or more fields of the SIP signaling message with a second network address to accommodate the first and second networks being separated by a router performing network address translation between corresponding network addresses on the first and second networks, wherein the second network address was received from the router.
  • 2. The internet telephony system of claim 1, wherein the internet telephony server is configured to replace the first network address of the first network for the media terminal adapter in one or more fields of the SIP signaling message with a corresponding second network address of the second network for the media terminal adapter.
  • 3. The internet telephony system of claim 1, wherein the first network is a private network.
  • 4. The internet telephony system of claim 1, wherein the second network is a public network.
  • 5. The internet telephony system of claim 1, wherein the internet telephony server is further configured to store a network address of the first network for the media terminal adapter.
  • 6. The internet telephony system of claim 1, wherein the internet telephony server is further configured to store the second network address corresponding to the media terminal adapter.
  • 7. The internet telephony system of claim 1, wherein the SIP signaling message is a SIP Invite.
  • 8. The internet telephony system of claim 1, wherein the internet telephony server is further configured as a pre-proxy server.
  • 9. The internet telephony system of claim 1, wherein the streaming packets are Real Time Transport Protocol (RTP) packets.
  • 10. A method of providing internet telephony comprising: receiving at an internet telephony server on a second network a Session Initiation Protocol (SIP) signaling message for setting up a communication of streaming packets with a media terminal adapter on a first network;replacing a network address of the media terminal adapter in one or more fields of the SIP signaling message with a different network address to accommodate the first and second networks being separated by a router performing network address translation between corresponding network addresses on the first and second networks, wherein the different network address is received from the router.
  • 11. The method of providing interne telephony of claim 10, wherein a network address of the first network for the media terminal adapter in one or more fields of the SIP signaling message is replaced with a corresponding network address of the second network for the media terminal adapter.
  • 12. The method of providing internet telephony of claim 10, wherein the first network is a private network.
  • 13. The method of providing internet telephony of claim 10, wherein the second network is a public network.
  • 14. The method of providing internet telephony of claim 10 further comprising the step of storing a network address of the first network for the media terminal adapter.
  • 15. The method of providing internet telephony of claim 10 further comprising the step of storing the different network address of the second network corresponding to the media terminal adapter.
  • 16. The method of providing internet telephony of claim 10, wherein the SIP signaling message is a SIP Invite.
  • 17. The method of providing internet telephony of claim 10, wherein the internet telephony server is configured as a pre-proxy server.
  • 18. The method of providing internet telephony of claim 10, wherein the streaming packets are Real Time Transport Protocol (RTP) packets.
  • 19. The system of claim 1, wherein the field is a SDP field.
  • 20. The method of claim 10, wherein the field is a SDP field.
  • 21. An internet system comprising: an internet telephony server configured to receive and process a SIP signaling message to setup a communication of streaming packets with a media terminal adapter on a first network,the internet telephony server being on a second network and further configured to replace a first network address of the media terminal adapter in one or more fields of the SIP signaling message with a second network address; and,a NAT router separating the first network from the second network and configured to provide the second network address to the internet telephony server via the SIP signaling message.
Parent Case Info

The present application is a divisional application that claims priority benefit of U.S. patent application Ser. No. 10/684,593 filed Oct. 15, 2003, now U.S. Pat. No. 7,417,981 entitled “Method and Apparatus for Enhanced Internet Telephony” the disclosure of which is hereby incorporated by reference.

US Referenced Citations (214)
Number Name Date Kind
4100377 Flanagan Jul 1978 A
4748620 Adelmann et al. May 1988 A
4782485 Gollub Nov 1988 A
4935956 Hellwarth et al. Jun 1990 A
5018136 Gollub May 1991 A
5444707 Cerna et al. Aug 1995 A
5452289 Sharma et al. Sep 1995 A
5526353 Henley et al. Jun 1996 A
5623490 Richter et al. Apr 1997 A
5966427 Shaffer et al. Oct 1999 A
5995491 Richter et al. Nov 1999 A
6014437 Acker et al. Jan 2000 A
6067516 Levay et al. May 2000 A
6084956 Turner et al. Jul 2000 A
6092115 Choudhury et al. Jul 2000 A
6097804 Gilbert et al. Aug 2000 A
6104706 Richter et al. Aug 2000 A
6115460 Crowe et al. Sep 2000 A
6115468 De Nicolo Sep 2000 A
6118860 Hillson et al. Sep 2000 A
6122364 Petrunka et al. Sep 2000 A
6128379 Smyk Oct 2000 A
6137869 Voit et al. Oct 2000 A
6138072 Nagai Oct 2000 A
6167042 Garland et al. Dec 2000 A
6169741 LeMaire et al. Jan 2001 B1
6175565 McKinnon et al. Jan 2001 B1
6178239 Kishinsky et al. Jan 2001 B1
6185285 Relyea et al. Feb 2001 B1
6188762 Shooster Feb 2001 B1
6195425 Farris Feb 2001 B1
6226286 Danne et al. May 2001 B1
6226361 Koyama May 2001 B1
6243443 Low et al. Jun 2001 B1
6249576 Sassin et al. Jun 2001 B1
6266405 Madour et al. Jul 2001 B1
6272126 Strauss et al. Aug 2001 B1
6282281 Low Aug 2001 B1
6282284 Dezonno et al. Aug 2001 B1
6292553 Fellingham et al. Sep 2001 B1
6298064 Christie Oct 2001 B1
6304572 Christie Oct 2001 B1
6304637 Mirashrafi et al. Oct 2001 B1
6304653 O'Neil et al. Oct 2001 B1
6310941 Crutcher et al. Oct 2001 B1
6311182 Colbath et al. Oct 2001 B1
6320951 Shtivelman et al. Nov 2001 B1
6327572 Morton et al. Dec 2001 B1
6330317 Garfinkel Dec 2001 B1
6337889 Mita et al. Jan 2002 B1
6337899 Alcendor et al. Jan 2002 B1
6343115 Foladare et al. Jan 2002 B1
6343143 Guillemaud et al. Jan 2002 B1
6349132 Wesemann et al. Feb 2002 B1
6351464 Galvin et al. Feb 2002 B1
6351526 Shaffer et al. Feb 2002 B1
6366577 Donovan Apr 2002 B1
6366661 Devillier et al. Apr 2002 B1
6373836 Deryugin et al. Apr 2002 B1
6373936 Raniere et al. Apr 2002 B1
6373938 Palacios et al. Apr 2002 B1
6385209 Skirmont et al. May 2002 B1
6389119 McBride May 2002 B1
6393476 Barnhouse et al. May 2002 B1
6400820 Edwards et al. Jun 2002 B1
6404746 Cave et al. Jun 2002 B1
6404882 Fellner et al. Jun 2002 B2
6404884 Marwell et al. Jun 2002 B1
6408062 Cave Jun 2002 B1
6408065 O'Neil et al. Jun 2002 B1
6411697 Creamer et al. Jun 2002 B1
6411704 Pelletier et al. Jun 2002 B1
6415269 Dinwoodie Jul 2002 B1
6421437 Slutsman Jul 2002 B1
6424707 Chatterjee Jul 2002 B1
6430175 Echols et al. Aug 2002 B1
6430176 Christie, IV Aug 2002 B1
6430289 Liffick Aug 2002 B1
6434143 Donovan Aug 2002 B1
6442242 McAllister et al. Aug 2002 B1
6446127 Schuster et al. Sep 2002 B1
6452932 Christie Sep 2002 B1
6456618 Kozdon et al. Sep 2002 B2
6463052 Christie Oct 2002 B1
6466570 Low et al. Oct 2002 B1
6470010 Szviatovszki et al. Oct 2002 B1
6473429 Christie Oct 2002 B1
6480484 Morton Nov 2002 B2
6480581 Wu et al. Nov 2002 B1
6487200 Fraser Nov 2002 B1
6493337 Stevenson, III Dec 2002 B1
6493437 Olshansky Dec 2002 B1
6496477 Perkins et al. Dec 2002 B1
6504921 Kotik et al. Jan 2003 B2
6510219 Wellard et al. Jan 2003 B1
6519232 Becher Feb 2003 B1
6519333 Malik Feb 2003 B1
6539077 Ranalli et al. Mar 2003 B1
6542589 Baskin Apr 2003 B1
6553023 Yamamiya et al. Apr 2003 B1
6557712 Gruber et al. May 2003 B2
6563793 Golden et al. May 2003 B1
6564261 Gudjonsson et al. May 2003 B1
6567398 Aravamudan et al. May 2003 B1
6567419 Yarlagadda May 2003 B1
6571212 Dent May 2003 B1
6577712 Larsson et al. Jun 2003 B2
6584094 Maroulis et al. Jun 2003 B2
6584098 Dutnall Jun 2003 B1
6584186 Aravamudan et al. Jun 2003 B1
6584510 Anttila Jun 2003 B2
6587836 Ahlberg et al. Jul 2003 B1
6597685 Miloslavsky et al. Jul 2003 B2
6614786 Byers Sep 2003 B1
6614899 Sollee et al. Sep 2003 B1
6621899 Dezonno et al. Sep 2003 B2
6628760 Mirashrafi et al. Sep 2003 B2
6633561 Christie Oct 2003 B2
6650890 Irlam et al. Nov 2003 B1
6665294 Christie Dec 2003 B2
6665389 Haste, III Dec 2003 B1
6665392 Wellner et al. Dec 2003 B1
6668055 Marwell et al. Dec 2003 B2
6681252 Schuster et al. Jan 2004 B1
6690780 Kotik et al. Feb 2004 B2
6694007 Lang et al. Feb 2004 B2
6697475 MeLampy et al. Feb 2004 B1
6707811 Greenberg et al. Mar 2004 B2
6707906 Ben-Chanoch Mar 2004 B1
6711160 Chan et al. Mar 2004 B2
6714988 Takemoto et al. Mar 2004 B2
6718031 Fellner et al. Apr 2004 B2
6724755 Kim Apr 2004 B1
6731630 Schuster et al. May 2004 B1
6731642 Borella et al. May 2004 B1
6731741 Fourcand et al. May 2004 B1
6741586 Schuster et al. May 2004 B1
6748057 Ranalli et al. Jun 2004 B2
6760429 Hung et al. Jul 2004 B1
6763226 McZeal, Jr. Jul 2004 B1
6765931 Rabenko et al. Jul 2004 B1
6769020 Miyazaki et al. Jul 2004 B2
6771637 Suzuki et al. Aug 2004 B1
6775368 Lee et al. Aug 2004 B1
6778661 Yumoto et al. Aug 2004 B1
6781982 Borella et al. Aug 2004 B1
6798873 Vardi et al. Sep 2004 B2
6819752 Raniere et al. Nov 2004 B2
6822945 Petrovykh Nov 2004 B2
6822957 Schuster et al. Nov 2004 B1
6839359 Skirmont et al. Jan 2005 B2
6839421 Esparza et al. Jan 2005 B2
6870845 Bellovin et al. Mar 2005 B1
6892230 Gu et al. May 2005 B1
7035289 Devine et al. Apr 2006 B2
7408928 Bradd et al. Aug 2008 B2
20010005412 Light et al. Jun 2001 A1
20010005415 Grunsted et al. Jun 2001 A1
20010014919 Tzirin Aug 2001 A1
20020007391 Suzuki Jan 2002 A1
20020034284 Kang Mar 2002 A1
20020049815 Dattatri Apr 2002 A1
20020049860 Koistinen Apr 2002 A1
20020055879 Wengrovitz et al. May 2002 A1
20020071429 Donovan Jun 2002 A1
20020085535 Williams Jul 2002 A1
20020095516 Nada Jul 2002 A1
20020112073 Mclampy et al. Aug 2002 A1
20020114430 Murata Aug 2002 A1
20020120760 Kimchi et al. Aug 2002 A1
20020126818 Cai et al. Sep 2002 A1
20020129131 Yamashita Sep 2002 A1
20020150083 Fangman et al. Oct 2002 A1
20020176403 Radian Nov 2002 A1
20020191596 Moyano et al. Dec 2002 A1
20020191635 Chow et al. Dec 2002 A1
20030002654 Torba Jan 2003 A1
20030005280 Bobde et al. Jan 2003 A1
20030041132 Lim et al. Feb 2003 A1
20030043787 Emerson, III Mar 2003 A1
20030053446 Kwon Mar 2003 A1
20030095541 Chang et al. May 2003 A1
20030095542 Chang et al. May 2003 A1
20030108064 Bilke et al. Jun 2003 A1
20030110292 Takeda et al. Jun 2003 A1
20030118002 Bradd et al. Jun 2003 A1
20030120502 Robb et al. Jun 2003 A1
20030162526 Clarisse et al. Aug 2003 A1
20030174695 Lautenschlager et al. Sep 2003 A1
20030182553 Medvinsky Sep 2003 A1
20030202504 Dhara et al. Oct 2003 A1
20030212795 Harris et al. Nov 2003 A1
20040008724 Devine et al. Jan 2004 A1
20040028025 Chang Feb 2004 A1
20040028207 Kato Feb 2004 A1
20040039938 Katz et al. Feb 2004 A1
20040057415 Colson et al. Mar 2004 A1
20040114575 Morita et al. Jun 2004 A1
20040190711 Miyajima Sep 2004 A1
20040205209 Wengrovitz et al. Oct 2004 A1
20040205777 Zalenski et al. Oct 2004 A1
20040215770 Maher, III et al. Oct 2004 A1
20040223606 Enete et al. Nov 2004 A1
20040246991 Tsuzuki et al. Dec 2004 A1
20040252683 Kennedy et al. Dec 2004 A1
20040258021 Kashimoto et al. Dec 2004 A1
20040258238 Wong Dec 2004 A1
20040258239 Gallant et al. Dec 2004 A1
20050018651 Yan et al. Jan 2005 A1
20050018659 Gallant et al. Jan 2005 A1
20050064862 Castrogiovanni et al. Mar 2005 A1
20060209795 Chow et al. Sep 2006 A1
20070133516 Stein Jun 2007 A1
20090150567 Takeda et al. Jun 2009 A1
Foreign Referenced Citations (2)
Number Date Country
9804990 Sep 1998 WO
02103460 Dec 2002 WO
Related Publications (1)
Number Date Country
20080183892 A1 Jul 2008 US
Divisions (1)
Number Date Country
Parent 10684593 Oct 2003 US
Child 12071004 US