IP Library Granted Patent US 8,108,553
Granted Patent B2
US 8,108,553 · App. 11/788,581 · Granted Jan 31, 2012

Providing network address translation information

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,108,553
App. No.
11/788,581
Granted
Jan 31, 2012
Kind
B2
Abstract

A method and apparatus is provided to allow telephony or other types of media communications and services to be provided for a device having a private network address that resides behind a firewall and network address and port translation (NAPT) module (which is not aware of the underlying protocol for the communications and services). Examples of the underlying protocol includes the Session Initiation Protocol (SIP) and Real-Time Protocol (RTP). A path through the firewall and NAPT module is defined by use of keep-alive messages communicated through the firewall and network address translator. Addresses that are allocated by the firewall and NATP module are associated with the device for both signaling and media communications. A feature of the firewall that enables the provision of telephony and media communications through the firewall that is protocol-unaware is that the firewall allows responses to messages initiated by the device back through the firewall.

Claims (45)

1. A remote network address translation (NAT) system comprising:

a storage module to store network address translation information for a first terminal, the first terminal associated with a first network and coupled to a first network address translator associated with the first network, wherein the remote NAT system is external to the first network; and

a controller having a processor and configured to:

partially create the network address translation information during a call setup phase of a communications session between the first terminal and a second terminal external to the first network based on translated address data generated by the first network address translator in a call control packet associated with the first terminal, the communications session comprising the call setup phase and a subsequent bearer traffic phase;

insert a predetermined indication into the network address translation information to indicate that the network address translation information has not been completed;

subsequent to inserting the predetermined indication, receive a media packet comprising bearer traffic originated by the first terminal during the bearer traffic phase after the communications session has been set up; and

complete the network address translation information using information in the media packet.

2. The remote NAT system of claim 1 , wherein the media packet contains a source address, the source address comprising a public address that is allocated to the first terminal by the first network address translator, wherein the controller is configured to complete the network address translation information using the source address of the media packet.

3. The remote NAT system of claim 2 , wherein the public address of the first terminal is unknown to the controller until after the media packet has been received.

4. The remote NAT system of claim 3 , wherein the controller is configured to further exchange control packets with a device containing the first network address translator to set up the communications session between the first and second terminals.

5. The remote NAT system of claim 4 , wherein at least one of the control packets from the device contains an identifier to identify a private address of the first terminal that is to be used for communications of media packets.

6. The remote NAT system of claim 5 , wherein the controller is configured to ignore the private address of the first terminal for communicating media packets between the first and second terminals.

7. The remote NAT system of claim 4 , wherein the control packets comprise Session Initiation Protocol control packets.

8. The remote NAT system of claim 7 , wherein the media packet contains Real-Time Protocol data.

9. The remote NAT system of claim 7 , wherein the media packet contains at least one of the following types of data: file transfer data, interactive electronic gaming data, and whiteboarding data.

10. The remote NAT system of claim 1 , wherein the network address translation information comprises information to map a network address of the first terminal to an alias address of the first terminal.

11. The remote NAT system of claim 10 , wherein the network address translation information further comprises information to map a network address of the second terminal to an alias address of the second terminal.

12. The remote NAT system of claim 10 , wherein the controller is configured to transmit media packets originated by the first terminal to the second terminal, each media packet containing the first terminal alias address as a source address.

13. The remote NAT system of claim 1 , wherein the controller comprises plural modules, the plural modules comprising a first module configured to exchange call control signaling and a second module configured to exchange media packets between the first and second terminals.

14. The remote NAT system of claim 1 , wherein the controller is configured to communicate media packets between the first and second terminals, each media packet containing a source address and a destination address, and to translate, for each media packet, both the source and destination addresses using the network address translation information.

15. The remote NAT system of claim 1 , wherein the predetermined indication comprises a dummy address.

16. The remote NAT system of claim 1 , wherein the network address translation information is part of a network address translation table, and wherein the controller is configured to:

partially create the network address translation information in the network address translation table during the call setup phase of the communications session; and

wait for the media packet originated by the first terminal after the communications session has been set up to complete the network address translation information in the network address translation table, using an address in the media packet.

17. An article comprising at least one computer-readable storage medium containing instructions for establishing communications between a first terminal and a second terminal, the instructions when executed causing a remote network address translation (NAT) system having a processor to:

store network address translation information for the first terminal, the first terminal associated with a first network and coupled to a first network address translator associated with the first network, wherein the second terminal and the remote NAT system are external to the first network, and the remote NAT system;

partially create the network address translation information during a call setup phase of a communications session between the first terminal and the second terminal external to the first network based on translated address data generated by the first network address translator in a call control packet associated with the first terminal, the communications session comprising the call setup phase and a subsequent bearer traffic phase;

insert a predetermined indication into the network address translation information to indicate that the network address translation information has not been completed;

subsequent to inserting the predetermined indication, receive a media packet comprising bearer traffic originated by the first terminal during the bearer traffic phase after the communications session has been set up; and

complete the network address translation information using information in the media packet.

18. The article of claim 17 , wherein the predetermined indication comprises a dummy address.

19. The article of claim 17 , wherein the media packet from the first terminal contains a source address, the source address comprising a public address that is allocated to the first terminal by the first network address translator, the public address of the first terminal being unknown to the remote NAT system until after the media packet has been received, wherein the network address translation information is completed using the source address of the media packet.

20. The article of claim 17 , wherein the network address translation information is part of a network address translation table,

wherein partially creating the network address translation information comprises partially creating the network address translation information in the network address translation table, and

wherein the information in the media packet comprises an address in the media packet.

21. A method performed by a remote network address translation (NAT) system of establishing communications between a first terminal and a second terminal, comprising:

storing network address translation information for the first terminal, the first terminal associated with a first network and coupled to a first network address translator associated with the first network, wherein the second terminal and the remote NAT system are external to the first network, wherein the network address translation information contains fields to map an address of the first terminal to a first alias address and to map an address of the second terminal to a second alias address;

partially creating, by the remote NAT system having a processor, the network address translation information during a call setup phase of a communications session between the first terminal and the second terminal, the communications session comprising the call setup phase and a subsequent bearer traffic phase; and

subsequent to partially creating the network address translation information receiving, by the remote NAT system, a media packet comprising bearer traffic originated by the first terminal during the bearer traffic phase after the communications session has been set up to complete the network address translation information using information in the media packet.

22. The method of claim 21 , further comprising:

communicating, through the remote NAT system, media packets between the first and second terminals, each media packet containing a source address and a destination address; and

translating, for each media packet, both the source and destination addresses using the network address translation information.

23. The method of claim 21 , wherein the network address translation information is part of a network address translation table,

wherein partially creating the network address translation information comprises partially creating the network address translation information in the network address translation table, and

wherein the information in the media packet comprises an address in the media packet.

Assignments (5)
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2013
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 029773/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →