IP Library Granted Patent US 7,068,647
Granted Patent B2
US 7,068,647 · App. 09/903,836 · Granted Jun 27, 2006

System and method for routing IP packets

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 7,068,647
App. No.
09/903,836
Granted
Jun 27, 2006
Kind
B2
Abstract

System and method for routing packets for IP telephony. The system includes an IP telephone (IPT) and a Service Gateway (SG) coupled via a network. The SG receives a data packet from the IPT, including a private source IP address (SIPA), source port number (SPN), and destination information for an IP device, performs network address persistent port translation (NAPPT) on the data packet, and sends it to the IP device. NAPPT changes the private SIA to a public SIA, leaving the SPN unchanged. The SG receives a data packet from the IP device, including a public destination IP address (DIPA, i.e., said public SIPA), a destination port number (DPN, i.e., said SPN), and source information, NAPPTs the data packet, using the public DIPA and the DPN to identify the IPT, changing the public DIPA to the private SIPA, leaving the DPN unchanged, and sends the data packet to the IPT.

Claims (125)

1. A method for performing IP telephony, comprising:

receiving an identifier from the IP telephone;

determining if the identifier is valid; and

if the identifier is valid, assigning a range of port numbers to the IP telephone based on the identifier, wherein the IP telephone is operable to use at least a subset of the range of port numbers to send or receive IP communications;

a Service Gateway receiving a data packet from the IP telephone, wherein the data packet comprises a private source IP address of the IP telephone, a source port number, and destination information associated with an IP device;

the Service Gateway performing a network address persistent port translation (NAPPT) on the data packet, including storing translation information in a data structure, wherein the translation information comprises:

the private source IP address of the IP telephone;

a public IP address of the Service Gateway; and

the assigned ports for the IP telephone; and

the Service Gateway sending the data packet to the IP device.

2. The method of claim 1 , wherein said performing a network address persistent port translation (NAPPT) on the data packet comprises changing the private source IP address to a public source IP address while leaving the source port number unchanged, and wherein the public source IP address and the source port number may be used to uniquely identify the IP telephone.

3. The method of claim 1 , further comprising:

receiving a data packet from the IP device, wherein the data packet comprises a public destination IP address, a destination port number, and source information, wherein said public destination IP address comprises said public source IP address, and wherein said destination port number comprises said source port number;

performing a network address persistent port translation (NAPPT) on the data packet received from the IP device; and

sending the data packet received from the IP device to the IP telephone.

4. The method of claim 3 , wherein said performing a network address persistent port translation (NAPPT) on the data packet received from the destination comprises using the public destination IP address and the destination port number to uniquely identify the IP telephone, and changing the public destination IP address to the private source IP address while leaving the destination port number unchanged.

5. The method of claim 3 , wherein said source port number and said destination port number are in an assigned range of port numbers comprising ports which are not reserved for use by other IP protocols.

6. The method of claim 1 , wherein said range of port numbers comprises ports which are not reserved for use by other IP protocols.

7. The method of claim 1 , wherein the identifier comprises a vendor class identifier.

8. The method of claim 1 , wherein said determining comprises:

determining if a MAC ID for the IP telephone is valid; and

if the MAC ID is determined to be valid, then determining if the identifier is valid.

9. The method of claim 1 , wherein said identifier is comprised in a DHCP discover message, the method further comprising:

issuing a DHCP offer to the IP telephone if the identifier is determined to be valid, wherein the DHCP offer comprises DHCP lease information based on the validated identifier;

the IP telephone issuing a DHCP request in response to the issued DHCP offer;

storing the DHCP lease information in response to the issued DHCP request;

the IP telephone storing the DHCP lease information; and

the IP telephone enabling DHCP settings comprised in the DHCP lease information.

10. The method of claim 9 ,

wherein said DHCP lease information includes the range of port numbers and information indicating operational software for the IP telephone, the method further comprising:

the IP telephone executing the indicated operational software to enable said IP communications.

11. The method of claim 9 ,

wherein said DHCP lease information includes the range of port numbers and information indicating operational software for the IP telephone, the method further comprising:

the IP telephone issuing a request for the operational software;

providing the operational software to the IP telephone in response to the issued request; and

the IP telephone executing the provided operational software to enable said IP communications.

12. The method of claim 11 , wherein the IP telephone issuing the request for the operational software comprises issuing a read request to a file transfer server, wherein said file transfer server performs said providing the operational software to the IP telephone.

13. The method of claim 12 , wherein the file transfer server comprises a TFTP (Trivial File Transfer Protocol) server.

14. The method of claim 1 , wherein the range of port numbers comprises one or more port numbers.

15. A system for performing IP telephony, comprising:

a network;

an IP telephone;

a Service Gateway, wherein the Service Gateway is operable to couple to the IP telephone through the network;

wherein the Service Gateway is further operable to:

receiving an identifier from the IP telephone;

determining if the identifier is valid; and

if the identifier is valid, assigning a range of port numbers to the IP telephone based on the identifier, wherein the IP telephone is operable to use at least a subset of the range of port numbers to send or receive IP communications;

receive a data packet from an IP telephone, wherein the data packet comprises a private source IP address, a source port number, and destination information associated with an IP device;

perform a network address persistent port translation (NAPPT) on the data packet, including storing translation information in a data structure, wherein the translation information comprises:

the private source IP address of the IP telephone;

a public IP address of the Service Gateway; and

assigned ports for the IP telephone; and

send the data packet to the IP device.

16. The system of claim 15 , wherein, in performing a network address persistent port translation (NAPPT) on the data packet, the Service Gateway is operable to:

change the private source IP address to a public source IP address while leaving the source port number unchanged, and wherein the public source IP address and the source port number may be used to uniquely identify the IP telephone.

17. The system of claim 15 , wherein the Service Gateway is further operable to:

receive a data packet from the IP device, wherein the data packet comprises a public destination IP address, a destination port number, and source information, wherein said public destination IP address comprises said public source IP address, and wherein said destination port number comprises said source port number;

perform a network address persistent port translation (NAPPT) on the data packet received from the IP device; and

send the data packet received from the IP device to the IP telephone.

18. The system of claim 17 , wherein, in performing a network address persistent port translation (NAPPT) on the data packet received from the IP device, the Service Gateway is operable to:

use the public destination IP address and the destination port number to uniquely identify the IP telephone; and

change the public destination IP address to the private source IP address while leaving the destination port number unchanged.

19. The system of claim 17 , wherein said source port number and said destination port number are in an assigned range of port numbers comprising ports which are not reserved for use by other IP protocols.

20. The system of claim 15 , wherein said range of port numbers comprises ports which are not reserved for use by other IP protocols.

21. The system of claim 15 , wherein the identifier comprises a vendor class identifier.

22. The system of claim 15 , wherein, in determining if the identifier is valid, the Service Gateway is operable to:

determine if a MAC ID for the IP telephone is valid; and

if the MAC ID is determined to be valid, then determine if the identifier is valid.

23. The system of claim 15 , wherein said identifier is comprised in a DHCP discover message;

wherein the Service Gateway is further operable to issue a DHCP offer to the IP telephone if the identifier is determined to be valid, wherein the DHCP offer comprises DHCP lease information based on the validated identifier;

wherein the IP telephone is further operable to issue a DHCP request in response to the issued DHCP offer, store the DHCP lease information, and enable DHCP settings comprised in the DHCP lease information;

wherein the Service Gateway is further operable to store the DHCP lease information in response to the issued DHCP request.

24. The system of claim 23 ,

wherein said DHCP lease information includes the range of port numbers and information indicating operational software for the IP telephone;

wherein the IP telephone if further operable to execute the indicated operational software to enable said IP communications.

25. The system of claim 23 ,

wherein said DHCP lease information includes the range of port numbers and information indicating operational software for the IP telephone;

wherein the IP telephone is further operable to issue a request for the operational software;

wherein the Service Gateway is further operable to provide the operational software to the IP telephone in response to the issued request; and

wherein the IP telephone is further operable to execute the provided operational software to enable said IP communications.

26. The system of claim 25 , further comprising:

a file transfer server;

wherein, in issuing the request for the operational software, the IP telephone is operable to issue a read request to the file transfer server, wherein said file transfer server is operable to provide the operational software to the IP telephone.

27. The system of claim 26 , wherein the file transfer server comprises a TFTP (Trivial File Transfer Protocol) server.

28. The system of claim 27 , wherein the file transfer server is comprised in the Service Gateway.

29. The system of claim 15 , wherein the range of port numbers comprises one or more port numbers.

30. A memory medium comprised in a Service Gateway, wherein the memory medium is operable to store program instructions which are executable to perform:

receiving an identifier from the IP telephone;

determining if the identifier is valid;

if the identifier is valid, assigning a range of port numbers to the IP telephone based on the identifier, wherein the IP telephone is operable to use at least a subset of the range of port numbers to send or receive IP communications;

receiving a data packet from an IP telephone, wherein the data packet comprises a private source IP address, a source port number, and destination information associated with an IP device;

performing a network address persistent port translation (NAPPT) on the data packet, including storing translation information in a data structure, wherein the translation information comprises:

the private source IP address of the IP telephone;

a public IP address of the Service Gateway; and

assigned ports for the IP telephone; and

sending the data packet to the IP device.

31. The memory medium of claim 30 , wherein said performing a network address persistent port translation (NAPPT) on the data packet comprises changing the private source IP address to a public source IP address while leaving the source port number unchanged, and wherein the public source IP address and the source port number may be used to uniquely identify the IP telephone.

32. The memory medium of claim 30 , wherein the program instructions are further executable to perform:

receiving a data packet from the IP device, wherein the data packet comprises a public destination IP address, a destination port number, and source information, wherein said public destination IP address comprises said public source IP address, and wherein said destination port number comprises said source port number;

performing a network address persistent port translation (NAPPT) on the data packet received from the IP device; and

sending the data packet received from the IP device to the IP telephone.

33. The memory medium of claim 32 , wherein said performing a network address persistent port translation (NAPPT) on the data packet received from the destination comprises using the public destination IP address and the destination port number to uniquely identify the IP telephone, and changing the public destination IP address to the private source IP address while leaving the destination port number unchanged.

34. The memory medium of claim 32 , wherein said source port number and said destination port number are in an assigned range of port numbers comprising ports which are not reserved for use by other IP protocols.

35. The memory medium of claim 30 , wherein said range of port numbers comprises ports which are not reserved for use by other IP protocols.

36. The memory medium of claim 30 , wherein the identifier comprises a vendor class identifier.

37. The memory medium of claim 30 , wherein said determining comprises:

determining if a MAC ID for the IP telephone is valid; and

if the MAC ID is determined to be valid, then determining if the identifier is valid.

38. The memory medium of claim 30 , wherein said identifier is comprised in a DHCP discover message, and wherein the program instructions are further executable to perform:

issuing a DHCP offer to the IP telephone if the identifier is determined to be valid, wherein the DHCP offer comprises DHCP lease information based on the validated identifier;

receiving a DHCP request from the IP telephone in response to the issued DHCP offer; and

storing the DHCP lease information in response to the issued DHCP request;

wherein the DHCP lease information comprises DHCP settings which may be enabled by the IP telephone.

39. The memory medium of claim 38 ,

wherein said DHCP lease information includes the range of port numbers and information indicating operational software for the IP telephone; and

wherein the indicated operational software is executable by the IP telephone to enable said IP communications.

40. The memory medium of claim 38 ,

wherein said DHCP lease information includes the range of port numbers and information indicating operational software for the IP telephone;

wherein the program instructions are further executable to perform:

receiving a request from the IP telephone for the operational software; and

providing the operational software to the IP telephone in response to the issued request;

wherein the indicated operational software is executable by the IP telephone to enable said IP communications.

41. The memory medium of claim 40 , wherein the IP telephone issuing the request for the operational software comprises issuing a read request to a file transfer server, wherein said file transfer server performs said providing the operational software to the IP telephone.

42. The memory medium of claim 41 , wherein the file transfer server comprises a TFTP (Trivial File Transfer Protocol) server.

43. The memory medium of claim 30 , wherein the range of port numbers comprises one or more port numbers.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2016
From: MFI TECHNOLOGY, LLC
To: RPX CORPORATION
Reel/Frame 037843/0586 →
RELEASE OF SECURITY INTEREST Recorded Feb 4, 2016
From: MFI CAPITAL, LLC
To: VOXPATH NETWORKS, LLC
Reel/Frame 037670/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2015
From: VOXPATH NETWORKS, LLC
To: MFI TECHNOLOGY, LLC
Reel/Frame 036820/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2015
From: VOXPATH NETWORKS, LLC
To: MFI TECHNOLOGY, LLC
Reel/Frame 036020/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2014
From: VOXPATH NETWORKS, INC.
To: VOXPATH NETWORKS, LLC
Reel/Frame 033773/0663 →
SECURITY AGREEMENT Recorded Jan 7, 2008
From: VOXPATH NETWORKS. INC.
To: MFI CAPITAL, LLC, AS COLLATERAL AGENT
Reel/Frame 020325/0238 →
RELEASE Recorded Mar 13, 2006
From: SILICON VALLEY BANK
To: VOXPATH NETWORKS, INC.
Reel/Frame 017661/0757 →
SECURITY INTEREST Recorded Jul 8, 2002
From: VOXPATH NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 013060/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2001
From: FANGMAN, RICHARD E.; PRESTON, JASON D.
To: VOXPATH NETWORKS, INC.
Reel/Frame 011992/0850 →