diff --git a/scenarios/invite_callee_bye/0001_test.yml.tt2 b/scenarios/invite_callee_bye/0001_test.yml.tt2 index 91c17518..a0659099 100644 --- a/scenarios/invite_callee_bye/0001_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0001_test.yml.tt2 @@ -14,14 +14,14 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'REGISTER sip:testuser1003@spce.test SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'REGISTER sip:[% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ REGISTER' - - 'Contact: sip:testuser1003@127.1.0.1:\d+;transport=UDP' + - 'Contact: sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP' - 'Content-Length: 0' - - 'P-NGCP-Src-Ip: 127.1.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.responders.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' - 'P-Sock-Info: udp:127.0.0.1:5060' @@ -30,24 +30,24 @@ sip_in: sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ REGISTER', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.1.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.responders.0.ip %]', 'P-NGCP-Auth-UA: ', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ 'SIP/2.0 401 Unauthorized', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ REGISTER', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.1.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.responders.0.ip %]', 'P-NGCP-Auth-UA: ', - 'WWW-Authenticate: Digest realm="spce.test", nonce=".+"', + 'WWW-Authenticate: Digest realm="invite-callee-bye.scenarios.test", nonce=".+"', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] diff --git a/scenarios/invite_callee_bye/0002_test.yml.tt2 b/scenarios/invite_callee_bye/0002_test.yml.tt2 index 9e25646e..d90d81cd 100644 --- a/scenarios/invite_callee_bye/0002_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0002_test.yml.tt2 @@ -23,14 +23,14 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'REGISTER sip:testuser1003@spce.test SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'REGISTER sip:[% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ REGISTER' - - 'Authorization: Digest username="testuser1003",realm="spce.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5' - - 'Contact: sip:testuser1003@127.1.0.1:\d+;transport=UDP' + - 'Authorization: Digest username="[% scenarios.0.responders.0.username %]",realm="invite-callee-bye.scenarios.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5' + - 'Contact: sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP' - 'Content-Length: 0' - - 'P-NGCP-Src-Ip: 127.1.0.1' + - 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]' - 'P-NGCP-Src-Port: \d+' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' @@ -40,27 +40,27 @@ sip_in: sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ REGISTER', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.1.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.responders.0.ip %]', 'P-NGCP-Auth-UA: ', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ 'SIP/2.0 200 OK', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ REGISTER', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.1.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.responders.0.ip %]', 'P-NGCP-Auth-UA: ', - 'P-NGCP-Authorization: testuser1003@spce.test', + 'P-NGCP-Authorization: [% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test', 'P-NGCP-Authorized: 1', - 'P-Caller-UUID: [% spce_test.testuser1003.uuid %]', - 'Contact: ;expires=\d+', + 'P-Caller-UUID: [% invite_callee_bye_scenarios_test.testuser1003.uuid %]', + 'Contact: ;expires=\d+', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] diff --git a/scenarios/invite_callee_bye/0003_test.yml.tt2 b/scenarios/invite_callee_bye/0003_test.yml.tt2 index 87b13f8a..d2ee6e10 100644 --- a/scenarios/invite_callee_bye/0003_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0003_test.yml.tt2 @@ -21,15 +21,15 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'INVITE sip:testuser1003@spce.test SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ INVITE' - - 'Contact: sip:testuser1002@127.126.0.1:\d+' + - 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]' - 'Content-Type: application/sdp' - 'Content-Length:\s+\d+' - - 'P-NGCP-Src-Ip: 127.126.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' - 'P-Sock-Info: udp:127.0.0.1:5060' @@ -37,24 +37,24 @@ sip_in: sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ INVITE', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.126.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.ip %]', 'P-NGCP-Auth-UA: ', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ 'SIP/2.0 407 Proxy Authentication Required', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ INVITE', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.126.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.ip %]', 'P-NGCP-Auth-UA: ', - 'Proxy-Authenticate: Digest realm="spce.test", nonce=".+"', + 'Proxy-Authenticate: Digest realm="invite-callee-bye.scenarios.test", nonce=".+"', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] diff --git a/scenarios/invite_callee_bye/0004_test.yml.tt2 b/scenarios/invite_callee_bye/0004_test.yml.tt2 index 2914e5cf..e2ab5475 100644 --- a/scenarios/invite_callee_bye/0004_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0004_test.yml.tt2 @@ -1,9 +1,9 @@ flow: - start|sl:filtered-ack: sip_in: - - 'ACK sip:testuser1003@spce.test SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'ACK sip:[% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ ACK' - 'Content-Length: 0' sip_out: [] diff --git a/scenarios/invite_callee_bye/0005_test.yml.tt2 b/scenarios/invite_callee_bye/0005_test.yml.tt2 index 63afe47f..c99fa792 100644 --- a/scenarios/invite_callee_bye/0005_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0005_test.yml.tt2 @@ -154,16 +154,16 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'INVITE sip:testuser1003@spce.test SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-callee-bye.scenarios.test SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ INVITE' - - 'Contact: sip:testuser1002@127.126.0.1:\d+' - - 'Proxy-Authorization: Digest username="testuser1002",realm="spce.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5' + - 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]' + - 'Proxy-Authorization: Digest username="[% scenarios.0.username %]",realm="invite-callee-bye.scenarios.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5' - 'Content-Type: application/sdp' - 'Content-Length:\s+\d+' - - 'P-NGCP-Src-Ip: 127.126.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' - 'P-Sock-Info: udp:127.0.0.1:5060' @@ -171,47 +171,47 @@ sip_in: sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ INVITE', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.126.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.ip %]', 'P-NGCP-Auth-UA: ', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ 'SIP/2.0 101 Connecting', - 'From: ;tag=[\w-]+', - 'To: ', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ INVITE', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.126.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.ip %]', 'P-NGCP-Auth-UA: ', - 'P-NGCP-Authorization: testuser1002@spce.test', + 'P-NGCP-Authorization: [% scenarios.0.username %]@invite-callee-bye.scenarios.test', 'P-NGCP-Authorized: 1', - 'P-NGCP-Caller-Info: ;ip=127.126.0.1;port=\d+;primary=4311002', - 'P-Caller-UUID: [% spce_test.testuser1002.uuid %]', + 'P-NGCP-Caller-Info: ;ip=[% scenarios.0.ip %];port=[% scenarios.0.port %];primary=[% invite_redirect_scenarios_test.testuser1002.phone_number %]', + 'P-Caller-UUID: [% invite_callee_bye_scenarios_test.testuser1002.uuid %]', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ - 'INVITE sip:testuser1003@127.1.0.1:\d+ SIP/2.0', - 'From: ;tag=[\w-]+', - 'To: ', + 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ INVITE', - 'Contact: sip:testuser1002@127.126.0.1:\d+', + 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]', 'Content-Type: application/sdp', 'Content-Length:\s+\d+', 'P-LB-Uptime: \d+', - 'P-Asserted-Identity: ', - 'P-Caller-UUID: [% spce_test.testuser1002.uuid %]', - 'P-Callee-UUID: [% spce_test.testuser1003.uuid %]', - 'P-Called-Party-ID: ', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: [% invite_callee_bye_scenarios_test.testuser1002.uuid %]', + 'P-Callee-UUID: [% invite_callee_bye_scenarios_test.testuser1003.uuid %]', + 'P-Called-Party-ID: ', 'P-App-Param: ;calltimer=21600;aleg_sst_enable=no;sst_enable=no;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no', 'P-App-Name: sbc', - 'P-NGCP-Caller-Info: ;ip=127.126.0.1;port=\d+;primary=4311002', - 'P-NGCP-Callee-Info: ;ip=127.0.0.1;port=5060;primary=4311003', + 'P-NGCP-Caller-Info: ;ip=[% scenarios.0.ip %];port=[% scenarios.0.port %];primary=[% invite_redirect_scenarios_test.testuser1002.phone_number %]', + 'P-NGCP-Callee-Info: ;ip=127.0.0.1;port=5060;primary=[% invite_callee_bye_scenarios_test.testuser1003.alias_numbers.0.phone_number %]', 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060', 'P-Proxy-Uri: sip:127.0.0.1:5062', ] diff --git a/scenarios/invite_callee_bye/0006_test.yml.tt2 b/scenarios/invite_callee_bye/0006_test.yml.tt2 index 806fceca..c9776fd3 100644 --- a/scenarios/invite_callee_bye/0006_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0006_test.yml.tt2 @@ -14,8 +14,8 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'SIP/2.0 100' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ INVITE' - 'Content-Length: 0' sip_out: [] diff --git a/scenarios/invite_callee_bye/0007_test.yml.tt2 b/scenarios/invite_callee_bye/0007_test.yml.tt2 index a5d7e511..25839cee 100644 --- a/scenarios/invite_callee_bye/0007_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0007_test.yml.tt2 @@ -13,15 +13,15 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'INVITE sip:testuser1003@127.1.0.1:\d+ SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ INVITE' - 'P-LB-Uptime: \d+' - - 'P-Asserted-Identity: ' - - 'P-Caller-UUID: [% spce_test.testuser1002.uuid %]' - - 'P-NGCP-Caller-Info: ;ip=127.126.0.1;port=\d+;primary=4311002' - - 'P-NGCP-Callee-Info: ;ip=127.0.0.1;port=5060;primary=4311003' + - 'P-Asserted-Identity: ' + - 'P-Caller-UUID: [% invite_callee_bye_scenarios_test.testuser1002.uuid %]' + - 'P-NGCP-Caller-Info: ;ip=[% scenarios.0.ip %];port=[% scenarios.0.port %];primary=[% invite_callee_bye_scenarios_test.testuser1002.phone_number %]' + - 'P-NGCP-Callee-Info: ;ip=127.0.0.1;port=5060;primary=[% invite_callee_bye_scenarios_test.testuser1003.alias_numbers.0.phone_number %]' - 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060' - 'Content-Type: application/sdp' - 'Contact: ' @@ -29,22 +29,22 @@ sip_in: sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ INVITE', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ - 'INVITE sip:testuser1003@127.1.0.1:\d+ SIP/2.0', - 'From: ;tag=[\w-]+', - 'To: ', + 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ', 'CSeq: \d+ INVITE', 'P-LB-Uptime: \d+', - 'P-Asserted-Identity: ', - 'P-Caller-UUID: [% spce_test.testuser1002.uuid %]', - 'P-NGCP-Caller-Info: ;ip=127.126.0.1;port=\d+;primary=4311002', - 'P-NGCP-Callee-Info: ;ip=127.0.0.1;port=5060;primary=4311003', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: [% invite_callee_bye_scenarios_test.testuser1002.uuid %]', + 'P-NGCP-Caller-Info: ;ip=[% scenarios.0.ip %];port=[% scenarios.0.port %];primary=[% invite_callee_bye_scenarios_test.testuser1002.phone_number %]', + 'P-NGCP-Callee-Info: ;ip=127.0.0.1;port=5060;primary=[% invite_callee_bye_scenarios_test.testuser1003.alias_numbers.0.phone_number %]', 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060', 'Content-Type: application/sdp', 'Contact: ', diff --git a/scenarios/invite_callee_bye/0008_test.yml.tt2 b/scenarios/invite_callee_bye/0008_test.yml.tt2 index 90d30a6d..f4c8eb0c 100644 --- a/scenarios/invite_callee_bye/0008_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0008_test.yml.tt2 @@ -9,8 +9,8 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'SIP/2.0 100 Trying' - - 'From: ;tag=[\w-]+' - - 'To: ' + - 'From: ;tag=[\w-]+' + - 'To: ' - 'CSeq: \d+ INVITE' - 'Server: Sipwise NGCP LB' - 'Content-Length: 0' diff --git a/scenarios/invite_callee_bye/0009_test.yml.tt2 b/scenarios/invite_callee_bye/0009_test.yml.tt2 index b43a29f1..8f56cd29 100644 --- a/scenarios/invite_callee_bye/0009_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0009_test.yml.tt2 @@ -9,25 +9,25 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'SIP/2.0 180 Ringing' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ INVITE' - - 'Contact: ' + - 'Contact: ' - 'Content-Length: 0' - - 'P-NGCP-Src-Ip: 127.1.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.responders.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' sip_out: - [ 'SIP/2.0 180 Ringing', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ INVITE', - 'Contact: ', + 'Contact: ', 'Content-Length: 0', - 'P-NGCP-Src-Ip: 127.1.0.1', - 'P-NGCP-Src-Port: \d+', + 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]', + 'P-NGCP-Src-Port: [% scenarios.0.responders.0.port %]', 'P-NGCP-Src-Proto: udp', 'P-NGCP-Src-Af: 4', ] diff --git a/scenarios/invite_callee_bye/0010_test.yml.tt2 b/scenarios/invite_callee_bye/0010_test.yml.tt2 index 30bf777f..0ab48913 100644 --- a/scenarios/invite_callee_bye/0010_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0010_test.yml.tt2 @@ -14,16 +14,16 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'SIP/2.0 180 Ringing' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ INVITE' - 'Contact: ' - 'Content-Length: 0' sip_out: - [ 'SIP/2.0 180 Ringing', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ INVITE', 'Contact: ', 'Content-Length: 0', diff --git a/scenarios/invite_callee_bye/0011_test.yml.tt2 b/scenarios/invite_callee_bye/0011_test.yml.tt2 index 09ed6b6d..8eb0e098 100644 --- a/scenarios/invite_callee_bye/0011_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0011_test.yml.tt2 @@ -11,27 +11,27 @@ flow: - return|dialog:start: sip_in: - 'SIP/2.0 200 OK' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ INVITE' - - 'Contact: ' + - 'Contact: ' - 'Content-Type: application/sdp' - 'Content-Length:\s+\d+' - - 'P-NGCP-Src-Ip: 127.1.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.responders.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' sip_out: - [ 'SIP/2.0 200 OK', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ INVITE', - 'Contact: ', + 'Contact: ', 'Content-Type: application/sdp', 'Content-Length:\s+\d+', - 'P-NGCP-Src-Ip: 127.1.0.1', - 'P-NGCP-Src-Port: \d+', + 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]', + 'P-NGCP-Src-Port: [% scenarios.0.responders.0.port %]', 'P-NGCP-Src-Proto: udp', 'P-NGCP-Src-Af: 4', ] diff --git a/scenarios/invite_callee_bye/0012_test.yml.tt2 b/scenarios/invite_callee_bye/0012_test.yml.tt2 index 5829e215..7a6b9f1e 100644 --- a/scenarios/invite_callee_bye/0012_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0012_test.yml.tt2 @@ -18,8 +18,8 @@ flow: - return|dialog:start: sip_in: - 'SIP/2.0 200 OK' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ INVITE' - 'Contact: ' - 'Content-Type: application/sdp' @@ -27,8 +27,8 @@ sip_in: sip_out: - [ 'SIP/2.0 200 OK', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ INVITE', 'Contact: ', 'Content-Type: application/sdp', diff --git a/scenarios/invite_callee_bye/0013_test.yml.tt2 b/scenarios/invite_callee_bye/0013_test.yml.tt2 index 64a0e9a7..221b871d 100644 --- a/scenarios/invite_callee_bye/0013_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0013_test.yml.tt2 @@ -25,13 +25,13 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ ACK' - - 'Contact: sip:testuser1002@127.126.0.1:\d+' + - 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]' - 'Content-Length: 0' - - 'P-NGCP-Src-Ip: 127.126.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' - 'P-Sock-Info: udp:127.0.0.1:5060' @@ -39,13 +39,13 @@ sip_in: sip_out: - [ 'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ ACK', - 'Contact: sip:testuser1002@127.126.0.1:\d+', + 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]', 'Content-Length: 0', - 'P-NGCP-Src-Ip: 127.126.0.1', - 'P-NGCP-Src-Port: \d+', + 'P-NGCP-Src-Ip: [% scenarios.0.ip %]', + 'P-NGCP-Src-Port: [% scenarios.0.port %]', 'P-NGCP-Src-Proto: udp', 'P-NGCP-Src-Af: 4', 'P-Sock-Info: udp:127.0.0.1:5060', diff --git a/scenarios/invite_callee_bye/0014_test.yml.tt2 b/scenarios/invite_callee_bye/0014_test.yml.tt2 index 40742ef2..73a77dcb 100644 --- a/scenarios/invite_callee_bye/0014_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0014_test.yml.tt2 @@ -20,17 +20,17 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'ACK sip:127.1.0.1:\d+;transport=UDP SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'ACK sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ ACK' - 'Contact: ' - 'Content-Length: 0' sip_out: - [ - 'ACK sip:127.1.0.1:\d+;transport=UDP SIP/2.0', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'ACK sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ ACK', 'Contact: ', 'Content-Length: 0', diff --git a/scenarios/invite_callee_bye/0015_test.yml.tt2 b/scenarios/invite_callee_bye/0015_test.yml.tt2 index 5544f871..752d392d 100644 --- a/scenarios/invite_callee_bye/0015_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0015_test.yml.tt2 @@ -26,13 +26,13 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'BYE sip:127.0.0.1:5080 SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ BYE' - - 'Contact: ' + - 'Contact: ' - 'Content-Length: 0' - - 'P-NGCP-Src-Ip: 127.1.0.1' - - 'P-NGCP-Src-Port: \d+' + - 'P-NGCP-Src-Ip: [% scenarios.0.responders.0.ip %]' + - 'P-NGCP-Src-Port: [% scenarios.0.responders.0.port %]' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' - 'P-Sock-Info: udp:127.0.0.1:5060' @@ -40,21 +40,21 @@ sip_in: sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ BYE', 'P-Out-Socket: udp:127.0.0.1:5060', - 'P-NGCP-Auth-IP: 127.1.0.1', + 'P-NGCP-Auth-IP: [% scenarios.0.responders.0.ip %]', 'P-NGCP-Auth-UA: ', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ 'BYE sip:127.0.0.1:5080 SIP/2.0', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ BYE', - 'Contact: ', + 'Contact: ', 'Content-Length: 0', 'P-LB-Uptime: \d+', ] diff --git a/scenarios/invite_callee_bye/0016_test.yml.tt2 b/scenarios/invite_callee_bye/0016_test.yml.tt2 index cfbf50ed..9f37d289 100644 --- a/scenarios/invite_callee_bye/0016_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0016_test.yml.tt2 @@ -27,24 +27,24 @@ flow: - return|ROUTE_RUNTIME: - exit|ROUTE_EXIT: sip_in: - - 'BYE sip:testuser1002@127.126.0.1:\d+ SIP/2.0' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'BYE sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %] SIP/2.0' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ BYE' - 'Content-Length: 0' sip_out: - [ 'SIP/2.0 100 Trying', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ BYE', 'Server: Sipwise NGCP Proxy', 'Content-Length: 0', ] - [ - 'BYE sip:testuser1002@127.126.0.1:\d+ SIP/2.0', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'BYE sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %] SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ BYE', 'Content-Length: 0', ] diff --git a/scenarios/invite_callee_bye/0017_test.yml.tt2 b/scenarios/invite_callee_bye/0017_test.yml.tt2 index 4c1efaf6..984264c6 100644 --- a/scenarios/invite_callee_bye/0017_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0017_test.yml.tt2 @@ -14,24 +14,24 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'SIP/2.0 200 OK' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ BYE' - - 'Contact: ' + - 'Contact: ' - 'Content-Length: \s+0' - - 'P-NGCP-Src-Ip: 127.126.0.1' + - 'P-NGCP-Src-Ip: [% scenarios.0.ip %]' - 'P-NGCP-Src-Port: \d+' - 'P-NGCP-Src-Proto: udp' - 'P-NGCP-Src-Af: 4' sip_out: - [ 'SIP/2.0 200 OK', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ BYE', - 'Contact: ', + 'Contact: ', 'Content-Length: \s+0', - 'P-NGCP-Src-Ip: 127.126.0.1', + 'P-NGCP-Src-Ip: [% scenarios.0.ip %]', 'P-NGCP-Src-Port: \d+', 'P-NGCP-Src-Proto: udp', 'P-NGCP-Src-Af: 4', diff --git a/scenarios/invite_callee_bye/0018_test.yml.tt2 b/scenarios/invite_callee_bye/0018_test.yml.tt2 index f2a15e63..916b2e79 100644 --- a/scenarios/invite_callee_bye/0018_test.yml.tt2 +++ b/scenarios/invite_callee_bye/0018_test.yml.tt2 @@ -14,15 +14,15 @@ flow: - exit|ROUTE_EXIT: sip_in: - 'SIP/2.0 200 OK' - - 'From: ;tag=[\w-]+' - - 'To: ;tag=[\w-]+' + - 'From: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' - 'CSeq: \d+ BYE' - 'Content-Length: 0' sip_out: - [ 'SIP/2.0 200 OK', - 'From: ;tag=[\w-]+', - 'To: ;tag=[\w-]+', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', 'CSeq: \d+ BYE', 'Content-Length: 0', 'P-Out-Socket: udp:127.0.0.1:5060', diff --git a/scenarios/invite_callee_bye/cdr_test.yml.tt2 b/scenarios/invite_callee_bye/cdr_test.yml.tt2 index 7e903ea7..d0f0e2ed 100644 --- a/scenarios/invite_callee_bye/cdr_test.yml.tt2 +++ b/scenarios/invite_callee_bye/cdr_test.yml.tt2 @@ -1,10 +1,10 @@ cdr: - - source_user: 'testuser1002' - source_domain: 'spce.test' - source_cli: '4311002' - destination_user: 'testuser1003' - destination_domain: 'spce.test' - destination_user_dialed: 'testuser1003' + - source_user: '[% scenarios.0.username %]' + source_domain: 'invite-callee-bye.scenarios.test' + source_cli: '[% invite_redirect_scenarios_test.testuser1002.phone_number %]' + destination_user: '[% scenarios.0.responders.0.username %]' + destination_domain: 'invite-callee-bye.scenarios.test' + destination_user_dialed: '[% scenarios.0.responders.0.username %]' call_type: 'call' call_status: 'ok' call_code: '200' \ No newline at end of file diff --git a/scenarios/invite_callee_bye/scenario.yml b/scenarios/invite_callee_bye/scenario.yml index aedca264..f4853eac 100644 --- a/scenarios/invite_callee_bye/scenario.yml +++ b/scenarios/invite_callee_bye/scenario.yml @@ -1,12 +1,17 @@ -test_uuid: invite_callee_bye +--- +test_uuid: invite_callee_bye description: | - In this scenario testuser1002 calls testuser1003, the call succeeds and testuser1003 (callee) hangs up. - Hang up is performed by testuser1003 by initiating a new transaction: a BYE Sip request is sent back to lb and proxy. - The request URI takes advantage of a feature described in RFC 4904: a trpg parameter is appended in the user part. - As a result the user part will be "ngcp-lb;tgrp=SIP_TripleC01", Kamailio proxy must understand this and foward the message correctly to Sems. + In this scenario testuser1002 calls testuser1003, the call succeeds and + testuser1003 (callee) hangs up. + Hang up is performed by testuser1003 by initiating a new transaction: a BYE + Sip request is sent back to lb and proxy. + The request URI takes advantage of a feature described in RFC 4904: a trpg + parameter is appended in the user part. + As a result the user part will be "ngcp-lb;tgrp=SIP_TripleC01", Kamailio proxy + must understand this and foward the message correctly to Sems. This test is part of the fix to TT#107650. domains: - 'spce.test': + invite-callee-bye.scenarios.test: reseller_id: 1 customers: 'customer.test': @@ -19,7 +24,7 @@ customers: billing_profile_id: 1 reseller_id: 1 subscribers: - spce.test: + invite-callee-bye.scenarios.test: testuser1003: customer: 'customer.test' password: testuser @@ -39,9 +44,9 @@ subscribers: scenarios: - ip: 127.126.0.1 username: testuser1002 - domain: spce.test + domain: invite-callee-bye.scenarios.test responders: - ip: 127.1.0.1 username: testuser1003 - domain: spce.test - register: yes + domain: invite-callee-bye.scenarios.test + register: 'yes' diff --git a/scenarios/invite_no_refer/0005_test.yml.tt2 b/scenarios/invite_no_refer/0005_test.yml.tt2 index 38150263..793ec4a8 100644 --- a/scenarios/invite_no_refer/0005_test.yml.tt2 +++ b/scenarios/invite_no_refer/0005_test.yml.tt2 @@ -18,10 +18,10 @@ flow: - start|ROUTE_AUTH: - start|ROUTE_AUTH_HELPER: $x_hdr(From): spce.test - $var(realm_user): testuser1002 + $var(realm_user): [% scenarios.0.username %] $var(realm_domain): spce.test - return|ROUTE_AUTH_HELPER: - $avp(orig_acc_caller_user): ['testuser1002'] + $avp(orig_acc_caller_user): ['[% scenarios.0.username %]'] $avp(orig_acc_caller_domain): ['spce.test'] - start|ROUTE_ADD_CALLINFO_REPLY: - start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY: @@ -208,35 +208,35 @@ flow: ] sip_in: - '^INVITE' - - 'Contact: sip:testuser1002@' + - 'Contact: sip:[% scenarios.0.username %]@' - 'CSeq: 2 INVITE' - 'Max-Forwards: 69' - 'Content-Type: application/sdp' - - 'Proxy-Authorization: Digest username="testuser1002"' + - 'Proxy-Authorization: Digest username="[% scenarios.0.username %]"' - '_:NOT:_Allow: .*REFER.*' sip_out: - [ '^SIP/2.0 100 Trying', 'CSeq: 2 INVITE', - 'From: