IP Library Granted Patent US 12,388,704
Granted Patent B2
US 12,388,704 · App. 18/407,380 · Granted Aug 12, 2025

Learning-based automated call flow testing

Inventors: Shaun Jaikarran Bharrat (Edison, NJ); Sanchit Chaudhary (Acton, MA); Subhransu S. Nayak (Acton, MA); Rajangam Subramanian (Bangalore, IN); Subhashis Chand (Bangalore, IN); André Ouellet (Ottawa, CA); Gopannan Ramachandran (Bangalore, IN)
Assignee: Ribbon Communications Operating Company, Inc.
H04L41/0631H04L65/1104
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 12,388,704
App. No.
18/407,380
Granted
Aug 12, 2025
Kind
B2
Abstract

The present invention relates to methods, systems, and apparatus for learning-based automated call flow testing. An exemplary method of testing a Session Initiation Protocol (SIP) call processing entity includes the steps of generating a first test case based on a first reference call flow record for a first SIP call or a trace record for the first SIP call; executing the first test case which includes sending one or more SIP messages to the first SIP call processing entity; generating a first test case call flow record for a first SIP test call corresponding to the first test case; and determining whether or not the first SIP call processing entity failed the first test case based on a comparison of the first test case call flow record and the first reference call flow record.

Claims (67)

1. A method of testing a first Session Initiation Protocol (SIP) call processing entity in a lab environment comprising:

generating, by an automated test system, a first reference call flow record by: (i) extracting features from a first call detail record and a first trace record, and (ii) storing the extracted features in the first reference call flow record, said first call detail record and said first trace record both corresponding to a first SIP call, said first SIP call having been processed by a second SIP call processing entity operating in a production network;

generating, by the automated test system, a first test case based on the first reference call flow record for the first SIP call or the first trace record for the first SIP call;

executing, by the automated test system, the first test case, said executing the first test case including sending one or more SIP messages to the first SIP call processing entity;

generating, by the automated test system, a first test case call flow record for a first SIP test call corresponding to the first test case; and

determining, by the automated test system, whether or not the first SIP call processing entity failed the first test case based on a comparison of the first test case call flow record and the first reference call flow record; and

wherein the features extracted from the first call detail record and the first trace record include for each call leg of the first SIP call: (i) a call leg identifier, (ii) a listing of SIP messages received by the second SIP call processing entity for the call leg corresponding to the call leg identifier and an order or sequence in which the SIP messages for the call leg corresponding to the call leg identifier were received, (iii) a listing of SIP header fields included in each of the received SIP messages for the call leg corresponding to the call leg identifier; and (iv) a listing of SIP header field parameters included in each SIP header field of each of the received SIP messages for the call leg corresponding to the call leg identifier.

2. The method of claim 1 ,

wherein the first reference call flow record is one of a plurality of call flow records learned by the automated test system based on continuous in-production sampling of real network traffic.

3. The method of claim 2 ,

wherein the plurality of learned call flow records is a stochastic traffic model of a production network in terms of call flows processed by a SIP call processing entity of the production network.

4. The method of claim 1 ,

wherein the first reference call flow record is one of a plurality of call flow records generated from a plurality of non-test SIP calls processed by said second SIP call processing entity operating in the production network, said second SIP call processing entity being a commercially released SIP call processing entity, said production network being a non-test customer network;

wherein said plurality of call flow records each include a unique set of features extracted from a call detail record and a trace record for the SIP call to which the call flow record corresponds; and

wherein the first test case is one of a plurality of test cases generated from the plurality of call flow records.

5. The method of claim 4 , wherein said determining, by the automated test system, whether or not the first SIP call processing entity failed the first test case based on a comparison of the first test case call flow record and the first reference call flow record includes: determining that the first SIP call processing entity failed the first test case when the comparison of the first test case call flow record and the first reference call flow record indicates that extracted features included in the first test case call flow record do not match the extracted features included in the first reference call flow record.

6. The method of claim 4 ,

wherein the first SIP call processing entity is a first Session Border Controller; and

wherein the second SIP call processing entity is a second Session Border Controller.

7. The method of claim 6 , wherein the first Session Border Controller is a virtual device implemented as an application executing on a compute node in a cloud.

8. The method of claim 7 , wherein the automated test system is implemented on a Kubemetes system including a plurality of Pods and a data lake or repository, said plurality of Pods being implemented on Kubemetes nodes of the Kubemetes system.

9. The method of claim 1 , wherein said generating, by the automated test system, a first test case call flow record for the first SIP test call corresponding to the first test case includes:

generating, by the automated test system, the first test case call flow record by: (i) extracting features from a first test case call detail record and a first test case trace record, and (ii) storing the features extracted from the first test case call detail record and the first test case trace record in the first test case call flow record, said first test case call detail record and said first test case trace record both corresponding to the first SIP test call processed by the first SIP call processing entity during the execution of the first test case, said first SIP call processing entity operating in the lab environment;

wherein the features extracted from the first test case call detail record and the first test case trace record include for each call leg of the first SIP test call: (i) a call leg identifier, (ii) a listing of SIP messages received by the first SIP call processing entity for the call leg corresponding to the call leg identifier and an order or sequence in which the SIP messages for the call leg corresponding to the call leg identifier were received, (iii) a listing of SIP header fields included in each of the received SIP messages for the call leg corresponding to the call leg identifier; and (iv) a listing of SIP header field parameters included in each SIP header field of each of the received SIP messages for the call leg corresponding to the call leg identifier.

10. The method of claim 1 , further comprising:

prior to executing the first test case, generating, by the automated test system, configuration information for use in configuring the first SIP call processing entity for the first test case based on configuration information of the second SIP call processing entity when the second SIP call processing entity processed the first SIP call; and

using said generated configuration information to configure the first SIP call processing entity for the first test case.

11. The method of claim 1 ,

wherein the first SIP call processing entity and the second SIP call processing entity are both a first type of SIP call processing entity, the first type of SIP call processing entity being one of the following: (i) a SIP Call Routing Engine, (ii) a SIP Application Server, or (iii) a Policy and Routing Server.

12. An automated test system for testing a first Session Initiation Protocol (SIP) call processing entity in a lab environment comprising:

memory; and

a first processor, said first processor controlling the automated test system to perform the following operations:

generating a first reference call flow record by: (i) extracting features from a first call detail record and a first trace record, and (ii) storing the extracted features in the first reference call flow record, said first call detail record and said first trace record both corresponding to a first SIP call, said first SIP call having been processed by a second SIP call processing entity operating in a production network;

generating a first test case based on the first reference call flow record for the first SIP call or the first trace record for the first SIP call;

executing the first test case, said executing the first test case including sending one or more SIP messages to the first SIP call processing entity;

generating a first test case call flow record for a first SIP test call corresponding to the first test case; and

determining whether or not the first SIP call processing entity failed the first test case based on a comparison of the first test case call flow record and the first reference call flow record; and

wherein the features extracted from the first call detail record and the first trace record include for each call leg of the first SIP call: (i) a call leg identifier, (ii) a listing of SIP messages received by the second SIP call processing entity for the call leg corresponding to the call leg identifier and an order or sequence in which the SIP messages for the call leg corresponding to the call leg identifier were received, (iii) a listing of SIP header fields included in each of the received SIP messages for the call leg corresponding to the call leg identifier; and (iv) a listing of SIP header field parameters included in each SIP header field of each of the received SIP messages for the call leg corresponding to the call leg identifier.

13. The automated test system of claim 12 ,

wherein the first reference call flow record is one of a plurality of call flow records learned by the automated test system based on continuous in-production sampling of real network traffic.

14. The automated test system of claim 13 ,

wherein the plurality of learned call flow records is a stochastic traffic model of a production network in terms of call flows processed by a SIP call processing entity of the production network.

15. The automated test system of claim 12 ,

wherein the first reference call flow record is one of a plurality of call flow records generated from a plurality of non-test SIP calls processed by said second SIP call processing entity operating in the production network, said second SIP call processing entity being a commercially released SIP call processing entity, said production network being a non-test customer network;

wherein said plurality of call flow records each include a unique set of features extracted from a call detail record and a trace record for the SIP call to which the call flow record corresponds; and

wherein the first test case is one of a plurality of test cases generated from the plurality of call flow records.

16. The automated test system of claim 15 , wherein said determining whether or not the first SIP call processing entity failed the first test case based on a comparison of the first test case call flow record and the first reference call flow record includes: determining that the first SIP call processing entity failed the first test case when the comparison of the first test case call flow record and the first reference call flow record indicates that extracted features included in the first test case call flow record do not match the extracted features included in the first reference call flow record.

17. The automated test system of claim 16 ,

wherein the first SIP call processing entity is a first Session Border Controller; and

wherein the second SIP call processing entity is a second Session Border Controller.

18. The automated test system of claim 17 , wherein the first Session Border Controller is a virtual device implemented as an application executing on a compute node in a cloud.

19. The automated test system of claim 12 , wherein said generating a first test case call flow record for the first SIP test call corresponding to the first test case includes:

generating the first test case call flow record by: (i) extracting features from a first test case call detail record and a first test case trace record, and (ii) storing the features extracted from the first test case call detail record and the first test case trace record in the first test case call flow record, said first test case call detail record and said first test case trace record both corresponding to the first SIP test call processed by the first SIP call processing entity during the execution of the first test case, said first SIP call processing entity operating in the lab environment;

wherein the features extracted from the first test case call detail record and the first test case trace record include for each call leg of the first SIP test call: (i) a call leg identifier, (ii) a listing of SIP messages received by the first SIP call processing entity for the call leg corresponding to the call leg identifier and an order or sequence in which the SIP messages for the call leg corresponding to the call leg identifier were received, (iii) a listing of SIP header fields included in each of the received SIP messages for the call leg corresponding to the call leg identifier; and (iv) a listing of SIP header field parameters included in each SIP header field of each of the received SIP messages for the call leg corresponding to the call leg identifier.

20. The automated test system of claim 12 , wherein the automated test system is implemented on a Kubemetes system including a plurality of Pods and a data lake or repository, said plurality of Pods being implemented on Kubemetes nodes of the Kubemetes system.

21. The automated test system of claim 12 ,

wherein, prior to executing the first test case, the first processor further controls the automated test system to perform the additional operations of generating configuration information for use in configuring the first SIP call processing entity for the first test case based on configuration information of the second SIP call processing entity when the second SIP call processing entity processed the first SIP call; and

using said generated configuration information to configure the first SIP call processing entity for the first test case.

22. The automated test system of claim 12 ,

wherein the first SIP call processing entity and the second SIP call processing entity are both a first type of SIP call processing entity, the first type of SIP call processing entity being one of the following: (i) a SIP Call Routing Engine, (ii) a SIP Application Server, or (iii) a Policy and Routing Server.

23. A non-transitory computer readable medium including a first set of computer executable instructions which when executed by a processor of an automated test system cause the automated test system to perform the following operations:

generating a first reference call flow record by: (i) extracting features from a first call detail record and a first trace record, and (ii) storing the extracted features in the first reference call flow record, said first call detail record and said first trace record both corresponding to a first SIP call, said first SIP call having been processed by a second SIP call processing entity operating in a production network;

generating a first test case based on the first reference call flow record for the first SIP call or the first trace record for the first SIP call;

executing the first test case, said executing the first test case including sending one or more SIP messages to the first SIP call processing entity;

generating a first test case call flow record for a first SIP test call corresponding to the first test case; and

determining whether or not the first SIP call processing entity failed the first test case based on a comparison of the first test case call flow record and the first reference call flow record; and

wherein the features extracted from the first call detail record and the first trace record include for each call leg of the first SIP call: (i) a call leg identifier, (ii) a listing of SIP messages received by the second SIP call processing entity for the call leg corresponding to the call leg identifier and an order or sequence in which the SIP messages for the call leg corresponding to the call leg identifier were received, (iii) a listing of SIP header fields included in each of the received SIP messages for the call leg corresponding to the call leg identifier; and (iv) a listing of SIP header field parameters included in each SIP header field of each of the received SIP messages for the call leg corresponding to the call leg identifier.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2024
From: CHAUDHARY, SANCHIT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 066118/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2024
From: SUBRAMANIAN, RAJANGAM; CHAND, SUBHASHIS; RAMACHANDRAN, GOPANNAN
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 066118/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2024
From: BHARRAT, SHAUN JAIKARRAN
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 066118/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2024
From: NAYAK, SUBHRANSU S.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 066118/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2024
From: OUELLET, ANDRÉ
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 066118/0235 →
Continuity (2)
Provisional Application 63615256 · Dec 27, 2023
Related Publication 20250219895A1 · Jul 3, 2025
References Cited (22)
US 10791221B1 · Vislocky · 2020 [cited by examiner]
US 11509704B1 · Menon · 2022 [cited by examiner]
US 20040160896A1 · Luna · 2004 [cited by examiner]
US 20070008892A1 · Gilfix et al. · 2007 [cited by applicant]
US 20210153042A1 · Briggs · 2021 [cited by applicant]
US 20210385331A1 · Kovvali et al. · 2021 [cited by applicant]
US 20220247678A1 · Atwal · 2022 [cited by examiner]
US 20230081333A1 · Menon et al. · 2023 [cited by applicant]
WO 2025012968A1 · 2025 [cited by applicant]
Caixia Chi, Dong Wang, Ruibing Hao and Wei Zhou, “Performance evaluation of SIP servers,” 2008 Third International Conference on Communications and Networking in China, Hangzhou, 2008, pp. 674-679, (Year: 2008). [cited by examiner]
Rozhon, J., Voznak, M. (2011). SIP Registration Burst Load Test. In: Snasel, V., Platos, J., El-Qawasmeh, E. (eds) Digital Information Processing and Communications. ICDIPC 2011. Communications in Computer and Informati… [cited by examiner]
Voznak, M., Rozhon, J. Approach to stress tests in SIP environment based on marginal analysis. Telecommun Syst 52, 1583-1593 (2013) (Year: 2013). [cited by examiner]
Voznak et al., “Methodology for SIP Infrastructure Performance Testing”, WSEAS Transactions on Computers, Department of Telecommunications, VSB—Technical University of Ostrava, Issue 9, vol. 9, Sep. 2010 (Year: 2010). [cited by examiner]
Voznak et al., “SIP Infrastructure Performance Testing”, Proceedings of the 9th WSEAS International Conference on Telecommunications and Informatics, Department of Telecommunications, VSB—Technical University of Ostrava… [cited by examiner]
T. Li, Z. Wang and X. Yin, “SIP conformance testing based on TTCN-2,” in Tsinghua Science and Technology, vol. 12, No. S1, pp. 223-228, Jul. 2007, (Year: 2007). [cited by examiner]
Rosenberg, et al., SIP: Session Initiation Protocol, Request for Comment (RFC) 3261, Jun. 2002, Internet Engineering Task Force (IETF), 269 pages. [cited by applicant]
Begen, et al., SDP: Session Description Protocol, Request for Comment (RFC) 8866, Jan. 2021, Internet Engineering Task Force (IETF), 57 pages. [cited by applicant]
Gayraud, et al., SIPp reference documentation, downloaded from https://sipp.readthedocs.io/en/latest/perftest.html on Oct. 25, 2023, 76 pages. [cited by applicant]
3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Telecommunication management; Subscriber and equipment trace; Trace control and configuration management (Release 18), 3GPP … [cited by applicant]
Worley Nortel Networks D: “SIP Tracing Facility; draft-worley-trace-00.txt”, SIP Tracing Facility; Draft-Worley-Trace -00. TXT, Internet Engineering Task Force, IETF; Standardworkingdraft, Internet Society (ISOC) 4, Rue… [cited by applicant]
PCT Invitation to Pay Additional Fees and, Where Applicable, Protest Fee with Annex to Form PCT/ISA/206 Communication Relating to the Results of the Partial International Search, Apr. 1, 2025, 17 pages. [cited by applicant]
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, International Search Report and Written Opinion of the International Searching Authority f… [cited by applicant]