TT#140851 scenarios extended for P-Early-Media - invite_announce_before_call

New scenario derived from invite_record_call to demostrate
play_announce_before_call_setup feature

Change-Id: I398a031cfd5ec4fc0ab7d9ef5a88be2990e8fa74
mr10.4
Alessio Garzi 4 years ago
parent 884a094069
commit 87ac94740d

@ -0,0 +1,42 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_INVITE:
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_FIND_CALLER:
- start|ROUTE_AUTH:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- '^INVITE'
- 'Contact: <sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %](;[^>]+)?>'
- 'To: <sip:[% scenarios.0.responders.0.username %]@'
- 'CSeq: 1 INVITE'
- 'Max-Forwards: 69'
- 'Content-Type: application/sdp'
sip_out:
- [
'^SIP/2.0 100 Trying',
'CSeq: 1 INVITE',
'From: <sip:[% scenarios.0.username %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]
- [
'^SIP/2.0 407 Proxy Authentication Required',
'CSeq: 1 INVITE',
'From: <sip:[% scenarios.0.username %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]

@ -0,0 +1,153 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_INVITE:
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_FIND_CALLER:
- start|ROUTE_AUTH:
- start|ROUTE_AUTH_HELPER:
- return|ROUTE_AUTH_HELPER:
- start|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_REPLY:
- return|ROUTE_AUTH:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_CLEAR_CALLER_PREF:
- return|ROUTE_CLEAR_CALLER_PREF:
- start|ROUTE_CHECK_UA:
- return|ROUTE_CHECK_UA:
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
- return|ROUTE_CALLER_BLOCK_CLI:
- start|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_CLEAR_CALLEE_PREF:
- return|ROUTE_CLEAR_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- return|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_NCOS_CHECK:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- return|ROUTE_NCOS_CHECK:
- start|ROUTE_BLOCK_OUT:
- return|ROUTE_BLOCK_OUT:
- start|ROUTE_CHECK_PBX:
- return|ROUTE_CHECK_PBX:
- start|ROUTE_PRE_ANNOUNCE:
- start|ROUTE_LOAD_APPSRV:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_LOAD_APPSRV:
- start|ROUTE_OUTBOUND:
- start|ROUTE_SET_CALLER_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLER_DIALOG_TOTAL:
- return|ROUTE_SET_CALLER_DIALOG_TOTAL:
- start|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG:
- start|BRANCH_ROUTE_NO_SBC:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_NO_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test SIP/2.0'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:testuser1002@10.20.29.2:51602;alias=10.20.29.2~51602~1>'
- 'Proxy-Authorization: Digest username="testuser1002",realm="invite-announce-before-call.scenarios.test",uri="sip:[% server_ip %]:5060",nonce=".+",response=".+",algorithm=MD5'
- 'Content-Type: application/sdp'
- 'P-NGCP-Src-Port: \d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
]
- [
'SIP/2.0 101 Connecting',
'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
]
- [
'INVITE sip:pre_announce@app.local SIP/2.0',
'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-LB-Uptime: \d+',
'P-App-Param: audio_id=;audio2_id=[% soundsets.invite_announce_before_call.announce_before_call_setup.id %];audio3_id=;reply_180=no',
'P-App-Name: pre_announce',
]

@ -0,0 +1,35 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_RTPENGINE:
- return|REPLY_ROUTE_RTPENGINE:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 183 Progress'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 183 Progress',
'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-Out-Socket: udp:[% server_ip %]:5060',
]

@ -0,0 +1,133 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
- start|FAILURE_ROUTE_PRE_ANNOUNCE:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_STOP_RTPPROXY_BRANCH:
- start|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_STOP_RTPPROXY_BRANCH:
- start|ROUTE_CALLEE_DISPATCH:
- start|ROUTE_INVITE_TO_INT:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_CF_CFU:
- return|ROUTE_CF_CFU:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_CHECK_LOCATIONS:
- start|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- return|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- start|ROUTE_OUTBOUND:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_ACC_CALLEE:
- start|ROUTE_ADD_AOC_HEADER:
- return|ROUTE_ADD_AOC_HEADER:
- start|BRANCH_ROUTE_SBC:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- start|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
- exit|ROUTE_EXIT:
sip_in:
- '^SIP/2.0 301 Message Ended'
- 'From: <sip:[% scenarios.0.username %]@'
- 'To: <sip:[% scenarios.0.responders.0.username %]@'
- 'CSeq: 2 INVITE'
sip_out:
- [
'^ACK sip:pre_announce@',
'From: <sip:[% scenarios.0.username %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@',
'CSeq: 2 ACK',
'Max-Forwards: 68',
'Content-Length: 0'
]
- [
'^INVITE sip:[% scenarios.0.responders.0.username %]@',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@',
'CSeq: 2 INVITE',
'Contact: <sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %](;[^>]+)?>',
'Max-Forwards: 68',
'Content-Type: application/sdp',
'P-Caller-UUID: [% invite_announce_before_call_scenarios_test.testuser1002.uuid %]',
'P-Callee-UUID: [% invite_announce_before_call_scenarios_test.testuser1003.uuid %]',
'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@',
'P-Called-Party-ID: <sip:[% scenarios.0.responders.0.username %]@',
'P-App-Name: sbc',
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@',
'P-NGCP-Callee-Info: <sip:[% scenarios.0.responders.0.username %]@'
]

@ -0,0 +1,52 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_LEG_B:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'P-LB-Uptime: \d+'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'P-Caller-UUID: [% invite_announce_before_call_scenarios_test.testuser1002.uuid %]'
- 'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;ip=[% scenarios.0.ip %];port=[% scenarios.0.port %];primary=[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]'
- 'P-NGCP-Callee-Info: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;ip=[% scenarios.0.responders.0.ip %];port=[% scenarios.0.responders.0.port %];primary=[% invite_announce_before_call_scenarios_test.testuser1003.phone_number %]'
- 'P-D-Uri: sip:lb@127.0.0.1;lr;(received=sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];)?socket=sip:[% server_ip %]:5060'
- 'Content-Type: application/sdp'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>',
'P-Caller-UUID: [% invite_announce_before_call_scenarios_test.testuser1002.uuid %]',
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;ip=[% scenarios.0.ip %];port=[% scenarios.0.port %];primary=[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]',
'P-NGCP-Callee-Info: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;ip=[% scenarios.0.responders.0.ip %];port=[% scenarios.0.responders.0.port %];primary=[% invite_announce_before_call_scenarios_test.testuser1003.phone_number %]',
'P-D-Uri: sip:lb@127.0.0.1;lr;(received=sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];)?socket=sip:[% server_ip %]:5060',
'Content-Type: application/sdp',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length:\s+\d+',
]

@ -0,0 +1,22 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- '^SIP/2.0 180 Ringing'
- 'CSeq: 2 INVITE'
sip_out:
- [
'^SIP/2.0 180 Ringing',
'CSeq: 2 INVITE',
]

@ -0,0 +1,49 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|ROUTE_CHECK_TIMER_SUPP_REQ:
- return|ROUTE_CHECK_TIMER_SUPP_REQ:
- start|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_REMOVE_TIMER_SUPP_REQ:
- start|REPLY_ROUTE_RTPENGINE:
- return|REPLY_ROUTE_RTPENGINE:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- start|dialog:start:
- return|dialog:start:
$avp(lua_dlg_profile): [
"accountout:[% customer_test.id %]",
"userout:[% invite_announce_before_call_scenarios_test.testuser1002.uuid %]",
"account:[% customer_test.id %]",
"user:[% invite_announce_before_call_scenarios_test.testuser1002.uuid %]",
"totalaccountout:[% customer_test.id %]",
"totaluserout:[% invite_announce_before_call_scenarios_test.testuser1002.uuid %]",
"totalaccount:[% customer_test.id %]",
"totaluser:[% invite_announce_before_call_scenarios_test.testuser1002.uuid %]",
"peer:appsrv",
"local",
"totalaccount:[% customer_test.id %]",
"totaluser:[% invite_announce_before_call_scenarios_test.testuser1003.uuid %]",
"total",
"account:[% customer_test.id %]",
"user:[% invite_announce_before_call_scenarios_test.testuser1003.uuid %]"
]
- return|dialog:start:
sip_in:
- '^SIP/2.0 200 OK'
- 'CSeq: 2 INVITE'
sip_out:
- [
'^SIP/2.0 200 OK',
'CSeq: 2 INVITE',
'From: <sip:[% scenarios.0.username %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]

@ -0,0 +1,37 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_RESTORE_CLUSTERSET:
- start|ROUTE_WITHINDLG_RTPENGINE:
- return|ROUTE_WITHINDLG_RTPENGINE:
- start|ROUTE_OUTBOUND:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- '^ACK sip:127.0.0.1:5080;prxroute=1 SIP/2.0'
- 'CSeq: 2 ACK'
- 'From: <sip:[% scenarios.0.username %]@'
- 'To: <sip:[% scenarios.0.responders.0.username %]@'
sip_out:
- [
'^ACK sip:127.0.0.1:5080;prxroute=1 SIP/2.0',
'CSeq: 2 ACK',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]

@ -0,0 +1,55 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|dialog:end:
- return|dialog:end:
$avp(lua_dlg_profile): None
- return|dialog:end:
- start|ROUTE_STOP_RTPPROXY:
- start|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_STOP_RTPPROXY:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|ROUTE_OUTBOUND:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- '^BYE sip:127.0.0.1:5080(;prxroute=1)? SIP/2.0'
- 'Contact: <sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %](;[^>]+)?>'
- 'CSeq: 3 BYE'
- 'Max-Forwards: 69'
- 'Content-Length: 0'
- 'From: <sip:[% scenarios.0.username %]@'
- 'To: <sip:[% scenarios.0.responders.0.username %]@'
sip_out:
- [
'^SIP/2.0 100 Trying',
'CSeq: 3 BYE',
'Content-Length: 0',
'From: <sip:[% scenarios.0.username %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]
- [
'^BYE sip:127.0.0.1:5080(;prxroute=1)? SIP/2.0',
'Contact: <sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %](;[^>]+)?>',
'CSeq: 3 BYE',
'Max-Forwards: 68',
'Content-Length: 0',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]

@ -0,0 +1,28 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- '^SIP/2.0 200 OK'
- 'CSeq: 3 BYE'
- 'Content-Length: 0'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@'
- 'To: <sip:[% scenarios.0.responders.0.username %]@'
sip_out:
- [
'^SIP/2.0 200 OK',
'CSeq: 3 BYE',
'Content-Length: 0',
'From: <sip:[% scenarios.0.username %]@',
'To: <sip:[% scenarios.0.responders.0.username %]@'
]

@ -0,0 +1,161 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_INVITE:
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_FIND_CALLER:
- start|ROUTE_AUTH:
- start|ROUTE_AUTH_HELPER:
- return|ROUTE_AUTH_HELPER:
- start|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_REPLY:
- return|ROUTE_AUTH:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_CLEAR_CALLER_PREF:
- return|ROUTE_CLEAR_CALLER_PREF:
- start|ROUTE_CHECK_UA:
- return|ROUTE_CHECK_UA:
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- start|ROUTE_PARSE_P_EARLY_MEDIA:
- return|ROUTE_PARSE_P_EARLY_MEDIA:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
- return|ROUTE_CALLER_BLOCK_CLI:
- start|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_CLEAR_CALLEE_PREF:
- return|ROUTE_CLEAR_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- return|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_NCOS_CHECK:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- return|ROUTE_NCOS_CHECK:
- start|ROUTE_BLOCK_OUT:
- return|ROUTE_BLOCK_OUT:
- start|ROUTE_CHECK_PBX:
- return|ROUTE_CHECK_PBX:
- start|ROUTE_PRE_ANNOUNCE:
- start|ROUTE_LOAD_APPSRV:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_LOAD_APPSRV:
- start|ROUTE_OUTBOUND:
- start|ROUTE_SET_CALLER_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLER_DIALOG_TOTAL:
- return|ROUTE_SET_CALLER_DIALOG_TOTAL:
- start|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG:
- start|BRANCH_ROUTE_NO_SBC:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_NO_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test SIP/2.0'
- 'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authorization: Digest username="[% scenarios.1.username %]",realm="invite-announce-before-call.scenarios.test",uri="sip:[% server_ip %]:5060",nonce=".+",response=".+",algorithm=MD5'
- 'P-Early-Media: supported,gated'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
- 'P-LB-Uptime: \d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
]
- [
'SIP/2.0 101 Connecting',
'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-NGCP-Caller-Info: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;ip=10.20.29.2;port=51604;primary=4311000',
'P-Caller-UUID: [% invite_announce_before_call_scenarios_test.testuser1002.uuid %]',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:pre_announce@app.local SIP/2.0',
'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-Early-Media: supported,gated',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-LB-Uptime: \d+',
'P-App-Param: audio_id=;audio2_id=[% soundsets.invite_announce_before_call.announce_before_call_setup.id %];audio3_id=;reply_180=no',
'P-App-Name: pre_announce',
]

@ -0,0 +1,33 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_RTPENGINE:
- return|REPLY_ROUTE_RTPENGINE:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 183 Progress'
- 'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 183 Progress',
'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-Early-Media: sendrecv',
]

@ -0,0 +1,128 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
- start|FAILURE_ROUTE_PRE_ANNOUNCE:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_STOP_RTPPROXY_BRANCH:
- start|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_STOP_RTPPROXY_BRANCH:
- start|ROUTE_CALLEE_DISPATCH:
- start|ROUTE_INVITE_TO_INT:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_CF_CFU:
- return|ROUTE_CF_CFU:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_CHECK_LOCATIONS:
- start|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- return|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- start|ROUTE_OUTBOUND:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_ACC_CALLEE:
- start|ROUTE_ADD_AOC_HEADER:
- return|ROUTE_ADD_AOC_HEADER:
- start|BRANCH_ROUTE_SBC:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- start|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 301 Message Ended'
- 'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Length: 0'
sip_out:
- [
'ACK sip:pre_announce@app.local SIP/2.0',
'From: <sip:[% scenarios.1.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ ACK',
'Content-Length: 0',
]
- [
'INVITE sip:[% scenarios.1.responders.0.username %]@10.20.29.2:51605 SIP/2.0',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-Early-Media: supported,gated',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-LB-Uptime: \d+',
'P-App-Name: sbc',
]

@ -0,0 +1,37 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_LEG_B:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.1.responders.0.username %]@[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %] SIP/2.0'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'P-Early-Media: supported,gated'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:[% scenarios.1.responders.0.username %]@10.20.29.2:51605 SIP/2.0',
'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-Early-Media: supported,gated',
'P-LB-Uptime: \d+',
]

@ -0,0 +1,27 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_RTPENGINE:
- return|REPLY_ROUTE_RTPENGINE:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 180 Ringing'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 180 Ringing',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-Early-Media: sendrecv',
]

@ -0,0 +1,209 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_INVITE:
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_FIND_CALLER:
- start|ROUTE_AUTH:
- start|ROUTE_AUTH_HELPER:
- return|ROUTE_AUTH_HELPER:
- start|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_REPLY:
- return|ROUTE_AUTH:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_CLEAR_CALLER_PREF:
- return|ROUTE_CLEAR_CALLER_PREF:
- start|ROUTE_CHECK_UA:
- return|ROUTE_CHECK_UA:
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- start|ROUTE_PARSE_P_EARLY_MEDIA:
- start|ROUTE_DISABLE_SEMS_EARLY_MEDIA:
- return|ROUTE_DISABLE_SEMS_EARLY_MEDIA:
- return|ROUTE_PARSE_P_EARLY_MEDIA:
$var(pem_flags): 9
$var(sems_early_media_disabled): 1
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
- return|ROUTE_CALLER_BLOCK_CLI:
- start|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_CLEAR_CALLEE_PREF:
- return|ROUTE_CLEAR_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- return|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_NCOS_CHECK:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- return|ROUTE_NCOS_CHECK:
- start|ROUTE_BLOCK_OUT:
- return|ROUTE_BLOCK_OUT:
- start|ROUTE_CHECK_PBX:
- return|ROUTE_CHECK_PBX:
- start|ROUTE_CALLEE_DISPATCH:
- start|ROUTE_INVITE_TO_INT:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_CF_CFU:
- return|ROUTE_CF_CFU:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_CHECK_LOCATIONS:
- start|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- return|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- start|ROUTE_OUTBOUND:
- start|ROUTE_SET_CALLER_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLER_DIALOG_TOTAL:
- return|ROUTE_SET_CALLER_DIALOG_TOTAL:
- start|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_ACC_CALLEE:
- start|ROUTE_ADD_AOC_HEADER:
- return|ROUTE_ADD_AOC_HEADER:
- start|BRANCH_ROUTE_SBC:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- start|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test SIP/2.0'
- 'From: <sip:[% scenarios.2.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authorization: Digest username="[% scenarios.2.username %]",realm="invite-announce-before-call.scenarios.test",uri="sip:[% server_ip %]:5060",nonce=".+",response=".+",algorithm=MD5'
- 'P-Early-Media: supported,sendonly'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:testuser1002@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
]
- [
'SIP/2.0 101 Connecting',
'From: <sip:testuser1002@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:[% scenarios.2.responders.0.username %]@',
'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-Early-Media: supported,sendonly',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
]

@ -0,0 +1,32 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 180 Ringing'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 180 Ringing',
'From: <sip:testuser1002@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
'P-Early-Media: recvonly',
]

@ -0,0 +1,158 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
- return|ROUTE_NET_INFO:
- start|ROUTE_CHECK_TEL_URI:
- return|ROUTE_CHECK_TEL_URI:
- start|ROUTE_PRX_REQUEST:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_INVITE:
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
- start|ROUTE_FIND_CALLER:
- start|ROUTE_AUTH:
- start|ROUTE_AUTH_HELPER:
- return|ROUTE_AUTH_HELPER:
- start|ROUTE_ADD_CALLINFO_REPLY:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_REPLY:
- return|ROUTE_AUTH:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_CLEAR_CALLER_PREF:
- return|ROUTE_CLEAR_CALLER_PREF:
- start|ROUTE_CHECK_UA:
- return|ROUTE_CHECK_UA:
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLER_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- start|ROUTE_PARSE_P_EARLY_MEDIA:
- return|ROUTE_PARSE_P_EARLY_MEDIA:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
- return|ROUTE_CALLER_BLOCK_CLI:
- start|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_CLEAR_CALLEE_PREF:
- return|ROUTE_CLEAR_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- return|ROUTE_LOAD_CALLEE_PREF:
- start|ROUTE_NCOS_CHECK:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- start|ROUTE_NCOS:
- return|ROUTE_NCOS:
- return|ROUTE_NCOS_CHECK:
- start|ROUTE_BLOCK_OUT:
- return|ROUTE_BLOCK_OUT:
- start|ROUTE_CHECK_PBX:
- return|ROUTE_CHECK_PBX:
- start|ROUTE_PRE_ANNOUNCE:
- start|ROUTE_LOAD_APPSRV:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_LOAD_APPSRV:
- start|ROUTE_OUTBOUND:
- start|ROUTE_SET_CALLER_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLER_DIALOG_TOTAL:
- return|ROUTE_SET_CALLER_DIALOG_TOTAL:
- start|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG_BASE:
- return|ROUTE_SET_CALLER_DIALOG:
- start|BRANCH_ROUTE_NO_SBC:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_NO_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test SIP/2.0'
- 'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authorization: Digest username="[% scenarios.3.username %]",realm="invite-announce-before-call.scenarios.test",uri="sip:[% server_ip %]:5060",nonce=".+",response=".+",algorithm=MD5'
- 'P-Early-Media: supported,recvonly'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
]
- [
'SIP/2.0 101 Connecting',
'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:pre_announce@app.local SIP/2.0',
'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'P-Early-Media: supported,recvonly',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-LB-Uptime: \d+',
'P-App-Param: audio_id=;audio2_id=[% soundsets.invite_announce_before_call.announce_before_call_setup.id %];audio3_id=;reply_180=no',
'P-App-Name: pre_announce',
]

@ -0,0 +1,35 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_RTPENGINE:
- return|REPLY_ROUTE_RTPENGINE:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 183 Progress'
- 'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 183 Progress',
'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-Early-Media: sendonly',
]

@ -0,0 +1,127 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
- start|FAILURE_ROUTE_PRE_ANNOUNCE:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|ROUTE_STOP_RTPPROXY_BRANCH:
- start|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_STOP_RTPPROXY_BRANCH:
- start|ROUTE_CALLEE_DISPATCH:
- start|ROUTE_INVITE_TO_INT:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_CF_CFU:
- return|ROUTE_CF_CFU:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_CHECK_LOCATIONS:
- start|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- return|ROUTE_LOOKUP_SUBSCRIBER_LOCATIONS:
- start|ROUTE_OUTBOUND:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_ACC_CALLEE:
- start|ROUTE_ADD_AOC_HEADER:
- return|ROUTE_ADD_AOC_HEADER:
- start|BRANCH_ROUTE_SBC:
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
- start|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_SET_CALLEE_DIALOG_BASE:
- return|ROUTE_SET_CALLEE_DIALOG_BASE:
- start|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG_TOTAL:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- start|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 301 Message Ended'
- 'From: <sip:testuser1002@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Length: 0'
sip_out:
- [
'ACK sip:pre_announce@app.local SIP/2.0',
'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ ACK',
'Content-Length: 0',
]
- [
'INVITE sip:[% scenarios.3.responders.0.username %]@10.20.29.2:51609 SIP/2.0',
'From: <sip:4311000@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>',
'CSeq: \d+ INVITE',
'Contact: <sip:[% scenarios.3.username %]@10.20.29.2:51608;alias=10.20.29.2~51608~1>',
'P-Early-Media: supported,recvonly',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
]

@ -0,0 +1,34 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_RTPENGINE:
- return|REPLY_ROUTE_RTPENGINE:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 180 Ringing'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
sip_out:
- [
'SIP/2.0 180 Ringing',
'From: <sip:[% scenarios.3.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Type: application/sdp',
'Content-Length:\s+\d+',
'P-Early-Media: sendonly',
]

@ -0,0 +1,37 @@
cdr:
- source_user: '[% scenarios.0.username %]'
source_domain: 'invite-announce-before-call.scenarios.test'
source_cli: '[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]'
destination_user: '[% scenarios.0.responders.0.username %]'
destination_domain: 'invite-announce-before-call.scenarios.test'
destination_user_dialed: '[% scenarios.0.responders.0.username %]'
call_type: 'call'
call_status: 'ok'
call_code: '200'
- source_user: '[% scenarios.1.username %]'
source_domain: 'invite-announce-before-call.scenarios.test'
source_cli: '[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]'
destination_user: '[% scenarios.1.responders.0.username %]'
destination_domain: 'invite-announce-before-call.scenarios.test'
destination_user_dialed: '[% scenarios.1.responders.0.username %]'
call_type: 'call'
call_status: 'ok'
call_code: '200'
- source_user: '[% scenarios.2.username %]'
source_domain: 'invite-announce-before-call.scenarios.test'
source_cli: '[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]'
destination_user: '[% scenarios.2.responders.0.username %]'
destination_domain: 'invite-announce-before-call.scenarios.test'
destination_user_dialed: '[% scenarios.2.responders.0.username %]'
call_type: 'call'
call_status: 'ok'
call_code: '200'
- source_user: '[% scenarios.3.username %]'
source_domain: 'invite-announce-before-call.scenarios.test'
source_cli: '[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]'
destination_user: '[% scenarios.3.responders.0.username %]'
destination_domain: 'invite-announce-before-call.scenarios.test'
destination_user_dialed: '[% scenarios.3.responders.0.username %]'
call_type: 'call'
call_status: 'ok'
call_code: '200'

@ -0,0 +1,18 @@
{
"@invite-announce-before-call.scenarios.test": {
"nat_sipping": "no",
"sound_set": "invite_announce_before_call"
},
"[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test": {
"play_announce_before_call_setup": true
},
"[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test": {
"play_announce_before_call_setup": true
},
"[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test": {
"play_announce_before_call_setup": true
},
"[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test": {
"play_announce_before_call_setup": true
}
}

@ -0,0 +1,84 @@
---
test_uuid: invite_announce_before_call
domains:
invite-announce-before-call.scenarios.test:
reseller_id: 1
customers:
'customer.test':
contacts:
- email: "customer.test@invite-announce-before-call.scenarios.test"
reseller_id: 1
details:
status: 'active'
type: 'sipaccount'
billing_profile_id: 1
reseller_id: 1
subscribers:
invite-announce-before-call.scenarios.test:
testuser1003:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1003
testuser1004:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1004
testuser1005:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1005
testuser1006:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1006
testuser1002:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1002
alias_numbers:
- cc: 34
ac: 96
sn: 5711941
scenarios:
- ip: 127.126.0.1
username: testuser1002
domain: invite-announce-before-call.scenarios.test
responders:
- ip: 127.1.0.1
username: testuser1003
domain: invite-announce-before-call.scenarios.test
register: 'yes'
- ip: 127.126.0.1
username: testuser1002
domain: invite-announce-before-call.scenarios.test
responders:
- ip: 127.1.0.1
username: testuser1004
domain: invite-announce-before-call.scenarios.test
register: 'yes'
- ip: 127.126.0.1
username: testuser1002
domain: invite-announce-before-call.scenarios.test
responders:
- ip: 127.1.0.1
username: testuser1005
domain: invite-announce-before-call.scenarios.test
register: 'yes'
- ip: 127.126.0.1
username: testuser1002
domain: invite-announce-before-call.scenarios.test
responders:
- ip: 127.1.0.1
username: testuser1006
domain: invite-announce-before-call.scenarios.test
register: 'yes'

@ -0,0 +1,146 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1" start_rtd="2">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
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
]]>
</send>
<recv response="100" rtd="1" optional="true">
</recv>
<recv response="407" rtd="2" auth="true"/>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[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
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="3">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
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
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="180" optional="true">
</recv>
<recv response="183" optional="true">
</recv>
<recv response="200" rrs="true" rtd="3">
</recv>
<send>
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[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
]]>
</send>
<pause milliseconds="500"/>
<nop>
<action>
<exec play_pcap_audio="media181sec.pcap"/>
</action>
</nop>
<pause milliseconds="1000"/>
<send start_rtd="4">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[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
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="200" crlf="true" rtd="4">
</recv>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200, 500, 1000"/>
<!-- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> -->
</scenario>

@ -0,0 +1,77 @@
messages:
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 407 Proxy Authentication Required'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authenticate: Digest realm="invite-announce-before-call.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length: 0'
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 183 Progress'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- 'v=0'
- 'o=sems \d+ \d+ IN IP4 [% server_ip %]'
- 's=sems'
- '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 180 Ringing'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Length: 0'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'SIP/2.0 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;vsf=[^;]+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Content-Length: 0'

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1" start_rtd="2">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 1 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
P-Early-Media: supported,gated
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
]]>
</send>
<recv response="100" rtd="1" optional="true">
</recv>
<recv response="407" rtd="2" auth="true"/>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 1 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="3">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 2 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
[field1 file="caller.csv"]
P-Early-Media: supported,gated
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
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="180" optional="true">
</recv>
<recv response="183" optional="true">
</recv>
<recv response="200" rrs="true" rtd="3">
</recv>
<send>
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
[routes]
CSeq: 2 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<nop>
<action>
<exec play_pcap_audio="media181sec.pcap"/>
</action>
</nop>
<pause milliseconds="1000"/>
<send start_rtd="4">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=1]@[field3 file="callee.csv" line=1]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=1]%///[call_id]
CSeq: 3 BYE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="200" crlf="true" rtd="4">
</recv>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200, 500, 1000"/>
<!-- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> -->
</scenario>

@ -0,0 +1,90 @@
messages:
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 407 Proxy Authentication Required'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authenticate: Digest realm="invite-announce-before-call.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length: 0'
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 183 Progress'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'P-Early-Media: sendrecv'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- 'v=0'
- 'o=sems \d+ \d+ IN IP4 [% server_ip %]'
- 's=sems'
- '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 180 Ringing'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'P-Early-Media: sendrecv'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;vsf=[^;]+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Content-Length: 0'

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1" start_rtd="2">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2]>
Call-ID: NGCP%[field4 file="callee.csv" line=2]%///[call_id]
CSeq: 1 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
P-Early-Media: supported,sendonly
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
]]>
</send>
<recv response="100" rtd="1" optional="true">
</recv>
<recv response="407" rtd="2" auth="true"/>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=2]%///[call_id]
CSeq: 1 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="3">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2]>
Call-ID: NGCP%[field4 file="callee.csv" line=2]%///[call_id]
CSeq: 2 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
[field1 file="caller.csv"]
P-Early-Media: supported,sendonly
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
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="180" optional="true">
</recv>
<recv response="183" optional="true">
</recv>
<recv response="200" rrs="true" rtd="3">
</recv>
<send>
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=2]%///[call_id]
[routes]
CSeq: 2 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<nop>
<action>
<exec play_pcap_audio="media181sec.pcap"/>
</action>
</nop>
<pause milliseconds="1000"/>
<send start_rtd="4">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=2]@[field3 file="callee.csv" line=2]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=2]%///[call_id]
CSeq: 3 BYE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="200" crlf="true" rtd="4">
</recv>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200, 500, 1000"/>
<!-- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> -->
</scenario>

@ -0,0 +1,58 @@
messages:
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 407 Proxy Authentication Required'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authenticate: Digest realm="invite-announce-before-call.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length: 0'
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 180 Ringing'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Length: 0'
- 'P-Early-Media: recvonly'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'SIP/2.0 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;vsf=[^;]+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Content-Length: 0'

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1" start_rtd="2">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3]>
Call-ID: NGCP%[field4 file="callee.csv" line=3]%///[call_id]
CSeq: 1 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
P-Early-Media: supported,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
]]>
</send>
<recv response="100" rtd="1" optional="true">
</recv>
<recv response="407" rtd="2" auth="true"/>
<send>
<![CDATA[
ACK sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3]:[remote_port] SIP/2.0
[last_Via:]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=3]%///[call_id]
CSeq: 1 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="3">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3]>
Call-ID: NGCP%[field4 file="callee.csv" line=3]%///[call_id]
CSeq: 2 INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
[field1 file="caller.csv"]
P-Early-Media: supported,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
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="180" optional="true">
</recv>
<recv response="183" optional="true">
</recv>
<recv response="200" rrs="true" rtd="3">
</recv>
<send>
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=3]%///[call_id]
[routes]
CSeq: 2 ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<nop>
<action>
<exec play_pcap_audio="media181sec.pcap"/>
</action>
</nop>
<pause milliseconds="1000"/>
<send start_rtd="4">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=3]@[field3 file="callee.csv" line=3]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=3]%///[call_id]
CSeq: 3 BYE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="200" crlf="true" rtd="4">
</recv>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200, 500, 1000"/>
<!-- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> -->
</scenario>

@ -0,0 +1,90 @@
messages:
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 407 Proxy Authentication Required'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authenticate: Digest realm="invite-announce-before-call.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length: 0'
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length: 0'
- - 'SIP/2.0 183 Progress'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'P-Early-Media: sendonly'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- 'v=0'
- 'o=sems \d+ \d+ IN IP4 [% server_ip %]'
- 's=sems'
- '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 180 Ringing'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'P-Early-Media: sendonly'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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 200 OK'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;vsf=[^;]+;rtpprx=yes>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Content-Length: 0'

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" ?>
<scenario name="Sipwise NGCP Benchmark UAS Responder">
<recv request="INVITE" crlf="true" rtd="true">
</recv>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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
]]>
</send>
<recv request="ACK"
crlf="true">
</recv>
<recv request="BYE">
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: [len]
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,40 @@
messages:
- - 'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;leg_b=1;did=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ ACK'
- 'Content-Length: 0'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'BYE sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Length: 0'

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" ?>
<scenario name="Sipwise NGCP Benchmark UAS Responder">
<recv request="INVITE" crlf="true" rtd="true">
</recv>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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
]]>
</send>
<pause milliseconds="500"/>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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
]]>
</send>
<recv request="ACK"
crlf="true">
</recv>
<recv request="BYE">
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: [len]
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,41 @@
messages:
- - 'INVITE sip:[% scenarios.1.responders.0.username %]@[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %] SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;leg_b=1;did=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'P-Early-Media: supported,gated'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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.1.responders.0.ip %]:[% scenarios.1.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ ACK'
- 'Content-Length: 0'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'BYE sip:[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Length: 0'

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8" ?>
<scenario name="Sipwise NGCP Benchmark UAS Responder">
<recv request="INVITE" crlf="true" rtd="true">
</recv>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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
]]>
</send>
<recv request="ACK"
crlf="true">
</recv>
<recv request="BYE">
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: [len]
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,41 @@
messages:
- - 'INVITE sip:[% scenarios.2.responders.0.username %]@[% scenarios.2.responders.0.ip %]:[% scenarios.2.responders.0.port %] SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;leg_b=1;did=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'P-Early-Media: supported,sendonly'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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.2.responders.0.ip %]:[% scenarios.2.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ ACK'
- 'Content-Length: 0'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'BYE sip:[% scenarios.2.responders.0.ip %]:[% scenarios.2.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Length: 0'

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" ?>
<scenario name="Sipwise NGCP Benchmark UAS Responder">
<recv request="INVITE" crlf="true" rtd="true">
</recv>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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
]]>
</send>
<pause milliseconds="500"/>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
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
]]>
</send>
<recv request="ACK"
crlf="true">
</recv>
<recv request="BYE">
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: [len]
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,41 @@
messages:
- - 'INVITE sip:[% scenarios.3.responders.0.username %]@[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %] SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+;leg_b=1;did=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'P-Early-Media: supported,recvonly'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Type: application/sdp'
- 'Content-Length: \d+'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- '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.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ ACK'
- 'Content-Length: 0'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'BYE sip:[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1;r2=on;lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
- 'Record-Route: <sip:127.0.0.1:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-announce-before-call.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'P-Asserted-Identity: <sip:[% invite_announce_before_call_scenarios_test.testuser1002.phone_number %]@invite-announce-before-call.scenarios.test>'
- 'Content-Length: 0'

@ -0,0 +1,8 @@
---
soundsets:
'invite_announce_before_call':
reseller_id: 1
sounds:
announce_before_call_setup:
filename: sounds/no_sh.wav
loopplay: 'false'
Loading…
Cancel
Save