MT#56949 Scenario check fritz prefix removal for emergency

Check fritz prefix removal behaviour with emergency mappings.

Change-Id: I5de2337ce8ba7c193032b81c129b28c5fefeabf8
(cherry picked from commit ef4b381058a83f7f553e42518c52bef2bc5f799e)
mr12.1.1
Alessio Garzi 3 years ago
parent 38aee7fd60
commit 71244e6838

@ -47,6 +47,10 @@ flow:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_APPLY_CALLER_RWR:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_CALLER_RWR:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
@ -56,6 +60,8 @@ flow:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_DETECT_LOOP:
- return|ROUTE_DETECT_LOOP:
- start|ROUTE_CLEAR_CALLEE_PREF:
@ -121,10 +127,14 @@ flow:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_ACC_CALLEE:
- start|ROUTE_ADD_AOC_HEADER:
- return|ROUTE_ADD_AOC_HEADER:
@ -158,6 +168,12 @@ flow:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_APPLY_CALLER_RWR_FIRST:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_CALLER_RWR_FIRST:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
@ -172,6 +188,8 @@ flow:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:

@ -42,6 +42,10 @@ flow:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_APPLY_CALLER_RWR:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_CALLER_RWR:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
@ -51,6 +55,8 @@ flow:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_DETECT_LOOP:
- return|ROUTE_DETECT_LOOP:
- start|ROUTE_CHECK_PBX:

@ -42,6 +42,10 @@ flow:
- return|ROUTE_GET_CALLER_CLI:
- start|ROUTE_GET_FORWARDER_CLI:
- return|ROUTE_GET_FORWARDER_CLI:
- start|ROUTE_APPLY_CALLER_RWR:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_CALLER_RWR:
- start|ROUTE_CLIR:
- return|ROUTE_CLIR:
- start|ROUTE_CALLER_BLOCK_CLI:
@ -51,6 +55,8 @@ flow:
- return|ROUTE_CHECK_CLI_ALLOWED:
- return|ROUTE_CHECK_USERPROV_CLI:
- start|ROUTE_FIND_CALLEE:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_DETECT_LOOP:
- return|ROUTE_DETECT_LOOP:
- start|ROUTE_CLEAR_CALLEE_PREF:
@ -110,10 +116,14 @@ flow:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_ACC_CALLEE:
- return|ROUTE_ACC_FAILURE:
- start|ROUTE_EARLY_REJECT:

@ -0,0 +1,238 @@
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:
- start|ROUTE_LOAD_CALLER_RESELLER_PREF:
- return|ROUTE_LOAD_CALLER_RESELLER_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_APPLY_CALLER_RWR:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_CALLER_RWR:
- 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_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_DETECT_LOOP:
- return|ROUTE_DETECT_LOOP:
- start|ROUTE_EMERGENCY:
$avp(fritzcode): '110'
$var(dp_input): '110'
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_CHECK_PBX:
- return|ROUTE_CHECK_PBX:
- start|ROUTE_PSTN:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_CNT_DLG_CHECK:
- return|ROUTE_CNT_DLG_CHECK:
- start|ROUTE_PSTN_SELECT_PEER:
- start|ROUTE_CHECK_PEER_PROBE:
- return|ROUTE_CHECK_PEER_PROBE:
- start|ROUTE_CLEAR_PEER_OUT_PREF:
- return|ROUTE_CLEAR_PEER_OUT_PREF:
- start|ROUTE_LOAD_PEER_OUT_PREF:
- return|ROUTE_LOAD_PEER_OUT_PREF:
- return|ROUTE_PSTN_SELECT_PEER:
- start|ROUTE_OUTBOUND:
- start|ROUTE_ACC_CALLER:
- start|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLER_CALL_COUNTERS:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_ACC_CALLER:
- start|ROUTE_ACC_CALLEE:
- start|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- return|ROUTE_SET_ACC_CALLEE_CALL_COUNTERS:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_ACC_CALLEE:
- start|ROUTE_ADD_AOC_HEADER:
- return|ROUTE_ADD_AOC_HEADER:
- start|BRANCH_ROUTE_SBC:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- start|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_REMOVE_TIMER_SUPP_REQ:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_APPLY_CALLER_RWR_FIRST:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_CALLER_RWR_FIRST:
- 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:
- start|ROUTE_APPLY_REWRITE_RULE:
- return|ROUTE_APPLY_REWRITE_RULE:
- 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:00431110@invite-fritz-prefix-removal.scenarios.test SIP/2.0'
- 'Record-Route: <sip:[% server_ip %];lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:00431110@invite-fritz-prefix-removal.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:[% scenarios.3.username %]@[% scenarios.3.ip %]:[% scenarios.3.port %];alias=[^;]+>'
- 'Proxy-Authorization: Digest username="[% scenarios.0.username %]",realm="invite-fritz-prefix-removal.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.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+',
'To: <sip:00431110@invite-fritz-prefix-removal.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.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+',
'To: <sip:00431110@invite-fritz-prefix-removal.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: testuser1002@invite-fritz-prefix-removal.scenarios.test',
'P-NGCP-Authorized: 1',
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-fritz-prefix-removal.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]',
'P-Caller-UUID: [% invite_fritz_prefix_removal_scenarios_test.testuser1002.uuid %]',
'Server: Sipwise NGCP Proxy',
'Content-Length:\s+0',
]
- [
'INVITE sip:emcprefix1110@[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];transport=udp SIP/2.0',
'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:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+',
'To: <sip:00431110@invite-fritz-prefix-removal.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-Asserted-Identity: <sip:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>',
'P-Caller-UUID: [% invite_fritz_prefix_removal_scenarios_test.testuser1002.uuid %]',
'P-Callee-UUID: 0',
'P-Called-Party-ID: <sip:emcprefix1110@[% scenarios.3.responders.0.ip %]>',
'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 %];emergency=1',
'P-App-Name: sbc',
'P-NGCP-Caller-Info: <sip:[% scenarios.0.username %]@invite-fritz-prefix-removal.scenarios.test>;ip=[% scenarios.3.ip %];port=[% scenarios.3.port %];primary=[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]',
'P-NGCP-Callee-Info: <sip:emergency_110@invite-fritz-prefix-removal.scenarios.test>;ip=[% scenarios.3.responders.0.ip %];port=[% scenarios.3.responders.0.port %]',
'P-D-Uri: sip:[% server_ip %]:5060;received=sip:[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %]%3blr%3btransport%3dudp',
'P-Proxy-Uri: sip:[% server_ip %]:5062',
'v=0',
'o=user1 53655765 2353687637 IN IP4 192.168.8.178',
's=-',
'c=IN IP4 192.168.8.178',
't=0 0',
'm=audio \d+ RTP/AVP 8',
'a=rtpmap:8 PCMA/8000',
'a=sendrecv',
'a=rtcp:\d+',
'a=ptime:50',
]

@ -26,4 +26,11 @@ cdr:
call_type: 'call'
call_status: 'noanswer'
call_code: '480'
- source_user: 'testuser1002'
source_domain: 'invite-fritz-prefix-removal.scenarios.test'
source_cli: '[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]'
destination_user: 'emergency_110'
destination_user_dialed: '00431110'
call_type: 'call'
call_status: 'ok'
call_code: '200'

@ -0,0 +1,6 @@
emc_test:
reseller_id: 1
mappings:
- suffix: emcsuffix
code: 110
prefix: emcprefix

@ -0,0 +1,27 @@
---
peer_invite_emergency:
contact:
company: peer_invite_emergency
email: peer_invite_emergency@host0.not
contract:
billing_profile_id: 1
status: active
type: sippeering
groups:
- name: peer_invite_emergency_group
priority: 1
description:
rules:
- group_id: peer_invite_emergency_group
callee_prefix: ""
callee_pattern: ''
caller_pattern: '^sip:.+@invite-fritz-prefix-removal.scenarios.test'
description: ""
hosts:
- group_id: peer_invite_emergency_group
name: peer_invite_emergency_host0
ip: 127.0.2.1
port: 51602
host:
transport: 1
weight: 1

@ -1,5 +1,13 @@
{
"@invite-fritz-prefix-removal.scenarios.test": {
"nat_sipping": "no"
"nat_sipping": "no",
"emergency_prefix": "emergency_",
"rewrite_rule_set": "rw_invite_emergency_00",
"emergency_mapping_container_id": [% emergencymapping.emc_test.id %]
},
"peer_invite_emergency_host0": {
"rewrite_rule_set": "rw_invite_emergency_01",
"concurrent_max": 0
}
}

@ -0,0 +1,16 @@
---
rw_invite_emergency_00:
- direction: in
field: callee
match_pattern: '^(911|118|110)$'
replace_pattern: 'emergency_\1'
priority: 1
description: Tag Emergency Numbers
rw_invite_emergency_01:
- direction: out
field: callee
match_pattern: '^emergency_(.+)$'
replace_pattern: '${caller_emergency_prefix}${caller_ac}\1'
priority: 1
description: Normalize Emergency Numbers

@ -76,3 +76,13 @@ scenarios:
username: 0999112
domain: invite-fritz-prefix-removal.scenarios.test
register: 'no'
- ip: 127.126.0.5
username: testuser1002
domain: invite-fritz-prefix-removal.scenarios.test
responders:
- ip: 127.0.2.1
number: 911
username: 911
domain: invite-fritz-prefix-removal.scenarios.test
peer_host: peer_invite_emergency_host0
register: 'no'

@ -0,0 +1,147 @@
<?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:00431110@[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:00431110@[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:00431110@[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:00431110@[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:00431110@[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:00431110@[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="180" optional="true">
</recv>
<recv response="183" optional="true">
</recv>
<recv response="200" rrs="true" rtd="3">
</recv>
<send>
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv" 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]
[routes]
CSeq: 2 ACK
Contact: <sip:[field0 file="caller.csv" line=3]@[local_ip]:[local_port]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<nop>
<action>
<exec play_pcap_audio="media181sec.pcap"/>
</action>
</nop>
<pause milliseconds="1000"/>
<send start_rtd="4">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv" 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: 3 BYE
Contact: <sip:[field0 file="caller.csv" line=3]@[local_ip]:[local_port]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="200" crlf="true" rtd="4">
</recv>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200, 500, 1000"/>
<!-- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> -->
</scenario>

@ -0,0 +1,56 @@
messages:
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:00431110@invite-fritz-prefix-removal.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-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:00431110@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Proxy-Authenticate: Digest realm="invite-fritz-prefix-removal.scenarios.test", nonce="[^"]+"'
- 'Server: Sipwise NGCP Proxy'
- 'Content-Length:\s+0'
- - 'SIP/2.0 100 Trying'
- 'From: <sip:[% scenarios.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:00431110@invite-fritz-prefix-removal.scenarios.test>'
- 'CSeq: \d+ INVITE'
- 'Server: Sipwise NGCP LB'
- 'Content-Length:\s+0'
- - '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.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:00431110@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Content-Length:\s+0'
- 'Contact: <sip:ngcp-lb@[% server_ip %]:5060;ngcpct=[^;]+>'
- - 'SIP/2.0 200 OK'
- '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.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:00431110@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,PRACK,SUBSCRIBE,NOTIFY,MESSAGE,PUBLISH'
- '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.178'
- 's=-'
- 'c=IN IP4 192.168.8.178'
- 't=0 0'
- 'm=audio \d+ RTP/AVP 8'
- 'a=rtpmap:8 PCMA/8000'
- 'a=sendrecv'
- 'a=rtcp:\d+'
- 'a=ptime:50'
- - 'SIP/2.0 200 OK'
- 'Record-Route: <sip:[% server_ip %]:5062;lr=on;ftag=[^;]+;vsf=[^;]+;rtpprx=yes>'
- 'Record-Route: <sip:[% server_ip %];lr=on;ftag=[^;]+;ngcplb=yes;nat=yes;socket=udp:[% server_ip %]:5060>'
- 'From: <sip:[% scenarios.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:[% scenarios.3.responders.0.username %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Allow: INVITE,ACK,OPTIONS,CANCEL,BYE,UPDATE,PRACK,SUBSCRIBE,NOTIFY,MESSAGE,PUBLISH'
- 'Content-Length:\s+0'

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<scenario name="Sipwise NGCP Benchmark UAS Responder">
<recv request="INVITE" crlf="true" rtd="true">
</recv>
<send>
<![CDATA[
SIP/2.0 180 Ringing
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=ptime:50
]]>
</send>
<recv request="ACK"
crlf="true">
</recv>
<recv request="BYE">
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Length: [len]
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,40 @@
messages:
- - 'INVITE sip:emcprefix1110@[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];transport=udp SIP/2.0'
- 'Record-Route: <sip:192.168.8.178;r2=on;lr=on;ftag=[^;]+;ngcplb=yes>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes>'
- 'Record-Route: <sip:[% server_ip %]:5062;lr=on;ftag=[^;]+;leg_b=1;did=[^;]+>'
- 'From: <sip:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:emcprefix1110@[% scenarios.3.responders.0.ip %]>'
- 'CSeq: \d+ INVITE'
- 'P-Asserted-Identity: <sip:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>'
- 'Content-Type: application/sdp'
- 'Content-Length:\s+\d+'
- 'Contact: <sip:ngcp-lb@192.168.8.178:5060;ngcpct=[^;]+>'
- 'v=0'
- 'o=user1 53655765 2353687637 IN IP4 192.168.8.178'
- 's=-'
- 'c=IN IP4 192.168.8.178'
- 't=0 0'
- 'm=audio \d+ RTP/AVP 8'
- 'a=rtpmap:8 PCMA/8000'
- 'a=sendrecv'
- 'a=rtcp:\d+'
- 'a=ptime:50'
- - 'ACK sip:[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:192.168.8.178;r2=on;lr=on;ftag=[^;]+;ngcplb=yes>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes>'
- 'Record-Route: <sip:[% server_ip %]:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:emcprefix1110@[% scenarios.3.responders.0.ip %]>;tag=[\w-]+'
- 'CSeq: \d+ ACK'
- 'Content-Length:\s+0'
- 'Contact: <sip:ngcp-lb@192.168.8.178:5060;ngcpct=[^;]+>'
- - 'BYE sip:[% scenarios.3.responders.0.ip %]:[% scenarios.3.responders.0.port %];transport=UDP SIP/2.0'
- 'Record-Route: <sip:192.168.8.178;r2=on;lr=on;ftag=[^;]+;ngcplb=yes>'
- 'Record-Route: <sip:[% server_ip %];r2=on;lr=on;ftag=[^;]+;ngcplb=yes>'
- 'Record-Route: <sip:[% server_ip %]:5062;lr=on;ftag=[^;]+>'
- 'From: <sip:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>;tag=[\w-]+'
- 'To: <sip:emcprefix1110@[% scenarios.3.responders.0.ip %]>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'P-Asserted-Identity: <sip:[% invite_fritz_prefix_removal_scenarios_test.testuser1002.phone_number %]@invite-fritz-prefix-removal.scenarios.test>'
- 'Content-Length:\s+0'
Loading…
Cancel
Save