# US 7,620,053 B2 · System and method for assisting in controlling real-time transport protocol flow through multiple networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,620,053 B2
- Document ID: US7620053B2
- Status: Granted
- Kind: B2
- Application number: 11/314,349
- Filed: 2005-12-20
- Published: 2006-05-11
- Granted: 2009-11-17
- Earliest claimed: 2000-12-11
- Assignees: Acme Packet, Inc.
- Inventors: Patrick J. MeLampy; Andrew D. Ory; Clifford M. Spencer; Robert F. Penfield; Peter S. Commerford; Stephen T. Voto; Cynthia E. Arens; Rebecca A. Pedersen
- Web page: https://patentgrep.com/patent/US7620053B2

## CPC

- H04L 65/1043: Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
- H04L 45/124: {using a combination of metrics}
- H04L 45/3065: {for real time traffic}
- H04L 45/308: {Route determination based on user's profile, e.g. premium users}
- H04L 65/1104: Session initiation protocol [SIP]
- H04M 3/42144: {by service provider}
- H04M 7/128: {Details of addressing, directories or routing tables}
- H04Q 3/0025: {Provisions for signalling}
- H04Q 3/0045: {involving hybrid, i.e. a mixture of public and private, or multi-vendor systems}
- H04Q 3/66: Traffic distributors
- H04L 69/22: Parsing or analysis of headers
- H04Q 2213/13034: A/D conversion, code compression/expansion
- H04Q 2213/13097: Numbering, addressing
- H04Q 2213/13103: Memory
- H04Q 2213/13106: Microprocessor, CPU
- H04Q 2213/13138: Least cost routing, LCR
- H04Q 2213/13141: Hunting for free outlet, circuit or channel
- H04Q 2213/13166: Fault prevention
- H04Q 2213/13176: Common channel signaling, CCS7
- H04Q 2213/13204: Protocols
- H04Q 2213/13299: Bus
- H04Q 2213/13332: Broadband, CATV, dynamic bandwidth allocation
- H04Q 2213/13345: Intelligent networks, SCP
- H04Q 2213/13348: Channel/line reservation
- H04Q 2213/13352: Self-routing networks, real-time routing
- H04Q 2213/13376: Information service, downloading of information, 0800/0900 services
- H04Q 2213/13384: Inter-PBX traffic, PBX networks, e.g. corporate networks
- H04Q 2213/13389: LAN, internet
- H04Q 2213/13395: Permanent channel, leased line
- H04Q 2213/13399: Virtual channel/circuits
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)

## Abstract

A system for assisting in controlling real-time transport protocol flow through multiple networks is disclosed. The system utilizes at least a first computer and a second computer that is connected to the first computer, wherein the second computer comprises a second transceiver, a second memory having logic stored therein defining functions to be performed by the second computer, and a second processor. The second processor is configured by the second memory to perform the functions of: performing an inbound screen on route information received by the second computer, from the first computer, to determine if the received route information should be discarded; if the route information is not discarded, comparing the received and screened route information to a local policy defined with the second computer; and performing an outbound screen on the received and screened information prior to transmitting the received and screened information.

## Claims

### Claim 1

A method for routing call signaling messages received by a first session router the method comprising the steps of:
building and maintaining a telephony route information base (TRIB) as a result of the participation of the first session router in telephony routing over internet protocol (TRIP), the TRIB residing in the first session router and allowing multiple routes to the same destination;
using the TRIB to route the received call signaling messages to a second session router;
receiving a signaling message establishing a session between an originating endpoint and a terminating endpoint;
responsive to the received signaling message:
searching the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
comparing at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute, wherein the comparing step further comprises comparing a From: field in the signaling message with a corresponding attribute in each matching TRIB route;
sorting the matching TRIB routes by the degree of match, wherein the sorting step further comprises sorting the matching TRIB routes so that the longest match on the From: field is ranked highest;
selecting, based on the comparison, the matching TRIB route with the highest degree of match; and
forwarding the signaling message to a second session router identified by a next hop attribute in the selected TRIB route.

### Claim 2 (depends on 1)

The method of claim 1, wherein the signaling message comprises a session description containing a bandwidth indicator field and the comparing step further comprises comparing the bandwidth indicator with a quality of service (QoS) field in each matching TRIB route, and the selecting step further comprises selecting one of the matching TRIB routes with the QoS field corresponding to a level of service consistent with the bandwidth indicator field.

### Claim 3 (depends on 1)

The method of claim 1, wherein the comparing step further comprises comparing a To: field in the signaling message with a corresponding attribute in each matching TRIB route, and the sorting step further comprises sorting the matching TRIB routes so that the longest match on the To: field is ranked highest if more than one matching TRIB route has the same From: field.

### Claim 4 (depends on 3)

The method of claim 3, wherein the sorting step further comprises sorting the matching TRIB routes so that the matching TRIB route with a lowest cost is ranked highest if more than one matching TRIB route has the same To: field.

### Claim 5

A method for routing call signaling messages received by a first session router, the method comprising the steps of:
building and maintaining a telephony route information base (TRIB) as a result of the participation of the first session router in telephony routing over internet protocol (TRIP), the TRIB residing in the first session router and allowing multiple routes to the same destination;
using the TRIB to route the received call signaling messages to a second session router;
receiving a signaling message establishing a session between an originating endpoint and a terminating endpoint, wherein the signaling message comprises a network-layer header containing a source address field corresponding to the originating endpoint and a destination address field corresponding to the terminating endpoint and a session-layer header containing a From: field corresponding to the originating endpoint and a To: field corresponding to the terminating endpoint;
responsive to the received signaling message:
searching the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
comparing at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute;
selecting, based on the comparison, one of the matching TRIB routes; and
forwarding the signaling message to a second session router identified by a next hop attribute in the selected TRIB route, and the forwarding step further comprises the steps of:
replacing the To: field in the session-layer header of the signaling message with the next hop attribute in the selected TRIB route;
replacing the destination address field in the network-layer header of the signaling message with the next hop attribute in the selected TRIB route; and
transmitting the signaling message to the second session router.

### Claim 6 (depends on 5)

The method of claim 5, wherein the signaling message comprises a session-layer header containing a From: field corresponding to the originating endpoint and a To: field corresponding to the terminating endpoint and further comprising the step of:
replacing the From: field in the session-layer header of the signaling message with an address of the first session router.

### Claim 7

A method for routing call signaling messages received by a first session router the method comprising the steps of:
building and maintaining a telephony route information base (TRIB) as a result of the participation of the first session router in telephony routing over internet protocol (TRIP) the TRIB residing in the first session router and allowing multiple routes to the same destination;
using the TRIB to route the received call signaling messages to a second session router;
receiving a signaling message establishing a session between an originating endpoint and a terminating endpoint, wherein the signaling message comprises a session description containing a connection field corresponding to the originating endpoint and a session-layer header containing a From: field corresponding to the originating endpoint and a To: field corresponding to the terminating endpoint:
responsive to the received signaling message:
searching the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
comparing at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute;
selecting, based on the comparison one of the matching TRIB routes; and
forwarding the signaling message to a second session router identified by a next hop attribute in the selected TRIB route, and the forwarding step further comprises the steps of:
replacing the To: field in the session-layer header of the signaling message with the next hop attribute in the selected TRIB route;
replacing the connection field in the session description of the signaling message with the next hop attribute in the selected TRIB route; and
transmitting the signaling message to the second session router.

### Claim 8 (depends on 7)

The method of claim 7, wherein the signaling message comprises a network-layer header containing a source address field corresponding to the originating endpoint and a destination address field corresponding to the terminating endpoint and further comprising the step of:
replacing the destination address field in the network-layer header of the signaling message with an address of the first session router.

### Claim 9

A session router for routing call signaling messages received from a call endpoint to another session router, the session router comprising:
a storage device configured to store a telephony route information base (TRIB) containing routes and allowing multiple routes to the same destination;
a processor configured to build and maintain the TRIB as a result of participation of the session router in telephony routing over internet protocol (TRIP) and to use the TRIB to route the received call signaling messages to a second session router; and
a network interface configured to receive a signaling message establishing a session between an originating endpoint and a terminating endpoint;
wherein the processor is further configured to:
search the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
compare at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute;
select, based on the comparison one of the matching TRIB routes; and
forward the signaling message to a second session router identified by a next hop attribute in the selected TRIB route;
wherein the processor is further configured to:
compare a From: field in the signaling message with a corresponding attribute in each matching TRIB route;
sort the matching TRIB routes so that the longest match on the From: field is ranked highest; and
select the matching TRIB route with the highest rank.

### Claim 10

A session router for routing call signaling messages received from a call endpoint to another session router, the session router comprising:
a storage device configured to store a telephony route information base (TRIB) containing routes and allowing multiple routes to the same destination;
a processor configured to build and maintain the TRIB as a result of participation of the session router in telephony routing over internet protocol (TRIP) and to use the TRIB to route the received call signaling messages to a second session router; and
a network interface configured to receive a signaling message establishing a session between an originating endpoint and a terminating endpoint;
wherein the processor is further configured to:
search the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
compare at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute;
select, based on the comparison one of the matching TRIB routes; and
forward the signaling message to a second session router identified by a next hop attribute in the selected TRIB route;
wherein the processor is further configured to:
compare a To: field in the signaling message with a corresponding attribute in each matching TRIB route; and
sort the matching TRIB routes so that the longest match on the To: field is ranked highest if more than one matching TRIB route has the same From: field; and
select the matching TRIB route with the highest rank.

### Claim 11

A system for routing call signaling messages received by a first session router, comprising:
means for building and maintaining a telephony route information base (TRIB) as a result of the participation of the first session router in telephony routing over internet protocol (TRIP), the TRIB residing in the first session router and allowing multiple routes to the same destination;
means for using the TRIB to route the received call signaling messages to a second session router;
means for receiving a signaling message establishing a session between an originating endpoint and a terminating endpoint;
means for searching the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
means for comparing at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute, wherein the means for comparing further comprises means for comparing a From: field in the signaling message with a corresponding attribute in each matching TRIB route;
means for sorting the matching TRIB routes by the degree of match, wherein the means for sorting further comprises means for sorting the matching TRIB routes so that the longest match on the From: field is ranked highest;
means for selecting based on the comparison, the matching TRIB route with the highest degree of match; and
means for forwarding the signaling message to a second session router identified by a next hop attribute in the selected TRIB route.

### Claim 12 (depends on 11)

The system of claim 11, wherein the signaling message comprises a session description containing a bandwidth indicator field and the means for comparing further comprises means for comparing the bandwidth indicator with a quality of service (QoS) field in each matching TRIB route, and the means for selecting further comprises means for selecting one of the matching TRIB routes with the QoS field corresponding to a level of service consistent with the bandwidth indicator field.

### Claim 13 (depends on 11)

The system of claim 11, wherein the means for comparing further comprises means for comparing a To: field in the signaling message with a corresponding attribute in each matching TRIB route, and the means for sorting further comprises means for sorting the matching TRIB routes so that the longest match on the To: field is ranked highest if more than one matching TRIB route has the same From: field.

### Claim 14 (depends on 13)

The system of claim 13, wherein the means for sorting further comprises means for sorting the matching TRIB routes so that the matching TRIB route with a lowest cost is ranked highest if more than one matching TRIB route has the same To:
field.

### Claim 15

A system for routing call signaling messages received by a first session router comprising:
means for building and maintaining a telephony route information base (TRIB) as a result of the participation of the first session router in telephony routing over internet protocol (TRIP), the TRIB residing in the first session router and allowing multiple routes to the same destination;
means for using the TRIB to route the received call signaling messages to a second session router;
means for receiving a signaling message establishing a session between an originating endpoint and a terminating endpoint, wherein the signaling message comprises a network-layer header containing a source address field corresponding to the originating endpoint and a destination address field corresponding to the terminating endpoint and a session-layer header containing a From: field corresponding to the originating endpoint and a To: field corresponding to the terminating endpoint;
means for searching the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
means for comparing at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute;
means for selecting based on the comparison one of the matching TRIB routes; and
means for forwarding the signaling message to a second session router identified by a next hop attribute in the selected TRIB route, and the means for forwarding further comprises:
means for replacing the To: field in the session-layer header of the signaling message with the next hop attribute in the selected TRIB route;
means for replacing the destination address field in the network-layer header of the signaling message with the next hop attribute in the selected TRIB route; and
means for transmitting the signaling message to the second session router.

### Claim 16 (depends on 15)

The system of claim 15, wherein the signaling message comprises a session-layer header containing a From: field corresponding to the originating endpoint and a To: field corresponding to the terminating endpoint and further comprising:
means for replacing the From: field in the session-layer header of the signaling message with an address of the first session router.

### Claim 17

A system for routing call signaling messages received by a first session router, comprising:
means for building and maintaining a telephony route information base (TRIB) as a result of the participation of the first session router in telephony routing over internet protocol (TRIP), the TRIB residing in the first session router and allowing multiple routes to the same destination;
means for using the TRIB to route the received call signaling messages to a second session router;
means for receiving a signaling message establishing a session between an originating endpoint and a terminating endpoint, wherein the signaling message comprises a session description containing a connection field corresponding to the originating endpoint and a session-layer header containing a From: field corresponding to the originating endpoint and a To: field corresponding to the terminating endpoint;
means for searching the TRIB for more than one route having a destination field matching the terminating endpoint in the received signaling message;
means for comparing at least one attribute of each matching TRIB route with a field in the received signaling message to determine a degree of match for the attribute;
means for selecting based on the comparison one of the matching TRIB routes; and
means for forwarding the signaling message to a second session router identified by a next hop attribute in the selected TRIB route and the means for forwarding further comprises:
means for replacing the To: field in the session-layer header of the signaling message with the next hop attribute in the selected TRIB route;
means for replacing the connection field in the session description of the signaling message with the next hop attribute in the selected TRIB route; and
means for transmitting the signaling message to the second session router.

### Claim 18 (depends on 17)

The system of claim 17, wherein the signaling message comprises a network-layer header containing a source address field corresponding to the originating endpoint and a destination address field corresponding to the terminating endpoint and further comprising:
means for replacing the destination address field in the network-layer header of the signaling message with an address of the first session router.
