This commit adds 3 more calls to the invite_record_call scenario testing the behaviour of calls which are not responded with 200 OK. Change-Id: If5b832310c610bdafc86a0f850cb8ce65ef532c7mr11.4.1
parent
459551f774
commit
f90883f062
@ -1,42 +0,0 @@
|
||||
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 %]@'
|
||||
]
|
||||
@ -1,22 +1,226 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- 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:
|
||||
$x_hdr(From): invite-record-call.scenarios.test
|
||||
$var(realm_user): [% scenarios.0.username %]
|
||||
$var(realm_domain): invite-record-call.scenarios.test
|
||||
- return|ROUTE_AUTH_HELPER:
|
||||
$avp(orig_acc_caller_user): ['[% scenarios.0.username %]']
|
||||
$avp(orig_acc_caller_domain): ['invite-record-call.scenarios.test']
|
||||
- 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_DETECT_LOOP:
|
||||
- return|ROUTE_DETECT_LOOP:
|
||||
- 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:
|
||||
$avp(lua_dlg_profile): [
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1003.uuid %]",
|
||||
"total",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1003.uuid %]"
|
||||
]
|
||||
- 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_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- 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_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:
|
||||
$avp(lua_dlg_profile): [
|
||||
"peer:appsrv",
|
||||
"local",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1003.uuid %]",
|
||||
"total",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1003.uuid %]"
|
||||
]
|
||||
- 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:
|
||||
$avp(lua_dlg_profile): [
|
||||
"accountout:[% customer_test.id %]",
|
||||
"userout:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"totalaccountout:[% customer_test.id %]",
|
||||
"totaluserout:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"peer:appsrv",
|
||||
"local",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1003.uuid %]",
|
||||
"total",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1003.uuid %]"
|
||||
]
|
||||
- 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:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- 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:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
$avp(lua_dlg_profile): [
|
||||
"accountout:[% customer_test.id %]",
|
||||
"userout:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"totalaccountout:[% customer_test.id %]",
|
||||
"totaluserout:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"peer:appsrv",
|
||||
"local",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1003.uuid %]",
|
||||
"total",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1003.uuid %]"
|
||||
]
|
||||
sip_in:
|
||||
- '^SIP/2.0 180 Ringing'
|
||||
- '^INVITE'
|
||||
- 'Contact: <sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %](;[^>]+)?>'
|
||||
- 'CSeq: 2 INVITE'
|
||||
- 'Max-Forwards: 69'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.0.username %]"'
|
||||
sip_out:
|
||||
- [
|
||||
'^SIP/2.0 180 Ringing',
|
||||
'^SIP/2.0 100 Trying',
|
||||
'CSeq: 2 INVITE',
|
||||
'From: <sip:[% scenarios.0.username %]@',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@'
|
||||
]
|
||||
- [
|
||||
'^SIP/2.0 101 Connecting',
|
||||
'CSeq: 2 INVITE',
|
||||
'From: <sip:[% scenarios.0.username %]@',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@'
|
||||
]
|
||||
- [
|
||||
'^INVITE sip:pre_announce@app.local',
|
||||
'CSeq: 2 INVITE',
|
||||
'From: <sip:[% scenarios.0.username %]@',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@',
|
||||
'Content-Type: application/sdp',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1002.uuid %]',
|
||||
'P-Callee-UUID: [% invite_record_call_scenarios_test.testuser1003.uuid %]',
|
||||
'P-App-Param: force_early_announce=0;audio_id=;audio2_id=;audio3_id=[0-9]+;reply_180=no',
|
||||
'P-App-Name: pre_announce'
|
||||
]
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
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_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_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"totalaccountout:[% customer_test.id %]",
|
||||
"totaluserout:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1002.uuid %]",
|
||||
"peer:appsrv",
|
||||
"local",
|
||||
"totalaccount:[% customer_test.id %]",
|
||||
"totaluser:[% invite_record_call_scenarios_test.testuser1003.uuid %]",
|
||||
"total",
|
||||
"account:[% customer_test.id %]",
|
||||
"user:[% invite_record_call_scenarios_test.testuser1003.uuid %]"
|
||||
]
|
||||
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 %]@'
|
||||
]
|
||||
@ -1,53 +1,22 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- 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
|
||||
- start|ROUTE_STOP_RTPPROXY:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_STOP_RTPPROXY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|ROUTE_OUTBOUND:
|
||||
- start|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- 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/2.0 180 Ringing'
|
||||
- 'CSeq: 2 INVITE'
|
||||
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_record_call_scenarios_test.testuser1002.phone_number %]@',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@'
|
||||
'^SIP/2.0 180 Ringing',
|
||||
'CSeq: 2 INVITE',
|
||||
]
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
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:
|
||||
- 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_record_call_scenarios_test.testuser1002.phone_number %]@',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@'
|
||||
]
|
||||
@ -0,0 +1,53 @@
|
||||
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
|
||||
- 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:
|
||||
- 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_record_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_record_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,51 @@
|
||||
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-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:5080;transport=udp>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'v=0'
|
||||
- 's=sems'
|
||||
- 't=0 0'
|
||||
- 'm=audio \d+ RTP/AVP 8 96'
|
||||
- 'a=rtpmap:8 PCMA/8000'
|
||||
- 'a=rtpmap:96 telephone-event/8000'
|
||||
- 'a=fmtp:96 0-15'
|
||||
- 'a=sendrecv'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 183 Progress',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:5080;transport=udp>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'v=0',
|
||||
's=sems',
|
||||
't=0 0',
|
||||
'm=audio \d+ RTP/AVP 8',
|
||||
'a=rtpmap:8 PCMA/8000',
|
||||
'a=sendrecv',
|
||||
'a=rtcp:\d+',
|
||||
'a=ptime:50',
|
||||
]
|
||||
@ -0,0 +1,143 @@
|
||||
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:
|
||||
$var(rtpp_flags): "record-call"
|
||||
- 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:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 301 Message Ended'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:pre_announce@app.local SIP/2.0',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.1.responders.0.username %]@[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %] SIP/2.0',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.1.username %]@[% scenarios.1.ip %]:[% scenarios.1.port %];alias=[^;]+>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-LB-Uptime:\s+\d+',
|
||||
'P-App-Param: ;calltimer=21600;aleg_sst_enable=no;sst_enable=no;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no;fast_ack=no',
|
||||
'P-App-Name: sbc',
|
||||
'P-Asserted-Identity: <sip:[% invite_record_call_scenarios_test.testuser1002.phone_number %]@invite-record-call.scenarios.test>',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1002.uuid %]',
|
||||
'P-Callee-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-Called-Party-ID: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.1.ip %];port=[% scenarios.1.port %];primary=[% invite_record_call_scenarios_test.testuser1002.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.1.responders.0.ip %];port=[% scenarios.1.responders.0.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-D-Uri: sip:lb@127.0.0.1;lr;received=sip:[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %];socket=sip:[% server_ip %]:5060',
|
||||
'P-Proxy-Uri: sip:127.0.0.1:5062',
|
||||
'v=0',
|
||||
's=-',
|
||||
't=0 0',
|
||||
'm=audio \d+ RTP/AVP 8',
|
||||
'a=rtpmap:8 PCMA/8000',
|
||||
'a=sendrecv',
|
||||
'a=rtcp:\d+',
|
||||
'a=ptime:50',
|
||||
]
|
||||
@ -0,0 +1,75 @@
|
||||
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:
|
||||
- start|tm:branch-failure:local:
|
||||
- return|tm:branch-failure:local:
|
||||
- start|FAILURE_ROUTE_LOCAL:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
$var(rtpp_flags): "discard-recording"
|
||||
- start|ROUTE_CF_CFB:
|
||||
- return|ROUTE_CF_CFB:
|
||||
- start|ROUTE_CODES_ANNOUNCEMENTS_MAPPING:
|
||||
- return|ROUTE_CODES_ANNOUNCEMENTS_MAPPING:
|
||||
- start|ROUTE_EARLY_REJECT:
|
||||
- start|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- 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_REPLY:
|
||||
- start|ROUTE_LOCAL_REPLY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|dialog:failed:
|
||||
- return|dialog:failed:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 486 Busy Here'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1002.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:[% scenarios.1.responders.0.username %]@[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_record_call_scenarios_test.testuser1002.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 486 Busy Here',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'P-NGCP-Authorization: testuser1002@invite-record-call.scenarios.test',
|
||||
'P-NGCP-Authorized: 1',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.1.ip %];port=[% scenarios.1.port %];primary=[% invite_record_call_scenarios_test.testuser1002.phone_number %]',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1002.uuid %]',
|
||||
'P-Callee-Uuid: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.1.ip %];port=[% scenarios.1.port %];primary=[% invite_record_call_scenarios_test.testuser1002.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.1.responders.0.ip %];port=[% scenarios.1.responders.0.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
@ -0,0 +1,259 @@
|
||||
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_DETECT_LOOP:
|
||||
- return|ROUTE_DETECT_LOOP:
|
||||
- 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_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- 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:
|
||||
$var(rtpp_flags): "record-call"
|
||||
- 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:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:[% scenarios.2.username %]@[% scenarios.2.ip %]:[% scenarios.2.port %];alias=[^;]+>'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.1.responders.0.username %]",realm="invite-record-call.scenarios.test",uri="sip:[% server_ip %]:5060",nonce="[^"]+",response="[^"]+",algorithm=MD5'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'P-NGCP-Src-Ip: [% scenarios.0.ip %]'
|
||||
- 'P-NGCP-Src-Port: [% scenarios.2.port %]'
|
||||
- 'P-NGCP-Src-Proto: udp'
|
||||
- 'P-NGCP-Src-Af: 4'
|
||||
- 'P-Sock-Info: udp:[% server_ip %]:5060'
|
||||
- 'P-LB-Uptime:\s+\d+'
|
||||
- 'P-NGCP-Src-Nat: 1'
|
||||
- 'v=0'
|
||||
- 'o=user1 \d+ \d+ IN IP4 [% scenarios.0.ip %]'
|
||||
- 's=-'
|
||||
- 'c=IN IP4 [% scenarios.0.ip %]'
|
||||
- 't=0 0'
|
||||
- 'm=audio [% scenarios.2.mport %] RTP/AVP 8'
|
||||
- 'a=rtpmap:8 PCMA/8000'
|
||||
- 'a=ptime:50'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'P-NGCP-Authorization: testuser1004@invite-record-call.scenarios.test',
|
||||
'P-NGCP-Authorized: 1',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.2.ip %];port=[% scenarios.2.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.2.responders.0.username %]@[% scenarios.2.responders.0.ip %]:[% scenarios.2.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.2.username %]@[% scenarios.2.ip %]:[% scenarios.2.port %];alias=[^;]+>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-LB-Uptime:\s+\d+',
|
||||
'P-Asserted-Identity: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-Callee-UUID: [% invite_record_call_scenarios_test.testuser1005.uuid %]',
|
||||
'P-Called-Party-ID: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'P-App-Param: ;calltimer=21600;aleg_sst_enable=no;sst_enable=no;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no;fast_ack=no;a_park_domain=[% customer_test.id %];b_park_domain=[% customer_test.id %]',
|
||||
'P-App-Name: sbc',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.2.ip %];port=[% scenarios.2.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.2.responders.0.ip %];port=[% scenarios.2.responders.0.port %];primary=[% invite_record_call_scenarios_test.testuser1005.phone_number %]',
|
||||
'P-D-Uri: sip:lb@[% server_ip %];lr;received=sip:[% scenarios.2.responders.0.ip %]:[% scenarios.2.responders.0.port %];socket=sip:[% server_ip %]:5060',
|
||||
'P-Proxy-Uri: sip:[% server_ip %]:5062',
|
||||
'v=0',
|
||||
's=-',
|
||||
't=0 0',
|
||||
'm=audio \d+ RTP/AVP 8',
|
||||
'a=rtpmap:8 PCMA/8000',
|
||||
'a=sendrecv',
|
||||
'a=rtcp:\d+',
|
||||
'a=ptime:50',
|
||||
]
|
||||
@ -0,0 +1,75 @@
|
||||
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:
|
||||
- start|tm:branch-failure:local:
|
||||
- return|tm:branch-failure:local:
|
||||
- start|FAILURE_ROUTE_LOCAL:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
$var(rtpp_flags): "discard-recording"
|
||||
- start|ROUTE_CF_CFB:
|
||||
- return|ROUTE_CF_CFB:
|
||||
- start|ROUTE_CODES_ANNOUNCEMENTS_MAPPING:
|
||||
- return|ROUTE_CODES_ANNOUNCEMENTS_MAPPING:
|
||||
- start|ROUTE_EARLY_REJECT:
|
||||
- start|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- 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_REPLY:
|
||||
- start|ROUTE_LOCAL_REPLY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|dialog:failed:
|
||||
- return|dialog:failed:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 486 Busy Here'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:[% scenarios.2.responders.0.username %]@[% scenarios.2.responders.0.ip %]:[% scenarios.2.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 486 Busy Here',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'P-NGCP-Authorization: testuser1004@invite-record-call.scenarios.test',
|
||||
'P-NGCP-Authorized: 1',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.2.ip %];port=[% scenarios.2.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-Callee-Uuid: [% invite_record_call_scenarios_test.testuser1005.uuid %]',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.2.ip %];port=[% scenarios.2.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.2.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.2.responders.0.ip %];port=[% scenarios.2.responders.0.port %];primary=[% invite_record_call_scenarios_test.testuser1005.phone_number %]',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
@ -0,0 +1,220 @@
|
||||
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_DETECT_LOOP:
|
||||
- return|ROUTE_DETECT_LOOP:
|
||||
- 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_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS_SET:
|
||||
- return|ROUTE_NCOS_SET:
|
||||
- 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_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:
|
||||
$var(rtpp_flags): "record-call"
|
||||
- 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:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:[% scenarios.3.username %]@[% scenarios.3.ip %]:[% scenarios.3.port %];alias=[^;]+>'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.1.responders.0.username %]",realm="invite-record-call.scenarios.test",uri="sip:[% server_ip %]:5060",nonce="[^"]+",response="[^"]+",algorithm=MD5'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'P-NGCP-Src-Ip: [% scenarios.0.ip %]'
|
||||
- 'P-NGCP-Src-Port: [% scenarios.3.port %]'
|
||||
- 'P-NGCP-Src-Proto: udp'
|
||||
- 'P-NGCP-Src-Af: 4'
|
||||
- 'P-Sock-Info: udp:[% server_ip %]:5060'
|
||||
- 'P-LB-Uptime:\s+\d+'
|
||||
- 'P-NGCP-Src-Nat: 1'
|
||||
- 'v=0'
|
||||
- 'o=user1 \d+ \d+ IN IP4 [% scenarios.0.ip %]'
|
||||
- 's=-'
|
||||
- 'c=IN IP4 [% scenarios.0.ip %]'
|
||||
- 't=0 0'
|
||||
- 'm=audio [% scenarios.3.mport %] RTP/AVP 8'
|
||||
- 'a=rtpmap:8 PCMA/8000'
|
||||
- 'a=ptime:50'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'P-NGCP-Authorization: testuser1004@invite-record-call.scenarios.test',
|
||||
'P-NGCP-Authorized: 1',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:pre_announce@app.local SIP/2.0',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.3.username %]@[% scenarios.3.ip %]:[% scenarios.3.port %];alias=[^;]+>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-LB-Uptime:\s+\d+',
|
||||
'P-App-Param: force_early_announce=0;audio_id=[0-9]*;audio2_id=[0-9]*;audio3_id=[0-9]*;reply_180=no',
|
||||
'P-App-Name: pre_announce',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-Callee-UUID: [% invite_record_call_scenarios_test.testuser1006.uuid %]',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;ip=127.0.0.1;port=5080;primary=[% invite_record_call_scenarios_test.testuser1006.phone_number %]',
|
||||
'v=0',
|
||||
'o=user1 53655765 2353687637 IN IP4 192.168.8.180',
|
||||
's=-',
|
||||
'c=IN IP4 192.168.8.180',
|
||||
't=0 0',
|
||||
'm=audio \d+ RTP/AVP 8 96',
|
||||
'a=rtpmap:8 PCMA/8000',
|
||||
'a=rtpmap:96 telephone-event/8000',
|
||||
'a=fmtp:96 0-15',
|
||||
'a=sendrecv',
|
||||
'a=rtcp:\d+',
|
||||
'a=ptime:50',
|
||||
]
|
||||
@ -0,0 +1,147 @@
|
||||
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:
|
||||
$var(rtpp_flags): "^((?!discard-recording).)*$"
|
||||
- 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:
|
||||
$var(rtpp_flags): "record-call"
|
||||
- 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:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 301 Message Ended'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:pre_announce@app.local SIP/2.0',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.3.responders.0.username %]@[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.3.username %]@[% scenarios.3.ip %]:[% scenarios.3.port %];alias=[^;]+>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-LB-Uptime:\s+\d+',
|
||||
'P-App-Param: ;calltimer=21600;aleg_sst_enable=no;sst_enable=no;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no;fast_ack=no',
|
||||
'P-App-Name: sbc',
|
||||
'P-Asserted-Identity: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-Callee-UUID: [% invite_record_call_scenarios_test.testuser1006.uuid %]',
|
||||
'P-Called-Party-ID: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.responders.0.ip %];port=[% scenarios.3.responders.0.port %];primary=[% invite_record_call_scenarios_test.testuser1006.phone_number %]',
|
||||
'P-D-Uri: sip:lb@[% server_ip %];lr;received=sip:[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];socket=sip:[% server_ip %]:5060',
|
||||
'P-Proxy-Uri: sip:[% server_ip %]:5062',
|
||||
'v=0',
|
||||
'o=user1 53655765 2353687637 IN IP4 192.168.8.180',
|
||||
's=-',
|
||||
'c=IN IP4 192.168.8.180',
|
||||
't=0 0',
|
||||
'm=audio \d+ RTP/AVP 8',
|
||||
'a=rtpmap:8 PCMA/8000',
|
||||
'a=sendrecv',
|
||||
'a=rtcp:\d+',
|
||||
'a=ptime:50',
|
||||
]
|
||||
@ -0,0 +1,75 @@
|
||||
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:
|
||||
- start|tm:branch-failure:local:
|
||||
- return|tm:branch-failure:local:
|
||||
- start|FAILURE_ROUTE_LOCAL:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
$var(rtpp_flags): "discard-recording"
|
||||
- start|ROUTE_CF_CFB:
|
||||
- return|ROUTE_CF_CFB:
|
||||
- start|ROUTE_CODES_ANNOUNCEMENTS_MAPPING:
|
||||
- return|ROUTE_CODES_ANNOUNCEMENTS_MAPPING:
|
||||
- start|ROUTE_EARLY_REJECT:
|
||||
- start|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- 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_REPLY:
|
||||
- start|ROUTE_LOCAL_REPLY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|dialog:failed:
|
||||
- return|dialog:failed:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 486 Busy Here'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:[% scenarios.3.responders.0.username %]@[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 486 Busy Here',
|
||||
'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Out-Socket: udp:[% server_ip %]:5060',
|
||||
'P-NGCP-Auth-IP: [% scenarios.0.ip %]',
|
||||
'P-NGCP-Auth-UA: <null>',
|
||||
'P-NGCP-Authorization: testuser1004@invite-record-call.scenarios.test',
|
||||
'P-NGCP-Authorized: 1',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-Caller-UUID: [% invite_record_call_scenarios_test.testuser1004.uuid %]',
|
||||
'P-Callee-Uuid: [% invite_record_call_scenarios_test.testuser1006.uuid %]',
|
||||
'P-NGCP-Caller-Info: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_record_call_scenarios_test.testuser1004.phone_number %]',
|
||||
'P-NGCP-Callee-Info: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;ip=[% scenarios.3.responders.0.ip %];port=[% scenarios.3.responders.0.port %];primary=[% invite_record_call_scenarios_test.testuser1006.phone_number %]',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length:\s+0',
|
||||
]
|
||||
@ -0,0 +1,112 @@
|
||||
<?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
|
||||
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=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"]
|
||||
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="183" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="180" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="486" rtd="3">
|
||||
</recv>
|
||||
|
||||
<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: 2 ACK
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<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,49 @@
|
||||
messages:
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP LB'
|
||||
- 'Content-Length:\s+0'
|
||||
- - 'SIP/2.0 407 Proxy Authentication Required'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Proxy-Authenticate: Digest realm="invite-record-call.scenarios.test", nonce="[^"]+"'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length:\s+0'
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP LB'
|
||||
- 'Content-Length:\s+0'
|
||||
- - 'SIP/2.0 183 Progress'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
|
||||
- 'v=0'
|
||||
- 'o=sems \d+ \d+ IN IP4'
|
||||
- 's=sems'
|
||||
- 'c=IN IP4'
|
||||
- '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'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
|
||||
- - 'SIP/2.0 486 Busy Here'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length:\s+0'
|
||||
@ -0,0 +1,112 @@
|
||||
<?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" line=2]@[field2 file="caller.csv" line=2]>;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" line=2]@[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=2]@[field3 file="callee.csv" line=2]:[remote_port] SIP/2.0
|
||||
[last_Via:]
|
||||
From: <sip:[field0 file="caller.csv" line=2]@[field2 file="caller.csv" line=2]>;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" line=2]@[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" line=2]@[field2 file="caller.csv" line=2]>;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" line=2]@[local_ip]:[local_port]>
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv" line=2]
|
||||
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="183" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="180" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="486" rtd="3">
|
||||
</recv>
|
||||
|
||||
<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" line=2]@[field2 file="caller.csv" line=2]>;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: 2 ACK
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<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,112 @@
|
||||
<?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" line=3]@[field2 file="caller.csv" line=3]>;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" line=3]@[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=3]@[field3 file="callee.csv" line=3]:[remote_port] SIP/2.0
|
||||
[last_Via:]
|
||||
From: <sip:[field0 file="caller.csv" line=3]@[field2 file="caller.csv" line=3]>;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" line=3]@[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" line=3]@[field2 file="caller.csv" line=3]>;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" line=3]@[local_ip]:[local_port]>
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv" line=3]
|
||||
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="183" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="180" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="486" rtd="3">
|
||||
</recv>
|
||||
|
||||
<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" line=3]@[field2 file="caller.csv" line=3]>;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: 2 ACK
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<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,52 @@
|
||||
messages:
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP LB'
|
||||
- 'Content-Length:\s+0'
|
||||
- - 'SIP/2.0 407 Proxy Authentication Required'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Proxy-Authenticate: Digest realm="invite-record-call.scenarios.test", nonce="[^"]+"'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length:\s+0'
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP LB'
|
||||
- 'Content-Length:\s+0'
|
||||
- - 'SIP/2.0 183 Progress'
|
||||
- 'Record-Route: <sip:[% server_ip %]:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes>'
|
||||
- 'Record-Route: <sip:[% server_ip %];lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
|
||||
- 'v=0'
|
||||
- 's=sems'
|
||||
- 'c=IN IP4 192.168.8.180'
|
||||
- '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:[% server_ip %]:5062;lr=on;ftag=[^;]+;did=[^;]+;ice_caller=strip;ice_callee=strip;aset=\d+;rtpprx=yes;vsf=[^;]+>'
|
||||
- 'Record-Route: <sip:[% server_ip %];lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length:\s+0'
|
||||
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
|
||||
- - 'SIP/2.0 486 Busy Here'
|
||||
- 'From: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length:\s+0'
|
||||
@ -0,0 +1,47 @@
|
||||
<?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 486 Busy Here
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv request="ACK"
|
||||
crlf="true">
|
||||
</recv>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
messages:
|
||||
- - 'INVITE sip:[% scenarios.1.responders.0.username %]@[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %] SIP/2.0'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1002.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'P-Asserted-Identity: <sip:[% invite_record_call_scenarios_test.testuser1002.phone_number %]@invite-record-call.scenarios.test>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
|
||||
- 'v=0'
|
||||
- 'o=user1 \d+ \d+ IN IP4'
|
||||
- 's=-'
|
||||
- 'c=IN IP4'
|
||||
- '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.username %]@[% scenarios.1.responders.0.ip %]:[% scenarios.1.responders.0.port %] SIP/2.0'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1002.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Content-Length:\s+0'
|
||||
@ -0,0 +1,47 @@
|
||||
<?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 486 Busy Here
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv request="ACK"
|
||||
crlf="true">
|
||||
</recv>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
||||
|
||||
@ -0,0 +1,47 @@
|
||||
<?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 486 Busy Here
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv request="ACK"
|
||||
crlf="true">
|
||||
</recv>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
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 %];lr=on;ftag=[^;]+;ngcplb=yes;socket=sip:[% server_ip %]:5060>'
|
||||
- 'Record-Route: <sip:[% server_ip %]:5062;lr=on;ftag=[^;]+;leg_b=1;did=[^;]+>'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'P-Asserted-Identity: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
|
||||
- 'v=0'
|
||||
- 'o=user1 53655765 2353687637 IN IP4 192.168.8.180'
|
||||
- 's=-'
|
||||
- 'c=IN IP4 192.168.8.180'
|
||||
- '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.username %]@[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %] SIP/2.0'
|
||||
- 'From: <sip:[% invite_record_call_scenarios_test.testuser1004.phone_number %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-record-call.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Content-Length:\s+0'
|
||||
Loading…
Reference in new issue