IP Library Granted Patent US 10,951,664
Granted Patent B2
US 10,951,664 · App. 15/779,927 · Granted Mar 16, 2021

Processing call flows

Inventors: Sebastien Bouat (Grenoble, FR); Patrick Broyer (Grenoble, FR); Vijay Kamath (Bangalore, IN)
Assignee: Hewlett Packard Enterprise Development LP
H04L65/1006H04L29/06H04L29/08H04L65/104H04L65/1016H04L65/1083H04L65/1096
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,951,664
App. No.
15/779,927
Granted
Mar 16, 2021
Kind
B2
Abstract

A method of processing session initiation protocol (SIP) call flows, the method comprising, at a back-to-back user agent (B2BUA) maintaining a plurality of predetermined call flow behaviours, each call flow behaviour in the plurality being self-contained and independent from other call flow behaviours in the plurality, each call flow behaviour in the plurality being applicable at one or more given call flow stages to provide one or more given actions for addressing a given call flow scenario, in response to occurrence of a given trigger event in a given SIP call flow, selecting a call flow behaviour from the plurality of call flow behaviours, and causing execution of one or more actions associated with the selected call flow behaviour to address a call flow scenario in relation to the given SIP call flow.

Claims (44)

1. A method of processing session initiation protocol (SIP) call flows, the method comprising:

maintaining, at a back-to-back user agent (B2BUA), a plurality of predetermined call flow behaviors, each call flow behavior in the plurality being self-contained and independent from other call flow behaviors in the plurality, each call flow behavior in the plurality being applicable at one or more given call flow stages to provide one or more given actions for addressing a given call flow scenario;

producing, by the B2BUA, a shortlist of call flow behaviors from the plurality of call flow behaviors, wherein the shortlist of call flow behaviors is produced by performing a hashing operation on the plurality of predetermined call flow behaviors;

sequentially evaluating each call flow behavior from the shortlist of call flow behaviors;

in response to occurrence of a given trigger event in a given SIP call flow, selecting, by the B2BUA, a call flow behavior from the shortlist of call flow behaviors from the plurality of call flow behaviors, wherein the selecting is performed at least on the basis of the shortlist of call flow behaviors produced from the hashing operation; and

causing execution of one or more actions associated with the selected call flow behavior, at the B2BUA, wherein the one or more actions address a call flow scenario in relation to the given SIP call flow.

2. The method of claim 1 , wherein the hashing operation is performed on the basis of one or more SIP call attributes associated with the given SIP call flow.

3. The method of claim 1 , wherein the selecting is performed at least on the basis of the result of the sequential evaluation.

4. The method of claim 3 , wherein the sequential evaluation is carried out for a given call flow behavior in the shortlist on the basis of one or more preconditions specific to the given call flow behavior.

5. The method of claim 4 , wherein the selected call flow behavior comprises the first sequentially evaluated call flow behavior from the shortlist of call flow behaviors for which all call flow behavior specific preconditions apply.

6. The method of claim 4 , comprising calculating the one or more preconditions specific to the given call behavior on the basis of one or more SIP call attributes of specific interest to the given call flow behavior.

7. The method of claim 1 , wherein the given trigger event comprises one or more of:

receipt of a network message associated with the given SIP call flow,

receipt of an application command message associated with the given SIP call flow, and

detection of a timer firing in association with the given SIP call flow.

8. The method of claim 2 or 6 , wherein the one or more SIP call attributes comprise at least one of:

one or more SIP signaling attributes associated with at least one of a calling party call leg and a called party call leg for the given SIP call flow,

one or more SIP media attributes associated with at least one of a calling party user agent call leg and a called party user agent call leg for the given SIP call flow,

one or more capabilities of at least one of a calling party user agent and a called party user agent for the given SIP call flow, and

one or more capabilities of at least one intermediate network element for the given SIP call flow.

9. A back-to-back user agent (B2BUA) for use in processing session initiation protocol (SIP) call flows, the B2BUA comprising one or more processors configured to:

maintain a plurality of predetermined call flow behaviors, each call flow behavior in the plurality being self-contained and independent from other call flow behaviors in the plurality, each call flow behavior in the plurality being applicable at one or more given call flow stages to provide one or more given actions for addressing a given call flow scenario;

in response to occurrence of a given trigger event in a given SIP call flow, pre-filter the plurality of predetermined call flow behaviors to produce a shortlist of call flow behaviors from the plurality of call flow behaviors, wherein the shortlist of call flow behaviors is also produced by performing a hashing operation on the plurality of predetermined call flow behaviors;

perform a sequential evaluation of call flow behaviors in the shortlist of call flow behaviors until a sequentially evaluated call flow behavior matching preconditions of all of the respective call flow behaviors are identified;

selecting the sequentially evaluated call flow behavior, wherein the selecting is performed at least on the basis of the shortlist of call flow behaviors produced from the hashing operation; and

execute the identified call flow behavior to address a call flow scenario in relation to the given SIP call flow.

10. The B2BUA of claim 9 , wherein the pre-filtering comprises performing the hashing operation on the plurality of predetermined call flow behaviors.

11. The B2BUA of claim 10 , wherein the hashing operation is performed on the basis of one or more SIP call attributes associated with the given SIP call flow.

12. The B2BUA of claim 9 , wherein the one or more preconditions for each sequentially evaluated call flow behavior are specific to the respective call flow behavior.

13. The B2BUA of claim 12 , the one or more processors being configured to calculate the one or more preconditions specific to each sequentially evaluated call flow behavior on the basis of one or more SIP call attributes specific to the respective call flow behavior.

14. A non-transitory computer-readable storage medium storing instructions that, if executed by one or more processors of a back-to-back user agent (B2BUA), cause the one or more processors to:

maintain a plurality of predetermined call flow behaviors, each call flow behavior in the plurality being self-contained and independent from other call flow behaviors in the plurality, each call flow behavior in the plurality being applicable at one or more given call flow stages to provide one or more given actions for addressing a given call flow scenario;

in response to receipt of a network or application command message or a timer firing in association with a given SIP call flow, perform, on the basis of one or more SIP call attributes associated with the given SIP call flow, a hashing operation on the plurality of predetermined call flow behaviors to produce a shortlist of call flow behaviors from the plurality of call flow behaviors;

sequentially evaluate call flow behaviors in the shortlist of call flow behaviors until a call flow behavior matching all of the preconditions specific to the respective call flow behavior is identified; and

cause execution of one or more actions associated with the identified call flow behavior to address a call flow scenario in relation to the given SIP call flow.

15. The method of claim 1 , further comprising:

determining that a precondition fails from the sequential evaluation of each call flow behavior from the shortlist of call flow behaviors; and

evaluating a next call flow behavior from the shortlist of call flow behaviors.

16. The method of claim 1 , further comprising:

determining a complexity of each of the plurality of predetermined call flow behaviors, wherein the complexity is increased with a greater number of lines of code.

17. The method of claim 1 , further comprising:

determining a complexity of each of the plurality of predetermined call flow behaviors, wherein the complexity is increased with an ability to specify a role of an operator role when the operator is involved in call processing.

18. The method of claim 1 , wherein the back-to-back user agent (B2BUA) comprises Media User Agent (UA) Server and Media UA Client located above a SIP UA application programming interface (API) layer.

19. The method of claim 18 , wherein the Media UA Server layer and the Media UA Client layer are configured to interface between a SIP UA layer and a Media B2BUA layer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2024
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: HCL TECHNOLOGIES LIMITED
Reel/Frame 069715/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2018
From: BOUAT, SEBASTIEN; BROYER, PATRICK; KAMATH, VIJAY
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045932/0565 →
Priority Claims (1)
IN 6423/CHE/2015 · Nov 30, 2015 · national
Continuity (1)
Related Publication 20180352006A1 · Dec 6, 2018