diff --git a/scenarios_pbx/config.yml b/scenarios_pbx/config.yml
index 7d6cb0ed..1a695ce7 100644
--- a/scenarios_pbx/config.yml
+++ b/scenarios_pbx/config.yml
@@ -1,7 +1,13 @@
+---
+b2b:
+ sbc:
+ xfer:
+ blind_immediate_release: yes
+ enable: yes
kamailio:
proxy:
- allow_refer_method: 'yes'
+ allow_refer_method: yes
presence:
- enable: 'yes'
+ enable: yes
pbx:
- enable: 'yes'
+ enable: yes
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/cdr_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/cdr_test.yml.tt2
new file mode 100644
index 00000000..48d1673e
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/cdr_test.yml.tt2
@@ -0,0 +1,11 @@
+cdr:
+ - source_user: 'testuser1002'
+ source_domain: 'invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test'
+ source_cli: '[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1002.phone_number %]'
+ destination_user: 'testuser1003'
+ destination_domain: 'invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test'
+ destination_user_dialed: '[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.phone_number %]'
+ destination_user_in: '[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.phone_number %]'
+ call_type: 'call'
+ call_status: 'ok'
+ call_code: '200'
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/media181sec.pcap b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/media181sec.pcap
new file mode 120000
index 00000000..d95ed875
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/media181sec.pcap
@@ -0,0 +1 @@
+../media181sec.pcap
\ No newline at end of file
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/scenario.yml b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/scenario.yml
new file mode 100644
index 00000000..bae18cde
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/scenario.yml
@@ -0,0 +1,54 @@
+
+test_uuid: invite_xfer_blind_callee_immediat_rel_immediat_rel
+domains:
+ invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test:
+ reseller_id: 1
+customers:
+ 'invite_xfer_blind_callee_immediat_rel.customerpbx.test':
+ contacts:
+ - email: "invite_xfer_blind_callee_immediat_rel.customerpbx.test@spce.test"
+ reseller_id: 1
+ details:
+ status: 'active'
+ type: 'pbxaccount'
+ billing_profile_id: 1
+ reseller_id: 1
+subscribers:
+ invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test:
+ testuser1002:
+ customer: 'invite_xfer_blind_callee_immediat_rel.customerpbx.test'
+ password: testuser
+ cc: 43
+ ac: 1
+ sn: 1002
+ is_pbx_pilot: 1
+ pbx_extension: 1002
+ testuser1003:
+ customer: 'invite_xfer_blind_callee_immediat_rel.customerpbx.test'
+ password: testuser
+ cc: 43
+ ac: 1
+ sn: 1003
+ is_pbx_pilot: 0
+ pbx_extension: 1003
+ testuser1004:
+ customer: 'invite_xfer_blind_callee_immediat_rel.customerpbx.test'
+ password: testuser
+ cc: 43
+ ac: 1
+ sn: 1004
+ is_pbx_pilot: 0
+ pbx_extension: 1004
+scenarios:
+ - ip: 127.126.0.1
+ username: testuser1002
+ domain: invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test
+ responders:
+ - ip: 127.1.0.1
+ username: testuser1003
+ domain: invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test
+ register: yes
+ - ip: 127.1.0.2
+ username: testuser1004
+ domain: invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test
+ register: yes
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario00.xml b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario00.xml
new file mode 100644
index 00000000..85fdfadd
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario00.xml
@@ -0,0 +1,222 @@
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To:
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 1 INVITE
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To: [peer_tag_param]
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 1 ACK
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To:
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 2 INVITE
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ [field1 file="caller.csv"]
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To: [peer_tag_param]
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ [routes]
+ CSeq: 2 ACK
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655766 2353687638 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+ a=recvonly
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655767 2353687639 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+ a=sendrecv
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To: [peer_tag_param]
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 3 BYE
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ [routes]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario00_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario00_test.yml.tt2
new file mode 100644
index 00000000..dd9ecf27
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario00_test.yml.tt2
@@ -0,0 +1,120 @@
+messages:
+- - 'SIP/2.0 100 Trying'
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'Server: Sipwise NGCP LB'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 407 Proxy Authentication Required'
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Proxy-Authenticate: Digest realm="invite-xfer-blind-callee-immediat-rel.scenarios-pbx.test", nonce="[^"]+"'
+ - 'Server: Sipwise NGCP Proxy'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 100 Trying'
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'Server: Sipwise NGCP LB'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 180 Ringing'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Length: 0'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+- - 'SIP/2.0 200 OK'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'INVITE sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendonly'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.ip %]:[% scenarios.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'INVITE sip:[% scenarios.0.ip %]:[% scenarios.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.ip %]:[% scenarios.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'SIP/2.0 200 OK'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ BYE'
+ - 'Content-Length: 0'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_callee_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder00.xml b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder00.xml
new file mode 100644
index 00000000..aaff6b79
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder00.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Referred-By:
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ Content-Length: [len]
+
+ ]]>
+
+
+
+
+
+
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder00_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder00_test.yml.tt2
new file mode 100644
index 00000000..410e00cf
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder00_test.yml.tt2
@@ -0,0 +1,73 @@
+messages:
+- - 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'SIP/2.0 100 Trying'
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Server: Sipwise NGCP LB'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 200 OK'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=recvonly'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'SIP/2.0 202 Accepted'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ REFER'
+ - 'Content-Length: 0'
+- - 'BYE sip:[% scenarios.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ BYE'
+ - 'Content-Length: 0'
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder01.xml b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder01.xml
new file mode 100644
index 00000000..38d05316
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder01.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ Content-Length: [len]
+
+ ]]>
+
+
+
+
+
+
+
diff --git a/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder01_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder01_test.yml.tt2
new file mode 100644
index 00000000..28abb6c0
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_callee_immediat_rel/sipp_scenario_responder01_test.yml.tt2
@@ -0,0 +1,70 @@
+messages:
+- - 'INVITE sip:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'INVITE sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'BYE sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ BYE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Length: 0'
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/cdr_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/cdr_test.yml.tt2
new file mode 100644
index 00000000..880470eb
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/cdr_test.yml.tt2
@@ -0,0 +1,11 @@
+cdr:
+ - source_user: 'testuser1002'
+ source_domain: 'invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test'
+ source_cli: '[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1002.phone_number %]'
+ destination_user: 'testuser1003'
+ destination_domain: 'invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test'
+ destination_user_dialed: '[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.phone_number %]'
+ destination_user_in: '[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.phone_number %]'
+ call_type: 'call'
+ call_status: 'ok'
+ call_code: '200'
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/media181sec.pcap b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/media181sec.pcap
new file mode 120000
index 00000000..d95ed875
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/media181sec.pcap
@@ -0,0 +1 @@
+../media181sec.pcap
\ No newline at end of file
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/scenario.yml b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/scenario.yml
new file mode 100644
index 00000000..cf6c1c4b
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/scenario.yml
@@ -0,0 +1,53 @@
+test_uuid: invite_xfer_blind_caller_immediat_rel_immediat_rel
+domains:
+ invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test:
+ reseller_id: 1
+customers:
+ 'invite_xfer_blind_caller_immediat_rel.customerpbx.test':
+ contacts:
+ - email: "invite_xfer_blind_caller_immediat_rel.customerpbx.test@spce.test"
+ reseller_id: 1
+ details:
+ status: 'active'
+ type: 'pbxaccount'
+ billing_profile_id: 1
+ reseller_id: 1
+subscribers:
+ invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test:
+ testuser1002:
+ customer: 'invite_xfer_blind_caller_immediat_rel.customerpbx.test'
+ password: testuser
+ cc: 43
+ ac: 1
+ sn: 1002
+ is_pbx_pilot: 1
+ pbx_extension: 1002
+ testuser1003:
+ customer: 'invite_xfer_blind_caller_immediat_rel.customerpbx.test'
+ password: testuser
+ cc: 43
+ ac: 1
+ sn: 1003
+ is_pbx_pilot: 0
+ pbx_extension: 1003
+ testuser1004:
+ customer: 'invite_xfer_blind_caller_immediat_rel.customerpbx.test'
+ password: testuser
+ cc: 43
+ ac: 1
+ sn: 1004
+ is_pbx_pilot: 0
+ pbx_extension: 1004
+scenarios:
+ - ip: 127.126.0.1
+ username: testuser1002
+ domain: invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test
+ responders:
+ - ip: 127.1.0.1
+ username: testuser1003
+ domain: invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test
+ register: yes
+ - ip: 127.1.0.2
+ username: testuser1004
+ domain: invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test
+ register: yes
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario00.xml b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario00.xml
new file mode 100644
index 00000000..9ca34925
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario00.xml
@@ -0,0 +1,225 @@
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To:
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 1 INVITE
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To: [peer_tag_param]
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 1 ACK
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To:
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ CSeq: 2 INVITE
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ [field1 file="caller.csv"]
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ;tag=[pid]SIPpTag00[call_number]
+ To: [peer_tag_param]
+ Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
+ [routes]
+ CSeq: 2 ACK
+ Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Referred-By:
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ Content-Length: [len]
+
+ ]]>
+
+
+
+
+
+
+
+
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario00_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario00_test.yml.tt2
new file mode 100644
index 00000000..2062dd96
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario00_test.yml.tt2
@@ -0,0 +1,96 @@
+messages:
+- - 'SIP/2.0 100 Trying'
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'Server: Sipwise NGCP LB'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 407 Proxy Authentication Required'
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Proxy-Authenticate: Digest realm="invite-xfer-blind-caller-immediat-rel.scenarios-pbx.test", nonce="[^"]+"'
+ - 'Server: Sipwise NGCP Proxy'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 100 Trying'
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'Server: Sipwise NGCP LB'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 180 Ringing'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Length: 0'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+- - 'SIP/2.0 200 OK'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'SIP/2.0 100 Trying'
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Server: Sipwise NGCP LB'
+ - 'Content-Length: 0'
+- - 'SIP/2.0 200 OK'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=recvonly'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'SIP/2.0 202 Accepted'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ REFER'
+ - 'Content-Length: 0'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
+- - 'BYE sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ BYE'
+ - 'Content-Length: 0'
+ - 'P-Asserted-Identity: "[% invite_xfer_blind_caller_immediat_rel_scenarios_pbx_test.testuser1003.pbx_extension %]" '
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder00.xml b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder00.xml
new file mode 100644
index 00000000..2d19df27
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder00.xml
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+ a=recvonly
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+ a=sendrecv
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ [routes]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ [routes]
+ Max-Forwards: 70
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder00_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder00_test.yml.tt2
new file mode 100644
index 00000000..020de621
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder00_test.yml.tt2
@@ -0,0 +1,98 @@
+messages:
+- - 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'INVITE sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendonly'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'INVITE sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'SIP/2.0 200 OK'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ BYE'
+ - 'Content-Length: 0'
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder01.xml b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder01.xml
new file mode 100644
index 00000000..33fb6bca
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder01.xml
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+ Content-Length: 0
+
+ ]]>
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
+ s=-
+ c=IN IP[media_ip_type] [media_ip]
+ t=0 0
+ m=audio [media_port] RTP/AVP 8
+ a=rtpmap:8 PCMA/8000
+ a=ptime:50
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ Content-Length: [len]
+
+ ]]>
+
+
+
+
+
+
+
diff --git a/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder01_test.yml.tt2 b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder01_test.yml.tt2
new file mode 100644
index 00000000..591bf801
--- /dev/null
+++ b/scenarios_pbx/invite_xfer_blind_caller_immediat_rel/sipp_scenario_responder01_test.yml.tt2
@@ -0,0 +1,70 @@
+messages:
+- - 'INVITE sip:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: '
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'INVITE sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ INVITE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Type: application/sdp'
+ - 'Content-Length: \d+'
+ - 'Contact: '
+ - 'v=0'
+ - 'o=user1 \d+ \d+ IN IP4 [% server_ip %]'
+ - 's=-'
+ - 'c=IN IP4 [% server_ip %]'
+ - 't=0 0'
+ - 'm=audio \d+ RTP/AVP 8'
+ - 'a=rtpmap:8 PCMA/8000'
+ - 'a=sendrecv'
+ - 'a=rtcp:\d+'
+ - 'a=ptime:50'
+- - 'ACK sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ ACK'
+ - 'Content-Length: 0'
+ - 'Contact: '
+- - 'BYE sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'Record-Route: '
+ - 'From: ;tag=[\w-]+'
+ - 'To: ;tag=[\w-]+'
+ - 'CSeq: \d+ BYE'
+ - 'P-Asserted-Identity: '
+ - 'Content-Length: 0'