TT#111500 : scenarios for session timer

* test 1 : NGCP supporting session timer on caller and callee
* test 2 : NGCP supporting session timer on caller only
* test 3 : NGCP supporting session timer on callee only

Change-Id: Ic1e9bc9b18002014b952b93ff5e299faebfedef1
mr9.4
mohammed ghettas 4 years ago committed by Victor Seva
parent bfc3922901
commit 2e1ac48bbd

@ -0,0 +1,196 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
$x_hdr(Supported): timer
- 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_PSTN_SELECT_INBOUND_PEER:
- return|ROUTE_PSTN_SELECT_INBOUND_PEER:
- start|ROUTE_CLEAR_PEER_IN_PREF:
- return|ROUTE_CLEAR_PEER_IN_PREF:
- start|ROUTE_LOAD_PEER_IN_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- return|ROUTE_LOAD_PEER_IN_PREF:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- 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_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:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- start|ROUTE_ORDER_CF_MAP_ID:
- return|ROUTE_ORDER_CF_MAP_ID:
- 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_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:
- 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:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:testuser1001@spce.test SIP/2.0'
- 'Supported: timer'
- 'From: <sip:004321001@127.0.2.1>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>'
- 'Min-SE: 2'
- 'Content-Type: application/sdp'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.0.2.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
- 'P-Sock-Info: udp:127.0.0.1:5060'
- 'P-LB-Uptime: \d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'P-Out-Socket: udp:127.0.0.1:5060',
'P-NGCP-Auth-IP: 127.0.2.1',
'P-NGCP-Auth-UA: <null>',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0',
'Supported: timer',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>',
'Min-SE: 2',
'Content-Type: application/sdp',
'Content-Length: 0',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-Callee-UUID: [% spce_test.testuser1001.uuid %]',
'P-Called-Party-ID: <sip:testuser1001@spce.test>',
'P-App-Param: ;calltimer=21600;aleg_sst_enable=no;sst_enable=yes;sst_expires=10;sst_min_timer=2;sst_max_timer=20;sst_refresh_method=INVITE;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no;(fast_ack=no;)?b_park_domain=[% customer_test.id %]',
'P-App-Name: sbc',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'P-Proxy-Uri: sip:127.0.0.1:5062',
]

@ -0,0 +1,55 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
$x_hdr(Supported): timer
- return|ROUTE_ENTRY:
- start|ROUTE_LEG_B:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>'
- 'CSeq: \d+ INVITE'
- 'Supported: timer'
- 'P-LB-Uptime: \d+'
- 'P-Asserted-Identity: <sip:004321001@spce.test>'
- 'P-Caller-UUID: 0'
- 'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+'
- 'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001'
- 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060'
- 'Min-SE: 2'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Supported: timer',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'Min-SE: 2',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
]

@ -0,0 +1,41 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_LEG_B:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- start|dialog:start:
- return|dialog:start:
- return|dialog:start:
sip_in:
- 'SIP/2.0 200 OK'
- 'Require: timer'
- 'Supported: timer'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.1.0.1:\d+;transport=UDP>'
- 'Content-Type: application/sdp'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.1.0.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
sip_out:
- [
'SIP/2.0 200 OK',
'Require: timer',
'Supported: timer',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.1.0.1:\d+;transport=UDP>',
'Content-Type: application/sdp',
'Content-Length: 0',
'P-NGCP-Src-Ip: 127.1.0.1',
'P-NGCP-Src-Port: \d+',
'P-NGCP-Src-Proto: udp',
'P-NGCP-Src-Af: 4',
]

@ -0,0 +1,35 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|REPLY_ROUTE_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- start|dialog:start:
- return|dialog:start:
- return|dialog:start:
sip_in:
- 'SIP/2.0 200 OK'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Require: timer'
- 'Supported: timer'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 200 OK',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
'P-Out-Socket: udp:127.0.0.1:5060',
]

@ -0,0 +1,33 @@
---
peer_00:
contact:
company: peer_00
email: peer_00@host0.not
contract:
billing_profile_id: 1
status: active
type: sippeering
groups:
- name: peer_00_group
priority: 1
description:
rules:
- group_id: peer_00_group
callee_prefix: ""
callee_pattern: ''
caller_pattern: '^sip:.+@spce.test'
description: ""
inboundrules:
- group_id: peer_00_group
field: "ruri_uri"
pattern: '.*'
priority: 50
enabled: 1
hosts:
- group_id: peer_00_group
name: peer_00_host0
ip: 127.0.2.1
port: 51602
host:
transport: 1
weight: 1

@ -0,0 +1,9 @@
{
"testuser1001@spce.test": {
"sst_refresh_method": "INVITE",
"sst_enable": "yes",
"sst_expires": 10,
"sst_min_timer": 2,
"sst_max_timer": 20
}
}

@ -0,0 +1,31 @@
test_uuid: timer_session_callee_only_supported
domains:
'spce.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:
spce.test:
testuser1001:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1001
scenarios:
- ip: 127.0.2.1
username: 004321001
domain: 127.0.2.1
responders:
- ip: 127.1.0.1
username: testuser1001
domain: spce.test
register: yes

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1">
<![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]
Supported: timer
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Session-Expires: 20;refresher=uac
Min-SE: 2
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="180" optional="true"/>
<recv response="183" optional="true"/>
<recv response="200" rrs="true" rtd="1"/>
<send >
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
[routes]
CSeq: [cseq] ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="1">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] BYE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="200" rtd="1" rrs="true"/>
<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,70 @@
<?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 start_rtd="1" start_rtd="2">
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
Require: timer
Supported: timer
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Session-Expires: 100;
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<recv request="ACK" rtd="1" rrs="true"/>
<recv request="BYE" rrs="true"/>
<send >
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,195 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
$x_hdr(Supported): timer
- 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_PSTN_SELECT_INBOUND_PEER:
- return|ROUTE_PSTN_SELECT_INBOUND_PEER:
- start|ROUTE_CLEAR_PEER_IN_PREF:
- return|ROUTE_CLEAR_PEER_IN_PREF:
- start|ROUTE_LOAD_PEER_IN_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- return|ROUTE_LOAD_PEER_IN_PREF:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- 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_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:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- start|ROUTE_ORDER_CF_MAP_ID:
- return|ROUTE_ORDER_CF_MAP_ID:
- 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_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:
- 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:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:testuser1001@spce.test SIP/2.0'
- 'Supported: timer'
- 'From: <sip:004321001@127.0.2.1>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>'
- 'Min-SE: 2'
- 'Content-Type: application/sdp'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.0.2.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
- 'P-Sock-Info: udp:127.0.0.1:5060'
- 'P-LB-Uptime: \d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'P-Out-Socket: udp:127.0.0.1:5060',
'P-NGCP-Auth-IP: 127.0.2.1',
'P-NGCP-Auth-UA: <null>',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>',
'Min-SE: 2',
'Content-Type: application/sdp',
'Content-Length: 0',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-Callee-UUID: [% spce_test.testuser1001.uuid %]',
'P-Called-Party-ID: <sip:testuser1001@spce.test>',
'P-App-Param: ;calltimer=21600;aleg_sst_enable=yes;aleg_sst_expires=10;aleg_sst_min_timer=2;aleg_sst_max_timer=20;aleg_sst_refresh_method=INVITE;sst_enable=no;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no;(fast_ack=no;)?b_park_domain=[% customer_test.id %]',
'P-App-Name: sbc',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'P-Proxy-Uri: sip:127.0.0.1:5062',
]

@ -0,0 +1,50 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_LEG_B:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>'
- 'CSeq: \d+ INVITE'
- 'P-LB-Uptime: \d+'
- 'P-Asserted-Identity: <sip:004321001@spce.test>'
- 'P-Caller-UUID: 0'
- 'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+'
- 'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001'
- 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
]

@ -0,0 +1,41 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_LEG_B:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- start|dialog:start:
- return|dialog:start:
- return|dialog:start:
sip_in:
- 'SIP/2.0 200 OK'
- 'Require: timer'
- 'Supported: timer'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.1.0.1:\d+;transport=UDP>'
- 'Content-Type: application/sdp'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.1.0.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
sip_out:
- [
'SIP/2.0 200 OK',
'Require: timer',
'Supported: timer',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.1.0.1:\d+;transport=UDP>',
'Content-Type: application/sdp',
'Content-Length: 0',
'P-NGCP-Src-Ip: 127.1.0.1',
'P-NGCP-Src-Port: \d+',
'P-NGCP-Src-Proto: udp',
'P-NGCP-Src-Af: 4',
]

@ -0,0 +1,37 @@
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|dialog:start:
- return|dialog:start:
- return|dialog:start:
sip_in:
- 'SIP/2.0 200 OK'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Require: timer'
- 'Supported: timer'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 200 OK',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Require: timer',
'Supported: timer',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
'P-Out-Socket: udp:127.0.0.1:5060',
]

@ -0,0 +1,33 @@
---
peer_00:
contact:
company: peer_00
email: peer_00@host0.not
contract:
billing_profile_id: 1
status: active
type: sippeering
groups:
- name: peer_00_group
priority: 1
description:
rules:
- group_id: peer_00_group
callee_prefix: ""
callee_pattern: ''
caller_pattern: '^sip:.+@spce.test'
description: ""
inboundrules:
- group_id: peer_00_group
field: "ruri_uri"
pattern: '.*'
priority: 50
enabled: 1
hosts:
- group_id: peer_00_group
name: peer_00_host0
ip: 127.0.2.1
port: 51602
host:
transport: 1
weight: 1

@ -0,0 +1,9 @@
{
"peer_00_host0": {
"sst_refresh_method": "INVITE",
"sst_enable": "yes",
"sst_expires": 10,
"sst_min_timer": 2,
"sst_max_timer": 20
}
}

@ -0,0 +1,31 @@
test_uuid: timer_session_caller_only_supported
domains:
'spce.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:
spce.test:
testuser1001:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1001
scenarios:
- ip: 127.0.2.1
username: 004321001
domain: 127.0.2.1
responders:
- ip: 127.1.0.1
username: testuser1001
domain: spce.test
register: yes

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1">
<![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]
Supported: timer
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Session-Expires: 20;refresher=uac
Min-SE: 2
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="180" optional="true"/>
<recv response="183" optional="true"/>
<recv response="200" rrs="true" rtd="1"/>
<send >
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
[routes]
CSeq: [cseq] ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="1">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] BYE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="200" rtd="1" rrs="true"/>
<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,70 @@
<?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 start_rtd="1" start_rtd="2">
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
Require: timer
Supported: timer
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Session-Expires: 100;
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<recv request="ACK" rtd="1" rrs="true"/>
<recv request="BYE" rrs="true"/>
<send >
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

@ -0,0 +1,196 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_NET_INFO:
$x_hdr(Supported): timer
- 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_PSTN_SELECT_INBOUND_PEER:
- return|ROUTE_PSTN_SELECT_INBOUND_PEER:
- start|ROUTE_CLEAR_PEER_IN_PREF:
- return|ROUTE_CLEAR_PEER_IN_PREF:
- start|ROUTE_LOAD_PEER_IN_PREF:
- start|ROUTE_DLG_MANAGE:
- return|ROUTE_DLG_MANAGE:
- return|ROUTE_LOAD_PEER_IN_PREF:
- return|ROUTE_FIND_CALLER:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- start|ROUTE_GET_CALLER_CLI:
- return|ROUTE_GET_CALLER_CLI:
- 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_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:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_BLOCK_IN:
- return|ROUTE_BLOCK_IN:
- start|ROUTE_ORDER_CF_MAP_ID:
- return|ROUTE_ORDER_CF_MAP_ID:
- 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_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:
- 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:
- return|ROUTE_SET_CALLEE_DIALOG:
- start|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- return|ROUTE_SET_BRANCH_HDRS:
- start|ROUTE_SET_RUSER:
- return|ROUTE_SET_RUSER:
- start|ROUTE_BRANCH_ACC_RTP:
- return|ROUTE_BRANCH_ACC_RTP:
- start|ROUTE_FILTER_PRACK:
- return|ROUTE_FILTER_PRACK:
- start|ROUTE_PREPARE_SST:
- return|ROUTE_PREPARE_SST:
- start|ROUTE_PREPARE_MOH:
- return|ROUTE_PREPARE_MOH:
- start|ROUTE_SET_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- start|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_PREPARE_CALLER_CLI:
- return|ROUTE_SET_CALLER_CLI:
- start|ROUTE_SET_CALLEE:
- return|ROUTE_SET_CALLEE:
- start|ROUTE_ADD_CALLINFO:
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
- start|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO_CALLEE_PRIMARY:
- return|ROUTE_ADD_CALLINFO:
- start|ROUTE_APPLY_HEADER_RULES:
- return|ROUTE_APPLY_HEADER_RULES:
- return|BRANCH_ROUTE_SBC:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:testuser1001@spce.test SIP/2.0'
- 'Supported: timer'
- 'From: <sip:004321001@127.0.2.1>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>'
- 'Min-SE: 2'
- 'Content-Type: application/sdp'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.0.2.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
- 'P-Sock-Info: udp:127.0.0.1:5060'
- 'P-LB-Uptime: \d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'P-Out-Socket: udp:127.0.0.1:5060',
'P-NGCP-Auth-IP: 127.0.2.1',
'P-NGCP-Auth-UA: <null>',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0',
'Supported: timer',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>',
'Min-SE: 2',
'Content-Type: application/sdp',
'Content-Length: 0',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-Callee-UUID: [% spce_test.testuser1001.uuid %]',
'P-Called-Party-ID: <sip:testuser1001@spce.test>',
'P-App-Param: ;calltimer=21600;aleg_sst_enable=yes;aleg_sst_expires=10;aleg_sst_min_timer=2;aleg_sst_max_timer=20;aleg_sst_refresh_method=INVITE;sst_enable=yes;sst_expires=8;sst_min_timer=2;sst_max_timer=20;sst_refresh_method=INVITE;hold_alter_b2b_bleg=no;hold_alter_b2b_aleg=no;(fast_ack=no;)?b_park_domain=[% customer_test.id %]',
'P-App-Name: sbc',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'P-Proxy-Uri: sip:127.0.0.1:5062',
]

@ -0,0 +1,55 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
$x_hdr(Supported): timer
- return|ROUTE_ENTRY:
- start|ROUTE_LEG_B:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>'
- 'CSeq: \d+ INVITE'
- 'Supported: timer'
- 'P-LB-Uptime: \d+'
- 'P-Asserted-Identity: <sip:004321001@spce.test>'
- 'P-Caller-UUID: 0'
- 'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+'
- 'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001'
- 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060'
- 'Min-SE: 2'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>',
'CSeq: \d+ INVITE',
'Supported: timer',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'Min-SE: 2',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
]

@ -0,0 +1,42 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_LEG_B:
- start|ROUTE_ENTRY:
$x_hdr(Supported): timer
- return|ROUTE_ENTRY:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- start|dialog:start:
- return|dialog:start:
- return|dialog:start:
sip_in:
- 'SIP/2.0 200 OK'
- 'Require: timer'
- 'Supported: timer'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.1.0.1:\d+;transport=UDP>'
- 'Content-Type: application/sdp'
- 'Content-Length: \s+0'
- 'P-NGCP-Src-Ip: 127.1.0.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
sip_out:
- [
'SIP/2.0 200 OK',
'Require: timer',
'Supported: timer',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.1.0.1:\d+;transport=UDP>',
'Content-Type: application/sdp',
'Content-Length: \s+0',
'P-NGCP-Src-Ip: 127.1.0.1',
'P-NGCP-Src-Port: \d+',
'P-NGCP-Src-Proto: udp',
'P-NGCP-Src-Af: 4',
]

@ -0,0 +1,38 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_NAT:
- start|ROUTE_ENTRY:
$x_hdr(Supported): timer
- 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|dialog:start:
- return|dialog:start:
- return|dialog:start:
sip_in:
- 'SIP/2.0 200 OK'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Require: timer'
- 'Supported: timer'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 200 OK',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Require: timer',
'Supported: timer',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
'P-Out-Socket: udp:127.0.0.1:5060',
]

@ -0,0 +1,54 @@
flow:
- start|DEFAULT_ROUTE:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_LEG_B:
- start|ROUTE_INITVARS:
- return|ROUTE_INITVARS:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'INVITE sip:127.1.0.1:\d+;transport=UDP SIP/2.0'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'P-LB-Uptime: \d+'
- 'P-Asserted-Identity: <sip:004321001@spce.test>'
- 'P-Caller-UUID: 0'
- 'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+'
- 'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001'
- 'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060'
- 'Supported: timer'
- 'Min-SE: 2'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'INVITE sip:127.1.0.1:\d+;transport=UDP SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'P-Caller-UUID: 0',
'P-NGCP-Caller-Info: <sip:004321001@127.0.2.1>;ip=127.0.2.1;port=\d+',
'P-NGCP-Callee-Info: <sip:testuser1001@spce.test>;ip=127.0.0.1;port=5060;primary=4311001',
'P-D-Uri: sip:lb@127.0.0.1;lr;socket=sip:127.0.0.1:5060',
'Supported: timer',
'Min-SE: 2',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
]

@ -0,0 +1,39 @@
flow:
- start|DEFAULT_ONREPLY:
- start|REPLY_ROUTE_LEG_B:
- start|ROUTE_ENTRY:
- return|ROUTE_ENTRY:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 200 OK'
- 'Require: timer'
- 'Supported: timer'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Contact: <sip:127.1.0.1:\d+;transport=UDP>'
- 'Content-Type: application/sdp'
- 'Content-Length: \s+0'
- 'P-NGCP-Src-Ip: 127.1.0.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
sip_out:
- [
'SIP/2.0 200 OK',
'Require: timer',
'Supported: timer',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Contact: <sip:127.1.0.1:\d+;transport=UDP>',
'Content-Type: application/sdp',
'Content-Length: \s+0',
'P-NGCP-Src-Ip: 127.1.0.1',
'P-NGCP-Src-Port: \d+',
'P-NGCP-Src-Proto: udp',
'P-NGCP-Src-Af: 4',
]

@ -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_NAT_CONTINUE:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'SIP/2.0 200 OK'
- 'From: <sip:004321001@127.0.2.1>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ INVITE'
- 'Supported: timer'
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 200 OK',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ INVITE',
'Supported: timer',
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
'Content-Length: 0',
'P-Out-Socket: udp:127.0.0.1:5060',
]

@ -0,0 +1,63 @@
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:
- return|dialog:end:
- start|ROUTE_STOP_RTPPROXY:
- start|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_RESTORE_CLUSTERSET:
- return|ROUTE_STOP_RTPPROXY:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|ROUTE_OUTBOUND:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'BYE sip:127.0.0.1:508[08];prxroute=1 SIP/2.0'
- 'From: <sip:004321001@127.0.2.1>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.0.2.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
- 'P-Sock-Info: udp:127.0.0.1:5060'
- 'P-LB-Uptime: \d+'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ BYE',
'P-Out-Socket: udp:127.0.0.1:5060',
'P-NGCP-Auth-IP: 127.0.2.1',
'P-NGCP-Auth-UA: <null>',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'BYE sip:127.0.0.1:508[08];prxroute=1 SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ BYE',
'Contact: <sip:004321001@127.0.2.1:\d+;transport=UDP>',
'Content-Length: 0',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
]

@ -0,0 +1,52 @@
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:
- return|dialog:end:
- start|ROUTE_STOP_RTPPROXY:
- return|ROUTE_STOP_RTPPROXY:
- start|ROUTE_PREPARE_UA:
- return|ROUTE_PREPARE_UA:
- start|ROUTE_OUTBOUND:
- start|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- exit|DEFAULT_SEND:
- start|ROUTE_EXIT:
- start|ROUTE_RUNTIME:
- return|ROUTE_RUNTIME:
- exit|ROUTE_EXIT:
sip_in:
- 'BYE sip:127.1.0.1:\d+;transport=UDP SIP/2.0'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'P-LB-Uptime: \d+'
- 'P-Asserted-Identity: <sip:004321001@spce.test>'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 100 Trying',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ BYE',
'Server: Sipwise NGCP Proxy',
'Content-Length: 0',
]
- [
'BYE sip:127.1.0.1:\d+;transport=UDP SIP/2.0',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ BYE',
'P-LB-Uptime: \d+',
'P-Asserted-Identity: <sip:004321001@spce.test>',
'Content-Length: 0',
]

@ -0,0 +1,40 @@
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'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Contact: <sip:127.1.0.1:\d+;transport=UDP>'
- 'Content-Type: application/sdp'
- 'Content-Length: 0'
- 'P-NGCP-Src-Ip: 127.1.0.1'
- 'P-NGCP-Src-Port: \d+'
- 'P-NGCP-Src-Proto: udp'
- 'P-NGCP-Src-Af: 4'
sip_out:
- [
'SIP/2.0 200 OK',
'From: <sip:004321001@spce.test>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ BYE',
'Contact: <sip:127.1.0.1:\d+;transport=UDP>',
'Content-Type: application/sdp',
'Content-Length: 0',
'P-NGCP-Src-Ip: 127.1.0.1',
'P-NGCP-Src-Port: \d+',
'P-NGCP-Src-Proto: udp',
'P-NGCP-Src-Af: 4',
]

@ -0,0 +1,29 @@
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'
- 'From: <sip:004321001@spce.test>;tag=[\w-]+'
- 'To: <sip:testuser1001@spce.test>;tag=[\w-]+'
- 'CSeq: \d+ BYE'
- 'Content-Length: 0'
sip_out:
- [
'SIP/2.0 200 OK',
'From: <sip:004321001@127.0.2.1>;tag=[\w-]+',
'To: <sip:testuser1001@spce.test>;tag=[\w-]+',
'CSeq: \d+ BYE',
'Content-Length: 0',
'P-Out-Socket: udp:127.0.0.1:5060',
]

@ -0,0 +1,33 @@
---
peer_00:
contact:
company: peer_00
email: peer_00@host0.not
contract:
billing_profile_id: 1
status: active
type: sippeering
groups:
- name: peer_00_group
priority: 1
description:
rules:
- group_id: peer_00_group
callee_prefix: ""
callee_pattern: ''
caller_pattern: '^sip:.+@spce.test'
description: ""
inboundrules:
- group_id: peer_00_group
field: "ruri_uri"
pattern: '.*'
priority: 50
enabled: 1
hosts:
- group_id: peer_00_group
name: peer_00_host0
ip: 127.0.2.1
port: 51602
host:
transport: 1
weight: 1

@ -0,0 +1,23 @@
{
"@spce.test": {
"sst_refresh_method": "INVITE",
"sst_enable": "yes",
"sst_expires": 6,
"sst_min_timer": 2,
"sst_max_timer": 20
},
"testuser1001@spce.test": {
"sst_refresh_method": "INVITE",
"sst_enable": "yes",
"sst_expires": 8,
"sst_min_timer": 2,
"sst_max_timer": 20
},
"peer_00_host0": {
"sst_refresh_method": "INVITE",
"sst_enable": "yes",
"sst_expires": 10,
"sst_min_timer": 2,
"sst_max_timer": 20
}
}

@ -0,0 +1,31 @@
test_uuid: timer_session_supported
domains:
'spce.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:
spce.test:
testuser1001:
customer: 'customer.test'
password: testuser
cc: 43
ac: 1
sn: 1001
scenarios:
- ip: 127.0.2.1
username: 004321001
domain: 127.0.2.1
responders:
- ip: 127.1.0.1
username: testuser1001
domain: spce.test
register: yes

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<scenario name="Sipwise NGCP Benchmark UAC Caller">
<send start_rtd="1">
<![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]
Supported: timer
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Session-Expires: 20;refresher=uac
Min-SE: 2
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="180" optional="true"/>
<recv response="183" optional="true"/>
<recv response="200" rrs="true" rtd="1"/>
<send >
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
[routes]
CSeq: [cseq] ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="4000"/>
<send start_rtd="2">
<![CDATA[
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] INVITE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="200" rrs="true" rtd="2"/>
<send >
<![CDATA[
ACK [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
[routes]
CSeq: [cseq] ACK
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<pause milliseconds="500"/>
<send start_rtd="1">
<![CDATA[
BYE [next_url] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0 file="caller.csv"]@[field2 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: <sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]>[peer_tag_param]
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
CSeq: [cseq] BYE
Contact: <sip:[field0 file="caller.csv"]@[local_ip]:[local_port];transport=[transport]>
[routes]
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<recv response="100" optional="true"/>
<recv response="200" rtd="1" rrs="true"/>
<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,95 @@
<?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 start_rtd="1" start_rtd="2">
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
Require: timer
Supported: timer
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Session-Expires: 100;
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: [len]
]]>
</send>
<recv request="ACK" rtd="1" rrs="true"/>
<recv request="INVITE" crlf="true" rtd="2"/>
<send start_rtd="3">
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
Require: timer
Supported: timer
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Session-Expires: 100;
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: [len]
]]>
</send>
<recv request="ACK" rtd="1" rrs="true"/>
<recv request="BYE" rtd="3">
</recv>
<send >
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:]
[last_Call-ID:]
[last_CSeq:]
[last_Record-Route:]
[last_Route:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Content-Type: application/sdp
Content-Length: 0
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>
Loading…
Cancel
Save