IP Library Granted Patent US 7,400,579
Granted Patent B2
US 7,400,579 · App. 09/968,226 · Granted Jul 15, 2008

Method and apparatus for per-call filtering of H.323 packets

Assignee: Intel Corporation
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,400,579
App. No.
09/968,226
Granted
Jul 15, 2008
Kind
B2
Abstract

A method and system for filtering data packets in a multiple-call environment are described. In one embodiment, each data packet received from a packet source is associated with an identifier of an IP telephone call that corresponds to this data packet. The IP telephone call is identified using information contained in the data packet. In one embodiment, all data packets related to a specific IP telephone call can be traced using the identifier of the specific IP telephone call.

Claims (79)

1. A computer-implemented method comprising:

receiving a plurality of data packets from a packet source in a multiple-call environment;

searching a database for an Internet protocol (IP) telephone call corresponding to each of the plurality of data packets using one or more data packet parameters contained in each data packet, the one or more data packet parameters comprising at least one of a call indicator assigned by a caller, a source IP address of the data packet, and a destination IP address of the data packet;

if the one or more data packet parameters are not found in the database, creating an identifier of the IP telephone call;

associating each data packet with the identifier of the IP telephone call; and

storing the one or more data packet parameters with the identifier of the IP telephone call in the database for each data packet.

2. The method defined in claim 1 further comprising:

receiving a request to identify each of a plurality of data packets related to a specific IP telephone call; and

searching the database for said each of the plurality of data packets using an identifier of the specific IP telephone call.

3. The method defined in claim 1 wherein the packet source is any one of an endpoint, a gateway, and a gatekeeper.

4. The method defined in claim 1 wherein identifying the IP telephone call further comprises:

determining that the data packet is a TCP/IP packet;

determining that the data packet is in accordance with a standard protocol for control signaling in an H.323 environment; and

extracting an indicator of the IP telephone call from the data packet.

5. The method defined in claim 4 further comprising:

determining whether the indicator of the IP telephone call is present in a call data store;

if the indicator of the IP telephone call is present in the call data store, retrieving a corresponding identifier of the IP telephone call from the call data store; and

if the indicator of the IP telephone call is not present in the call data store, assigning an identifier to the IP telephone call and adding a new entry with the identifier of the IP telephone call to the call data store.

6. The method defined in claim 5 further comprising:

determining that the data packet includes address information of a subsequent data packet that is in accordance with a standard protocol for control messages in an H.323 environment; and

storing the address information of the subsequent data packet in a call data store entry associated with the IP telephone call.

7. The method defined in claim 1 wherein identifying the IP telephone call further comprises:

determining that the data packet is a TCP/IP packet;

determining that the data packet is in accordance with a standard protocol for control messages in an H.323 environment;

extracting source address information and destination address information from the data packet; and

searching a call data store for the source address information.

8. The method defined in claim 7 further comprising:

if the source address information is found in the call data store, retrieving the identifier of the IP telephone call from a call data store entry including the source address information, and storing the destination address information in the call data store entry.

9. The method defined in claim 7 further comprising:

if the source address information is not found in the call data store, searching the call data store for the destination address information.

10. The method defined in claim 9 further comprising:

if the destination address information is found in the call data store, retrieving the identifier of the IP telephone call from a call data store entry including the destination address information and storing the source address information in the call data store entry; and

if the destination address information is not found in the call table, associating the data packet with an identifier designated for unknown IP telephone calls.

11. The method defined in claim 1 wherein identifying the IP telephone call further comprises:

determining that the data packet is a UDP packet;

determining that the data packet is a routing and administration service (RAS) packet; and

extracting an indicator of the IP telephone call from the data packet.

12. The method defined in claim 11 further comprising:

determining whether the indicator of the IP telephone call is present in a call data store;

if the indicator of the IP telephone call is present in the call data store, retrieving a corresponding identifier of the IP telephone call from the call data store; and

if the indicator of the IP telephone call is not present in the call data store, assigning an identifier to the IP telephone call and adding a new entry including the identifier of the IP telephone call to the call data store.

13. The method defined in claim 11 further comprising:

determining that the data packet is not a RAS packet; and

discarding the data packet.

14. The method defined in claim 1 further comprising:

determining that the data packet is neither one of a TCP/IP packet and a UDP packet; and

discarding the data packet.

15. A computer apparatus comprising:

a call tracer to receive a plurality of data packets from a packet source in a multiple-call environment and to identify an Internet protocol (IP) telephone call corresponding to each data packet using one or more data packet parameters contained in each data packet, the one or more data packet parameters comprising at least one of a call indicator assigned by a caller, a source IP address of the data packet, and a destination IP address of the data packet;

a call data store to store IP telephone calls with corresponding data packet parameters of each data packet;

a packet locator to receive a request to identify each data packet and search the call data store for the identified IP telephone call;

a packet correlator to create an identifier of the IP telephone call and associate the data packet with the identifier if the data packet is not found in the call data store.

16. The apparatus defined in claim 15 wherein the packet locator receives a request to identify each of a plurality of data packets related to a specific IP telephone call, and searches the database for said each of the plurality of data packets using an identifier of the specific IP telephone call.

17. The apparatus defined in claim 15 wherein the packet source is any one of an endpoint, a gateway, and a gatekeeper.

18. The apparatus defined in claim 15 wherein the call tracer is to identify the IP telephone call by determining that the data packet is a TCP/IP packet, determining that the data packet is in accordance with a standard protocol for control signaling in an H.323 environment, extracting an indicator of the IP telephone call from the data packet, and searching a call data store to determine the identifier of the IP telephone based on the indicator of the IP telephone call.

19. The apparatus defined in claim 15 wherein the call tracer is to identify the IP telephone call by determining that the data packet is a TCP/IP packet, determining that the data packet is in accordance with a standard protocol for control messages in an H.323 environment, extracting source address information and destination address information from the data packet, searching a call data store for the source address information, and retrieving the identifier of the IP telephone call from a call data store entry including the source address information if the source address information is present in the call data store.

20. The apparatus defined in claim 19 wherein the call tracer is to determine that the source address information is not present in the call data store, to search the call data store for the destination address information, and to retrieve the identifier of the IP telephone call from a call data store entry including the destination address information.

21. The apparatus defined in claim 15 wherein the call tracer is to identify the IP telephone call by determining that the data packet is a UDP packet, that the data packet is a routing and administration service (RAS) packet, extracting an indicator of the IP telephone call from the data packet, and searching a call data store for an identifier of the IP telephone using the indicator of the IP telephone call.

22. The apparatus defined in claim 21 wherein the call tracer is to determine that the data packet is not a RAS packet, and to discard the data packet.

23. A computer-readable storage medium having executable instructions stored thereon which, when executed by a processing device, cause the processing device to:

receiving a plurality data packets from a packet source in a multiple-call environment;

searching a database for an Internet protocol (IP) telephone call corresponding to each data packet using one or more data packet parameters contained in the data packet, the one or more data packet parameters comprising at least one of a call indicator assigned by a caller, a source IP address of the data packet, and a destination IP address of the data packet;

if the one or more data packet parameters are not found in the database, creating an identifier of the IP telephone call;

associating each data packet with the identifier of the IP telephone call; and

storing the one or more data packet parameters with the identifier of the IP telephone call in the database for each data packet.

24. The computer-readable storage medium defined in claim 23 wherein executable instructions further cause the processing device to:

receive a request to identify each of a plurality of data packets related to a specific IP telephone call; and

search the database for said each of the plurality of data packets using an identifier of the specific IP telephone call.

25. The computer-readable storage medium defined in claim 23 wherein the packet source is any one of an endpoint, a gateway, and a gatekeeper.

26. A computer-implemented method comprising:

receiving a plurality of data packets from at least one packet source in a multiple-call environment;

identifying an internet protocol (IP) telephone call corresponding to each of the plurality of data packets based on one or more data packet parameters contained in the plurality of data packets, the one or more data packet parameters comprising at least one of a call indicator assigned by a caller, a source IP address of the data packet, and a destination IP address of the data packet;

determining whether the IP telephone call corresponds to any previously received data packets;

for each of the plurality of data packets,

assigning an identifier associated with a previously received data packet to a current data packet if the previously received data packet corresponds to the IP telephone call,

assigning a new identifier to the current data packet based on the IP telephone call if none of the previously received data packets correspond to the IP telephone call; and

storing the current data packet with the identifier in a database.

27. The method of claim 26 , wherein:

the plurality of data packets comprises data packets corresponding to IP telephone calls that pass through a network monitor.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2016
From: INTEL CORPORATION
To: BEIJING XIAOMI MOBILE SOFTWARE CO., LTD.
Reel/Frame 037733/0440 →
RECORD TO CORRECT THE 3RD ASSIGNOR'S NAME. DOCUMENT PREVIOUSLY RECORDED ON REEL 012225 FRAME 0312 ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT OF THE ENTIRE INTEREST. Recorded Nov 13, 2002
From: AGGARWAL, MITU; METZLER, BENJAMIN; ELGEBALY, HANI
To: INTEL CORPORATION
Reel/Frame 013482/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2001
From: AGGARWAL, MITU; METZLER, BENJAMIN; ELBEGALY, HANI
To: INTEL CORPORATION
Reel/Frame 012225/0312 →
Continuity (1)
Related Publication 20030063599A1 · Apr 3, 2003