IP Library Granted Patent US 9,894,104
Granted Patent B2
US 9,894,104 · App. 14/087,280 · Granted Feb 13, 2018

Systems and methods for providing context to SIP messages

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 9,894,104
App. No.
14/087,280
Granted
Feb 13, 2018
Kind
B2
Abstract

Systems, methods, and computer program products are provided for providing context through a scripting-type programming language to data included in a SIP message. The method includes defining one or more contexts through a scripting-type computer programming language. The one or more contexts reference a particular pre-defined portion of a SIP message and are provided by the scripting-type computer programming language. A series of SIP messages may then be received, where each SIP message in the series belongs to the same SIP message flow. After a particular SIP message in the series is received, the message is parsed to identify whether it includes any portion of data that can be referenced via one or more contexts. Any particular portion of data that can be referenced via a context is associated with a respective context such that the respective portion of data can be referenced by the context.

Claims (50)

1. A computer-implemented method for providing context through a scripting-type programming language to data included in a Session Initiation Protocol (SIP) message comprising:

providing one or more contexts through a scripting-type computer programming language, wherein each of the one or more contexts functions as a pointer to a particular pre-defined portion of a SIP message, wherein each context is a pointer that references the memory location of the respective portion of data that it is associated with;

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, and wherein each of the one or more rules includes at least one trigger and at least one action;

receiving, by at least one processor, a series of SIP messages, wherein each SIP message in the series belongs to a same SIP message flow;

after a particular SIP message in the series is received, parsing the particular message to identify whether the particular SIP message includes any portion of data that can be referenced via the one or more contexts;

determining whether the at least one action of any of the one or more rules of the ingress profile or the one or more rules of the egress profile is triggered by the SIP message;

for each respective portion of data that can be referenced via a context, associating a respective context with each respective portion of data such that the respective portion of data can be referenced by the context; and

using the one or more contexts, applying, to the series of SIP messages, the one or more rules of the ingress profile or the one or more rules of the egress profile for which the at least one action is triggered.

2. The computer-implemented method of claim 1 , wherein a particular context includes a sub-context that is associated with a particular sub-portion of the respective portion of data.

3. The computer-implemented method of claim 1 , further comprising:

defining one or more variables, where each variable includes state data of the SIP message flow; and

modifying the one or more variables based on a particular context.

4. The computer-implemented method of claim 3 , wherein modifying the one or more variables includes storing data associated with a particular context at a memory location referenced by a particular variable.

5. The computer-implemented method of claim 1 , wherein a particular context is associated with a header field of a particular SIP message.

6. The computer-implemented method of claim 1 , further comprising:

defining one or more variables, where each variable includes state data of the SIP message flow; and

modifying the portion of data associated with a particular context based on state data stored at a particular variable.

7. The computer-implemented method of claim 6 , wherein modifying the portion of data includes modifying a portion of a header field of a SIP message to include state data stored in a particular variable.

8. The computer-implemented method of claim 1 , wherein parsing the particular message includes applying a message overlay to the particular message to determine the one or more contexts for the particular message.

9. A computer system for providing context through a scripting-type programming language to data included in a Session Initiation Protocol (SIP) message comprising:

a processor; and

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

provide one or more contexts through a scripting-type computer programming language, wherein each of the one or more contexts functions as a pointer to a particular pre-defined portion of a SIP message, wherein each context is a pointer that references the memory location of the respective portion of data that it is associated with;

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 wherein each of the one or more rules includes at least one trigger and at least one action;

receive a series of SIP messages, wherein each SIP message in the series belongs to a same SIP message flow;

after a particular SIP message in the series is received, parse the particular message to identify whether the particular message includes any portion of data that can be referenced via one or more contexts;

for each respective portion of data that can be referenced via a context, associate a respective context with each respective portion of data such that the respective portion of data can be referenced by the context;

determine whether the at least one action of any of the one or more rules of the ingress profile or the one or more rules of the egress profile is triggered by the SIP message; and

using the one or more contexts, apply, to the series of SIP messages, the one or more rules of the ingress profile or the one or more rules of the egress profile for which the at least one action is triggered.

10. The computer system of claim 9 , wherein a particular context includes a sub-context that is associated with a particular sub-portion of the respective portion of data.

11. The computer system of claim 9 , wherein the machine readable instructions when executed by the processor further cause the system to:

define one or more variables, where each variable is configured to store state data based on the SIP message flow; and

modify the one or more variables based on accessing data referenced by a particular context.

12. The computer system of claim 11 , wherein the machine readable instructions when executed by the processor further cause the system to store data associated with a particular context at a memory location referenced by a particular variable.

13. The computer system of claim 9 , wherein a particular context is associated with a header field of a particular SIP message.

14. The computer system of claim 9 , wherein the machine readable instructions when executed by the processor further cause the system to:

define one or more variables that are each configured to store state data of the SIP message flow; and

modify the portion of data in a SIP message associated with a particular context based on state data stored at a particular variable.

15. The computer system of claim 9 , wherein the machine readable instructions when executed by the processor further cause the system to modify a portion of a header field of a SIP message to include state data stored in a particular variable.

16. The computer system of claim 9 , wherein the machine readable instructions when executed by the processor further cause the system to apply a message overlay to the particular message to determine the one or more contexts for the particular message.

17. A session border controller that provides context to data in a Session Initiation Protocol (SIP) message through a scripting-type programming language comprising:

a processor; and

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

provide one or more pre-defined contexts by a scripting-type computer programming language, wherein the contexts are each configured to allow a rule to use a pointer to a particular portion of a SIP message, wherein each context is a pointer that references the memory location of the respective portion of data that it is associated with;

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 wherein each of the one or more rules includes at least one trigger and at least one action;

receive a SIP message flow, wherein the SIP message flow includes one or more SIP messages that are received in series;

parse each SIP message as it is received in order to identify whether a particular SIP message activates a trigger included in a particular rule;

for each SIP message that triggers the particular rule of either the ingress profile or the egress profile, apply a context overlay to the SIP message such that each context included in the particular rule references its associated portion of the SIP message;

and using the one or more contexts, apply, to each SIP message, the one or more rules of the ingress profile or the one or more rules of the egress profile for which the at least one action is triggered.

18. The session border controller of claim 17 , wherein the machine readable instructions when executed by the processor further cause the system to provide a user interface configured to receive rules entered by a user, the rules including triggers and actions to be applied to SIP messages and contexts for referencing particular portions of the SIP messages.

Assignments (11)
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 FIRST SUPPLEMENT OT PATENT SECURITY AGREEMENT AT R/F 049035/0939 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 058740/0265 →
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 →
FIRST SUPPLEMENT TO SECURITY AGREEMENT Recorded Apr 30, 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 049035/0939 →
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 →