invite_offline_soundset: new scenario derived from invite_offline but with a soundset associated that caused early media to be played before 480 offline error message. The same 2 calls of invite_allowip_soundset have been implemented here. Change-Id: Ib2131e7d3ce83d6253f6d716a78fe6026885c852mr10.5.1
parent
10b95d9c8f
commit
f647bc199a
@ -0,0 +1,171 @@
|
||||
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_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_CF_CFNA:
|
||||
- return|ROUTE_CF_CFNA:
|
||||
- start|ROUTE_ACC_FAILURE:
|
||||
- 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:
|
||||
- return|ROUTE_ACC_FAILURE:
|
||||
- start|ROUTE_EARLY_REJECT:
|
||||
$var(sems_early_media_disabled): 0
|
||||
- start|ROUTE_TO_APPSRV:
|
||||
- start|ROUTE_LOAD_APPSRV:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_LOAD_APPSRV:
|
||||
- start|ROUTE_OUTBOUND:
|
||||
- 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-offline-soundset.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.0.username %]",realm="invite-offline-soundset.scenarios.test",uri="sip:[% server_ip %]:5060",nonce=".+",response=".+",algorithm=MD5'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-NGCP-Authorization: [% scenarios.0.username %]@invite-offline-soundset.scenarios.test',
|
||||
'P-NGCP-Authorized: 1',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:earlyannounce@app.local SIP/2.0',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %](;[^>]+)?>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-LB-Uptime: \d+',
|
||||
'P-App-Param: audio_id=[% soundsets.invite_offline_soundset.callee_offline.id %];play_looped=no;fr_code=480;fr_reason=Offline',
|
||||
]
|
@ -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.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Type: application/sdp'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 183 Progress',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.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+',
|
||||
]
|
@ -0,0 +1,47 @@
|
||||
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_EARLY_REJECT:
|
||||
- start|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_STOP_RTPPROXY_BRANCH:
|
||||
- start|FAILURE_ROUTE_EARLY_REJECT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
- start|dialog:failed:
|
||||
- return|dialog:failed:
|
||||
- return|dialog:failed:
|
||||
sip_in:
|
||||
- 'SIP/2.0 480 Offline'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:earlyannounce@app.local SIP/2.0',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 480 Offline',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -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_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): 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_CF_CFNA:
|
||||
- return|ROUTE_CF_CFNA:
|
||||
- start|ROUTE_ACC_FAILURE:
|
||||
- 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:
|
||||
- return|ROUTE_ACC_FAILURE:
|
||||
- start|ROUTE_EARLY_REJECT:
|
||||
$var(sems_early_media_disabled): 1
|
||||
- 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:
|
||||
- return|dialog:failed:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.1.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'P-Early-Media: supported,inactive'
|
||||
- 'Content-Type: application/sdp'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.1.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.1.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 480 Offline',
|
||||
'From: <sip:[% scenarios.1.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
]
|
@ -0,0 +1,19 @@
|
||||
cdr:
|
||||
- source_user: '[% scenarios.0.username %]'
|
||||
source_domain: 'invite-offline-soundset.scenarios.test'
|
||||
source_cli: '0'
|
||||
destination_user: '[% scenarios.0.responders.0.username %]'
|
||||
destination_domain: 'invite-offline-soundset.scenarios.test'
|
||||
destination_user_dialed: '[% scenarios.0.responders.0.username %]'
|
||||
call_type: 'call'
|
||||
call_status: 'noanswer'
|
||||
call_code: '480'
|
||||
- source_user: '[% scenarios.0.username %]'
|
||||
source_domain: 'invite-offline-soundset.scenarios.test'
|
||||
source_cli: '0'
|
||||
destination_user: '[% scenarios.1.responders.0.username %]'
|
||||
destination_domain: 'invite-offline-soundset.scenarios.test'
|
||||
destination_user_dialed: '[% scenarios.1.responders.0.username %]'
|
||||
call_type: 'call'
|
||||
call_status: 'noanswer'
|
||||
call_code: '480'
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"@invite-offline-soundset.scenarios.test": {
|
||||
"nat_sipping": "no",
|
||||
"sound_set": "invite_offline_soundset"
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
---
|
||||
test_uuid: invite_offline_soundset
|
||||
domains:
|
||||
invite-offline-soundset.scenarios.test:
|
||||
reseller_id: 1
|
||||
customers:
|
||||
'customer.test':
|
||||
contacts:
|
||||
- email: "customer.test@spce.test"
|
||||
reseller_id: 1
|
||||
details:
|
||||
status: 'active'
|
||||
type: 'sipaccount'
|
||||
billing_profile_id: 1
|
||||
reseller_id: 1
|
||||
subscribers:
|
||||
invite-offline-soundset.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: 1003
|
||||
testuser1002:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1002
|
||||
scenarios:
|
||||
- ip: 127.126.0.1
|
||||
username: testuser1002
|
||||
domain: invite-offline-soundset.scenarios.test
|
||||
responders:
|
||||
- ip: 127.1.0.1
|
||||
username: testuser1003
|
||||
domain: invite-offline-soundset.scenarios.test
|
||||
register: 'no'
|
||||
active: 'no'
|
||||
- ip: 127.126.0.1
|
||||
username: testuser1002
|
||||
domain: invite-offline-soundset.scenarios.test
|
||||
responders:
|
||||
- ip: 127.1.0.1
|
||||
username: testuser1004
|
||||
domain: invite-offline-soundset.scenarios.test
|
||||
register: 'no'
|
||||
active: 'no'
|
@ -0,0 +1,110 @@
|
||||
<?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" line=0]@[field2 file="caller.csv" line=0]>;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" line=0]@[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" line=0]@[field2 file="caller.csv" line=0]>;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" line=0]@[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" line=0]@[field2 file="caller.csv" line=0]>;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" line=0]@[local_ip]:[local_port]>
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv" line=0]
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true">
|
||||
</recv>
|
||||
|
||||
<recv response="183">
|
||||
</recv>
|
||||
|
||||
<recv response="480" rtd="3">
|
||||
</recv>
|
||||
|
||||
<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" line=0]@[field2 file="caller.csv" line=0]>;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: 2 ACK
|
||||
Contact: <sip:[field0 file="caller.csv" line=0]@[local_ip]:[local_port]>
|
||||
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,48 @@
|
||||
messages:
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.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-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Proxy-Authenticate: Digest realm="invite-offline-soundset.scenarios.test", nonce="[^"]+"'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length: 0'
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.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-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.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 480 Offline'
|
||||
- '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-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length: 0'
|
@ -0,0 +1,109 @@
|
||||
<?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" line=1]@[field2 file="caller.csv" line=1]>;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" line=1]@[local_ip]:[local_port]>
|
||||
P-Early-Media: supported,inactive
|
||||
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=1]@[field3 file="callee.csv" line=1]:[remote_port] SIP/2.0
|
||||
[last_Via:]
|
||||
From: <sip:[field0 file="caller.csv" line=1]@[field2 file="caller.csv" line=1]>;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" line=1]@[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" line=1]@[field2 file="caller.csv" line=1]>;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" line=1]@[local_ip]:[local_port]>
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv" line=1]
|
||||
P-Early-Media: supported,inactive
|
||||
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="480" 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=1]@[field2 file="caller.csv" line=1]>;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
|
||||
Contact: <sip:[field0 file="caller.csv" line=1]@[local_ip]:[local_port]>
|
||||
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,26 @@
|
||||
messages:
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.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-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Proxy-Authenticate: Digest realm="invite-offline-soundset.scenarios.test", nonce="[^"]+"'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length: 0'
|
||||
- - 'SIP/2.0 100 Trying'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP LB'
|
||||
- 'Content-Length: 0'
|
||||
- - 'SIP/2.0 480 Offline'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.1.responders.0.username %]@invite-offline-soundset.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Server: Sipwise NGCP Proxy'
|
||||
- 'Content-Length: 0'
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
soundsets:
|
||||
'invite_offline_soundset':
|
||||
reseller_id: 1
|
||||
sounds:
|
||||
callee_offline:
|
||||
filename: sounds/no_sh.wav
|
||||
loopplay: 'false'
|
Loading…
Reference in new issue