LEARNING-BASED AUTOMATED CALL FLOW TESTING
The present invention relates to methods, systems, and apparatus for learning-based automated call flow testing. An exemplary method of testing a first Session Initiation Protocol (SIP) call processing entity includes the steps of: performing a twinning configuration procedure on a second SIP call processing entity operating in a production network; generating configuration information for use in configuring the first SIP call processing entity in a lab environment for a plurality of test cases based on configuration information obtained during the twinning configuration procedure, the plurality of test cases including a first test case based on a first reference call flow record for a first SIP call processed by the second SIP call processing entity; and executing the first test case while the first SIP call processing entity is operating in the lab environment and has been configured using the generated configuration information.
1 . A method of testing a first Session Initiation Protocol (SIP) call processing entity in a lab environment:
performing, by an automated test system, a twinning configuration procedure on a second SIP call processing entity, said second SIP call processing entity operating in a production network;
generating, by the automated test system, configuration information for use in configuring the first SIP call processing entity in the lab environment for a plurality of test cases based on configuration information obtained during said twinning configuration procedure, said plurality of test cases including a first test case based on a first reference call flow record for a first SIP call processed by the second SIP call processing entity or based on a first trace record for the first SIP call;
storing, by the automated test system, said generated configuration information; and
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 while said first SIP call processing entity is operating in said lab environment, said first SIP call processing entity being configured using said generated configuration information.
2 . The method of claim 1 ,
wherein said first SIP call processing entity is a first Session Border Controller; and
wherein said second SIP call processing entity is a second Session Border Controller.
3 . The method of claim 1 , wherein said twinning procedure includes:
downloading from the second SIP call processing entity, by the automated test system, first configuration information for the second SIP call processing entity, said first configuration information corresponding to configuration information for the second SIP call processing entity when the second SIP call processing entity processed a first plurality of SIP calls, said first plurality of SIP calls including the first SIP call; and
generating transforms to modify the downloaded first configuration information to generate a first test configuration for the first SIP call processing entity, said transforms including one or more SIP signaling port transforms, one or more remote device contact transforms, and one or more IP interface transforms.
4 . The method of claim 3 ,
wherein the one or more SIP signaling port transforms are transforms for one or more configured SIP signaling ports in the first configuration information;
wherein the one or more remote device contact transforms are transforms for configured contact information in the first configuration information for one or more of the following: a Policy and Routing (PSX server), a Diameter Rx server, a Domain Name System (DNS) server, and ENUM server; and
wherein the one or more IP interface transforms are transforms for one or more configured IP interfaces in the first configuration information.
5 . The method of claim 3 , further comprising:
applying said generated transforms to modify first configuration information included in the downloaded configuration information from the second SIP call processing entity to generate the first test configuration for the first SIP call processing entity.
6 . The method of claim 5 , further comprising:
prior to executing said first test case, loading the first test configuration onto the first SIP call processing entity.
7 . The method of claim 5 , wherein said applying said generated transforms to modify first configuration information included in the downloaded configuration information from the second SIP call processing entity to generate the first test configuration for the first SIP call processing entity includes:
applying at least one SIP signaling port transforms which modifies an IP address for a first SIP signaling port on the second SIP call processing device to a different IP address to be used by a first SIP signaling port on the first SIP call processing device;
applying at least one remote device contact transform which modifies an Internet Protocol address for a first remote device in the first configuration information to a different IP address for a first test remote device; and
applying at least IP interface transform which modifies an IP address for a first IP interface on the second SIP call processing device to a different IP address to be used by a first IP interface on the first SIP call processing device.
8 . The method of claim 7 , wherein said applying at least one remote device contact transform which modifies an Internet Protocol (IP) address for a first remote device in the first configuration information to a different IP address for a first test remote device includes: modifying a production Domain Name System (DNS) server IP address included in the first configuration information to a lab DNS server IP address.
9 . The method of claim 1 , wherein said executing, by the automated test system, the first test case further includes:
emulating, by the first automated test system, one or more devices or entities which communicate with the first SIP call processing entity during the execution of the first test case.
10 . The method of claim 9 ,
wherein emulating the one or more devices or entities includes: (i) exchanging, by the automated test system, one or more SIP messages with the first SIP call processing entity as indicated in a test script for the first test case, (ii) receiving by the automated test system one or more requests from the first SIP call processing entity sent to the one or more emulated devices or entities, and (iii) responding as indicated in the test script for the first test case to the received requests from the first SIP call processing entity.
11 . The method of claim 1 , further comprising:
performing, by an automated test system, a second twinning configuration procedure on a third SIP call processing entity, said third SIP call processing entity operating in a different production network than said second SIP call processing entity;
generating, by the automated test system, second configuration information for use in configuring the first SIP call processing entity in the lab environment for a second plurality of test cases based on configuration information obtained during said second twinning configuration procedure, said second plurality of test cases including a second test case based on a second reference call flow record for a second SIP call processed by the third SIP processing entity or based on a second trace record for the second SIP call; and
executing, by the automated test system, the second test case, said executing the second test case including sending one or more SIP messages to the first SIP call processing entity while said first SIP processing entity is operating in said lab environment, said first SIP call processing entity being configured using said generated second configuration information.
12 . The method of claim 1 , further comprising:
performing, by an automated test system, a second twinning configuration procedure on the second SIP call processing entity after said configuration of the second SIP call processing entity has been modified;
generating, by the automated test system, second configuration information for use in configuring the first SIP call processing entity in the lab environment for a second plurality of test cases based on configuration information obtained during said second twinning configuration procedure, said second plurality of test cases including a second test case based on a second reference call flow record for a second SIP call processed by the second SIP processing entity or based on a second trace record for the second SIP call; and
executing, by the automated test system, the second test case, said executing the second test case including sending one or more SIP messages to the first SIP call processing entity while said first SIP processing entity is operating in said lab environment, said first SIP call processing entity being configured using said generated second configuration information.
13 . 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:
performing, by the automated test system, a twinning configuration procedure on a second SIP call processing entity, said second SIP call processing entity operating in a production network;
generating, by the automated test system, configuration information for use in configuring the first SIP call processing entity in the lab environment for a plurality of test cases based on configuration information obtained during said twinning configuration procedure, said plurality of test cases including a first test case based on a first reference call flow record for a first SIP call processed by the second SIP call processing entity or based on a first trace record for the first SIP call;
storing, by the automated test system, said generated configuration information; and
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 while said first SIP call processing entity is operating in said lab environment, said first SIP call processing entity being configured using said generated configuration information.
14 . The system of claim 13 ,
wherein said first SIP call processing entity is a first Session Border Controller; and
wherein said second SIP call processing entity is a second Session Border Controller.
15 . The system of claim 13 , wherein said twinning procedure includes:
downloading from the second SIP call processing entity, by the automated test system, first configuration information for the second SIP call processing entity, said first configuration information corresponding to configuration information for the second SIP call processing entity when the second SIP call processing entity processed a first plurality of SIP calls, said first plurality of SIP calls including the first SIP call; and
generating transforms to modify the downloaded first configuration information to generate a first test configuration for the first SIP call processing entity, said transforms including one or more SIP signaling port transforms, one or more remote device contact transforms, and one or more IP interface transforms.
16 . The system of claim 15 ,
wherein the one or more SIP signaling port transforms are transforms for one or more configured SIP signaling ports in the first configuration information;
wherein the one or more remote device contact transforms are transforms for configured contact information in the first configuration information for one or more of the following: a Policy and Routing (PSX) Server, a Diameter Rx server, a Domain Name System (DNS) server, and an ENUM server; and
wherein the one or more IP interface transforms are transforms for one or more configured IP interfaces in the first configuration information.
17 . The system of claim 15 , wherein said first processor further controls the automated test system to perform the following additional operation:
applying said generated transforms to modify first configuration information included in the downloaded configuration information from the second SIP call processing entity to generate the first test configuration for the first SIP call processing entity.
18 . The system of claim 17 , wherein said first processor further controls the automated test system to perform the following additional operation:
prior to executing said first test case, loading the first test configuration onto the first SIP call processing entity.
19 . The system of claim 17 , wherein said applying said generated transforms to modify first configuration information included in the downloaded configuration information from the second SIP call processing entity to generate the first test configuration for the first SIP call processing entity includes:
applying at least one SIP signaling port transform which modifies an IP address for a first SIP signaling port on the second SIP call processing device to a different IP address to be used by a first SIP signaling port on the first SIP call processing device;
applying at least one remote device contact transform which modifies an Internet Protocol address for a first remote device in the first configuration information to a different IP address for a first test remote device; and
applying at least IP interface transform which modifies an IP address for a first IP interface on the second SIP call processing device to a different IP address to be used by a first IP interface on the first SIP call processing device.
20 . 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:
performing, by the automated test system, a twinning configuration procedure on a second SIP call processing entity, said second SIP call processing entity operating in a production network;
generating, by the automated test system, configuration information for use in configuring the first SIP call processing entity in the lab environment for a plurality of test cases based on configuration information obtained during said twinning configuration procedure, said plurality of test cases including a first test case based on a first reference call flow record for a first SIP call processed by the second SIP call processing entity or based on a first trace record for the first SIP call;
storing, by the automated test system, said generated configuration information; and
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 while said first SIP call processing entity is operating in said lab environment, said first SIP call processing entity being configured using said generated configuration information.