IP Library Granted Patent US 10,078,635
Granted Patent B2
US 10,078,635 · App. 14/087,253 · Granted Sep 18, 2018

Systems and methods for customizing SIP message processing

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 10,078,635
App. No.
14/087,253
Granted
Sep 18, 2018
Kind
B2
Abstract

System, methods, and computer program products are provided for configuring a computing system that processes messages according to the Session Initiation Protocol (SIP). The method includes defining, by a scripting-type computer processing language, one or more variables, where each variable is configured to store state data based on at least a portion of a SIP message and is associated with the SIP message flow. Once configuration is complete, a series of SIP messages belonging to the SIP message flow is received by the computer system. As each SIP message in the series is received, each SIP message is processed where the message processing includes modifying the state data stored in at least one of the variables based on data included in the respective SIP message.

Claims (40)

1. A computer-implemented method for configuring a computing system that processes messages according to the Session Initiation Protocol (SIP), comprising:

providing one or more rules of an ingress profile and one or more rules of an egress profile, wherein the one or more rules of the ingress profile are different than the one or more rules of the egress profile;

defining, by a scripting-type computer processing language, one or more variables, each variable configured to store state data based on processing of a SIP message and associated with the one or more rules of the ingress profile and the one or more rules of the egress profile, wherein each of the one or more variables is associated with a SIP message flow and wherein the one or more variables are accessible by the one or more rules of the ingress profile or the one or more rules of the egress profile with which they are associated;

receiving, by at least one computer processor of the computing system, a series of SIP messages belonging to the SIP message flow, the series of SIP messages including a plurality of SIP messages;

as each respective SIP message in the series is received, processing, by the computing system, each respective SIP message, wherein the processing includes modifying state data stored in at least one of the one or more variables based on data included in the respective SIP message.

2. The computer-implemented method of claim 1 , wherein defining each of the one or more variables includes associating each variable with a processing scope that describes a message processing stage of the computer system.

3. The computer-implemented method of claim 2 , wherein defining each of the one or more variables includes defining a name that uniquely identifies the variable within its associated profile.

4. The computer-implemented method of claim 1 , wherein processing each respective SIP message includes storing at least a portion of the data included in the SIP message in a memory location associated with the respective variable.

5. The computer-implemented method of claim 1 , wherein defining one or more variables includes defining at least one variable as a counter variable that is configured to increment or decrement based on data included in a SIP message.

6. The computer-implemented method of claim 5 , wherein processing each respective SIP message includes modifying the counter variable based on data included in the respective SIP message.

7. The computer-implemented method of claim 1 , wherein the state data includes text associated with a SIP message element, generic text, numerical data, or binary data.

8. The computer-implemented method of claim 1 , wherein processing each respective SIP message includes modifying at least a portion of the respective SIP message based on state data includes in at least one variable.

9. A computer system for processing messages according to the Session Initiation Protocol (SIP), comprising:

a processor;

a memory comprising machine readable instructions that when executed by the processor, cause the system to:

provide one or more rules of an ingress profile and one or more rules of an egress profile, wherein the one or more rules of the ingress profile are different than the one or more rules of the egress profile, and

define one or more variables based on a scripting-type computer processing language, each variable configured to store state data based processing of a SIP message and associated with the one or more rules of the ingress profile and the one or more rules of the egress profile, wherein each of the one or more variables is associated with a SIP message flow and wherein the one or more variables are accessible by the one or more rules of the ingress profile or the one or more rules of the egress profile with which they are associated;

a rule processor configured to:

receive a series of SIP messages belonging to the SIP message flow, the series of SIP messages including a plurality of SIP messages; and

process each respective SIP message as each respective SIP message in the series is received, wherein the processing includes modifying state data stored in at least one of the one or more variables based on data included in the respective SIP message.

10. The computer system of claim 9 , wherein the processor is further configured to associate each variable with a processing scope that describes a message processing stage of the computer system.

11. The computer system of claim 10 , wherein the processor is further configured to define a name that uniquely identifies the variable within its associated profile.

12. The computer system of claim 9 , wherein the rule processor is further configured to store at least a portion of the data included in the SIP message in a memory location associated with the respective variable.

13. The computer system of claim 9 , wherein the processor is further configured to define at least one variable as a counter variable that is configured to increment or decrement based on data included in a SIP message.

14. The computer system of claim 13 , wherein the rule processor is configured to modify the counter variable based on data included in the respective SIP message.

15. The computer system of claim 9 , wherein the state data includes text associated with a SIP message element, generic text, numerical data, or binary data.

16. The computer system of claim 9 , wherein the rule processor is further configured to modify at least a portion of the respective SIP message based on state data included in at least one variable.

17. A session border controller configured to process rules for modifying Session Initiation Protocol (SIP) messages comprising:

a processor;

a memory comprising machine readable instructions that when executed by the processor, cause the system to:

compile one or more rules of an ingress profile and one or more rules of an egress profile entered by a user via a scripting-type computer processing language, the rules including triggers and actions for modifying SIP messages and one or more variables for storing state data based on processing of the SIP messages, wherein each variable is associated with a particular flow of SIP messages and is accessible by the at least one rule of the ingress profile or the at least one rule of the egress profile that includes the variable;

a rule database configured to store the compiled rules; and

a rule processor configured to:

receive a particular flow of SIP messages that include a plurality of SIP messages; and

process each SIP message in the particular flow as the message is received,

wherein the processing includes modifying state data stored in at least one variable associated with the particular flow based on data included in the respective SIP message.

18. The session border controller of claim 17 , further comprising:

a user interface module configured to:

receive rules entered by a user according to the scripting-type computer programming language; and

display one or more previously entered rules such that at least one of the previously entered rules is modifiable by the user.

Assignments (9)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
MERGER Recorded Jul 15, 2020
From: GENBAND US LLC
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 053223/0260 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE PREVIOUSLY RECORDED ON REEL 049035 FRAME 0939. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST SUPPLEMENT TO PATENT SECURITY AGREEMENT. Recorded Aug 22, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050705/0001 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →