From 2e1ac48bbd612fe9769544ca85fbebc18fe90eff Mon Sep 17 00:00:00 2001 From: mohammed ghettas Date: Wed, 24 Feb 2021 11:07:32 +0100 Subject: [PATCH] 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 --- .../0003_test.yml.tt2 | 196 ++++++++++++++++++ .../0005_test.yml.tt2 | 55 +++++ .../0009_test.yml.tt2 | 41 ++++ .../0010_test.yml.tt2 | 35 ++++ .../peer.yml | 33 +++ .../prefs.json | 9 + .../scenario.yml | 31 +++ .../sipp_scenario00.xml | 72 +++++++ .../sipp_scenario_responder00.xml | 70 +++++++ .../0003_test.yml.tt2 | 195 +++++++++++++++++ .../0005_test.yml.tt2 | 50 +++++ .../0009_test.yml.tt2 | 41 ++++ .../0010_test.yml.tt2 | 37 ++++ .../peer.yml | 33 +++ .../prefs.json | 9 + .../scenario.yml | 31 +++ .../sipp_scenario00.xml | 72 +++++++ .../sipp_scenario_responder00.xml | 70 +++++++ .../timer_session_supported/0003_test.yml.tt2 | 196 ++++++++++++++++++ .../timer_session_supported/0005_test.yml.tt2 | 55 +++++ .../timer_session_supported/0009_test.yml.tt2 | 42 ++++ .../timer_session_supported/0010_test.yml.tt2 | 38 ++++ .../timer_session_supported/0014_test.yml.tt2 | 54 +++++ .../timer_session_supported/0017_test.yml.tt2 | 39 ++++ .../timer_session_supported/0018_test.yml.tt2 | 33 +++ .../timer_session_supported/0021_test.yml.tt2 | 63 ++++++ .../timer_session_supported/0022_test.yml.tt2 | 52 +++++ .../timer_session_supported/0023_test.yml.tt2 | 40 ++++ .../timer_session_supported/0024_test.yml.tt2 | 29 +++ scenarios/timer_session_supported/peer.yml | 33 +++ scenarios/timer_session_supported/prefs.json | 23 ++ .../timer_session_supported/scenario.yml | 31 +++ .../sipp_scenario00.xml | 110 ++++++++++ .../sipp_scenario_responder00.xml | 95 +++++++++ 34 files changed, 2013 insertions(+) create mode 100644 scenarios/timer_session_callee_only_supported/0003_test.yml.tt2 create mode 100644 scenarios/timer_session_callee_only_supported/0005_test.yml.tt2 create mode 100644 scenarios/timer_session_callee_only_supported/0009_test.yml.tt2 create mode 100644 scenarios/timer_session_callee_only_supported/0010_test.yml.tt2 create mode 100644 scenarios/timer_session_callee_only_supported/peer.yml create mode 100644 scenarios/timer_session_callee_only_supported/prefs.json create mode 100644 scenarios/timer_session_callee_only_supported/scenario.yml create mode 100644 scenarios/timer_session_callee_only_supported/sipp_scenario00.xml create mode 100644 scenarios/timer_session_callee_only_supported/sipp_scenario_responder00.xml create mode 100644 scenarios/timer_session_caller_only_supported/0003_test.yml.tt2 create mode 100644 scenarios/timer_session_caller_only_supported/0005_test.yml.tt2 create mode 100644 scenarios/timer_session_caller_only_supported/0009_test.yml.tt2 create mode 100644 scenarios/timer_session_caller_only_supported/0010_test.yml.tt2 create mode 100644 scenarios/timer_session_caller_only_supported/peer.yml create mode 100644 scenarios/timer_session_caller_only_supported/prefs.json create mode 100644 scenarios/timer_session_caller_only_supported/scenario.yml create mode 100644 scenarios/timer_session_caller_only_supported/sipp_scenario00.xml create mode 100644 scenarios/timer_session_caller_only_supported/sipp_scenario_responder00.xml create mode 100644 scenarios/timer_session_supported/0003_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0005_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0009_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0010_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0014_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0017_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0018_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0021_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0022_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0023_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/0024_test.yml.tt2 create mode 100644 scenarios/timer_session_supported/peer.yml create mode 100644 scenarios/timer_session_supported/prefs.json create mode 100644 scenarios/timer_session_supported/scenario.yml create mode 100644 scenarios/timer_session_supported/sipp_scenario00.xml create mode 100644 scenarios/timer_session_supported/sipp_scenario_responder00.xml diff --git a/scenarios/timer_session_callee_only_supported/0003_test.yml.tt2 b/scenarios/timer_session_callee_only_supported/0003_test.yml.tt2 new file mode 100644 index 00000000..f20d6948 --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/0003_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'P-Out-Socket: udp:127.0.0.1:5060', + 'P-NGCP-Auth-IP: 127.0.2.1', + 'P-NGCP-Auth-UA: ', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0', + 'Supported: timer', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Contact: ', + 'Min-SE: 2', + 'Content-Type: application/sdp', + 'Content-Length: 0', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-Callee-UUID: [% spce_test.testuser1001.uuid %]', + 'P-Called-Party-ID: ', + '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: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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', + ] diff --git a/scenarios/timer_session_callee_only_supported/0005_test.yml.tt2 b/scenarios/timer_session_callee_only_supported/0005_test.yml.tt2 new file mode 100644 index 00000000..04a501c3 --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/0005_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ' + - 'CSeq: \d+ INVITE' + - 'Supported: timer' + - 'P-LB-Uptime: \d+' + - 'P-Asserted-Identity: ' + - 'P-Caller-UUID: 0' + - 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+' + - 'P-NGCP-Callee-Info: ;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: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 100 Trying', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Supported: timer', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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: ', + 'Content-Length: 0', + ] diff --git a/scenarios/timer_session_callee_only_supported/0009_test.yml.tt2 b/scenarios/timer_session_callee_only_supported/0009_test.yml.tt2 new file mode 100644 index 00000000..996f2812 --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/0009_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Contact: ', + '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', + ] diff --git a/scenarios/timer_session_callee_only_supported/0010_test.yml.tt2 b/scenarios/timer_session_callee_only_supported/0010_test.yml.tt2 new file mode 100644 index 00000000..37e91c7d --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/0010_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Require: timer' + - 'Supported: timer' + - 'Contact: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 200 OK', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Contact: ', + 'Content-Length: 0', + 'P-Out-Socket: udp:127.0.0.1:5060', + ] diff --git a/scenarios/timer_session_callee_only_supported/peer.yml b/scenarios/timer_session_callee_only_supported/peer.yml new file mode 100644 index 00000000..3c12853c --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/peer.yml @@ -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 \ No newline at end of file diff --git a/scenarios/timer_session_callee_only_supported/prefs.json b/scenarios/timer_session_callee_only_supported/prefs.json new file mode 100644 index 00000000..e49005d6 --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/prefs.json @@ -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 + } +} diff --git a/scenarios/timer_session_callee_only_supported/scenario.yml b/scenarios/timer_session_callee_only_supported/scenario.yml new file mode 100644 index 00000000..27258dd2 --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/scenario.yml @@ -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 diff --git a/scenarios/timer_session_callee_only_supported/sipp_scenario00.xml b/scenarios/timer_session_callee_only_supported/sipp_scenario00.xml new file mode 100644 index 00000000..bc4c581d --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/sipp_scenario00.xml @@ -0,0 +1,72 @@ + + + + + ;tag=[pid]SIPpTag00[call_number] + To: + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] INVITE + Contact: + Max-Forwards: 70 + Session-Expires: 20;refresher=uac + Min-SE: 2 + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + [routes] + CSeq: [cseq] ACK + Contact: + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] BYE + Contact: + [routes] + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + + + + + + diff --git a/scenarios/timer_session_callee_only_supported/sipp_scenario_responder00.xml b/scenarios/timer_session_callee_only_supported/sipp_scenario_responder00.xml new file mode 100644 index 00000000..798bc9fc --- /dev/null +++ b/scenarios/timer_session_callee_only_supported/sipp_scenario_responder00.xml @@ -0,0 +1,70 @@ + + + + + + + + + + Content-Length: 0 + + ]]> + + + + + + + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + + + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + diff --git a/scenarios/timer_session_caller_only_supported/0003_test.yml.tt2 b/scenarios/timer_session_caller_only_supported/0003_test.yml.tt2 new file mode 100644 index 00000000..b4671ba2 --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/0003_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'P-Out-Socket: udp:127.0.0.1:5060', + 'P-NGCP-Auth-IP: 127.0.2.1', + 'P-NGCP-Auth-UA: ', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Contact: ', + 'Min-SE: 2', + 'Content-Type: application/sdp', + 'Content-Length: 0', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-Callee-UUID: [% spce_test.testuser1001.uuid %]', + 'P-Called-Party-ID: ', + '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: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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', + ] diff --git a/scenarios/timer_session_caller_only_supported/0005_test.yml.tt2 b/scenarios/timer_session_caller_only_supported/0005_test.yml.tt2 new file mode 100644 index 00000000..c3e48ac1 --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/0005_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ' + - 'CSeq: \d+ INVITE' + - 'P-LB-Uptime: \d+' + - 'P-Asserted-Identity: ' + - 'P-Caller-UUID: 0' + - 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+' + - 'P-NGCP-Callee-Info: ;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: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 100 Trying', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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: ', + 'Content-Length: 0', + ] diff --git a/scenarios/timer_session_caller_only_supported/0009_test.yml.tt2 b/scenarios/timer_session_caller_only_supported/0009_test.yml.tt2 new file mode 100644 index 00000000..996f2812 --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/0009_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Contact: ', + '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', + ] diff --git a/scenarios/timer_session_caller_only_supported/0010_test.yml.tt2 b/scenarios/timer_session_caller_only_supported/0010_test.yml.tt2 new file mode 100644 index 00000000..1432c16e --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/0010_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Require: timer' + - 'Supported: timer' + - 'Contact: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 200 OK', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Require: timer', + 'Supported: timer', + 'Contact: ', + 'Content-Length: 0', + 'P-Out-Socket: udp:127.0.0.1:5060', + ] diff --git a/scenarios/timer_session_caller_only_supported/peer.yml b/scenarios/timer_session_caller_only_supported/peer.yml new file mode 100644 index 00000000..3c12853c --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/peer.yml @@ -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 \ No newline at end of file diff --git a/scenarios/timer_session_caller_only_supported/prefs.json b/scenarios/timer_session_caller_only_supported/prefs.json new file mode 100644 index 00000000..0886b388 --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/prefs.json @@ -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 + } +} diff --git a/scenarios/timer_session_caller_only_supported/scenario.yml b/scenarios/timer_session_caller_only_supported/scenario.yml new file mode 100644 index 00000000..69aefdf4 --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/scenario.yml @@ -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 diff --git a/scenarios/timer_session_caller_only_supported/sipp_scenario00.xml b/scenarios/timer_session_caller_only_supported/sipp_scenario00.xml new file mode 100644 index 00000000..bc4c581d --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/sipp_scenario00.xml @@ -0,0 +1,72 @@ + + + + + ;tag=[pid]SIPpTag00[call_number] + To: + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] INVITE + Contact: + Max-Forwards: 70 + Session-Expires: 20;refresher=uac + Min-SE: 2 + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + [routes] + CSeq: [cseq] ACK + Contact: + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] BYE + Contact: + [routes] + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + + + + + + diff --git a/scenarios/timer_session_caller_only_supported/sipp_scenario_responder00.xml b/scenarios/timer_session_caller_only_supported/sipp_scenario_responder00.xml new file mode 100644 index 00000000..798bc9fc --- /dev/null +++ b/scenarios/timer_session_caller_only_supported/sipp_scenario_responder00.xml @@ -0,0 +1,70 @@ + + + + + + + + + + Content-Length: 0 + + ]]> + + + + + + + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + + + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + diff --git a/scenarios/timer_session_supported/0003_test.yml.tt2 b/scenarios/timer_session_supported/0003_test.yml.tt2 new file mode 100644 index 00000000..0cdf85aa --- /dev/null +++ b/scenarios/timer_session_supported/0003_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'P-Out-Socket: udp:127.0.0.1:5060', + 'P-NGCP-Auth-IP: 127.0.2.1', + 'P-NGCP-Auth-UA: ', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0', + 'Supported: timer', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Contact: ', + 'Min-SE: 2', + 'Content-Type: application/sdp', + 'Content-Length: 0', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-Callee-UUID: [% spce_test.testuser1001.uuid %]', + 'P-Called-Party-ID: ', + '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: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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', + ] diff --git a/scenarios/timer_session_supported/0005_test.yml.tt2 b/scenarios/timer_session_supported/0005_test.yml.tt2 new file mode 100644 index 00000000..04a501c3 --- /dev/null +++ b/scenarios/timer_session_supported/0005_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ' + - 'CSeq: \d+ INVITE' + - 'Supported: timer' + - 'P-LB-Uptime: \d+' + - 'P-Asserted-Identity: ' + - 'P-Caller-UUID: 0' + - 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+' + - 'P-NGCP-Callee-Info: ;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: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 100 Trying', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'INVITE sip:testuser1001@127.1.0.1:\d+ SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ', + 'CSeq: \d+ INVITE', + 'Supported: timer', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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: ', + 'Content-Length: 0', + ] diff --git a/scenarios/timer_session_supported/0009_test.yml.tt2 b/scenarios/timer_session_supported/0009_test.yml.tt2 new file mode 100644 index 00000000..49bac3c3 --- /dev/null +++ b/scenarios/timer_session_supported/0009_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Contact: ', + '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', + ] diff --git a/scenarios/timer_session_supported/0010_test.yml.tt2 b/scenarios/timer_session_supported/0010_test.yml.tt2 new file mode 100644 index 00000000..5f963de4 --- /dev/null +++ b/scenarios/timer_session_supported/0010_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Require: timer' + - 'Supported: timer' + - 'Contact: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 200 OK', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Require: timer', + 'Supported: timer', + 'Contact: ', + 'Content-Length: 0', + 'P-Out-Socket: udp:127.0.0.1:5060', + ] diff --git a/scenarios/timer_session_supported/0014_test.yml.tt2 b/scenarios/timer_session_supported/0014_test.yml.tt2 new file mode 100644 index 00000000..858c02bd --- /dev/null +++ b/scenarios/timer_session_supported/0014_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'P-LB-Uptime: \d+' + - 'P-Asserted-Identity: ' + - 'P-Caller-UUID: 0' + - 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+' + - 'P-NGCP-Callee-Info: ;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: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 100 Trying', + 'From: ;tag=[\w-]+', + 'To: ;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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'P-Caller-UUID: 0', + 'P-NGCP-Caller-Info: ;ip=127.0.2.1;port=\d+', + 'P-NGCP-Callee-Info: ;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: ', + 'Content-Length: 0', + ] diff --git a/scenarios/timer_session_supported/0017_test.yml.tt2 b/scenarios/timer_session_supported/0017_test.yml.tt2 new file mode 100644 index 00000000..b15a20f7 --- /dev/null +++ b/scenarios/timer_session_supported/0017_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Contact: ', + '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', + ] diff --git a/scenarios/timer_session_supported/0018_test.yml.tt2 b/scenarios/timer_session_supported/0018_test.yml.tt2 new file mode 100644 index 00000000..c873d722 --- /dev/null +++ b/scenarios/timer_session_supported/0018_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ INVITE' + - 'Supported: timer' + - 'Contact: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 200 OK', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ INVITE', + 'Supported: timer', + 'Contact: ', + 'Content-Length: 0', + 'P-Out-Socket: udp:127.0.0.1:5060', + ] diff --git a/scenarios/timer_session_supported/0021_test.yml.tt2 b/scenarios/timer_session_supported/0021_test.yml.tt2 new file mode 100644 index 00000000..70f202c5 --- /dev/null +++ b/scenarios/timer_session_supported/0021_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ BYE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ;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: ', + 'Server: Sipwise NGCP Proxy', + 'Content-Length: 0', + ] + - [ + 'BYE sip:127.0.0.1:508[08];prxroute=1 SIP/2.0', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ BYE', + 'Contact: ', + 'Content-Length: 0', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + ] diff --git a/scenarios/timer_session_supported/0022_test.yml.tt2 b/scenarios/timer_session_supported/0022_test.yml.tt2 new file mode 100644 index 00000000..646bfdb9 --- /dev/null +++ b/scenarios/timer_session_supported/0022_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ BYE' + - 'P-LB-Uptime: \d+' + - 'P-Asserted-Identity: ' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 100 Trying', + 'From: ;tag=[\w-]+', + 'To: ;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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ BYE', + 'P-LB-Uptime: \d+', + 'P-Asserted-Identity: ', + 'Content-Length: 0', + ] diff --git a/scenarios/timer_session_supported/0023_test.yml.tt2 b/scenarios/timer_session_supported/0023_test.yml.tt2 new file mode 100644 index 00000000..f95a68e7 --- /dev/null +++ b/scenarios/timer_session_supported/0023_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ BYE' + - 'Contact: ' + - '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: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ BYE', + 'Contact: ', + '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', + ] diff --git a/scenarios/timer_session_supported/0024_test.yml.tt2 b/scenarios/timer_session_supported/0024_test.yml.tt2 new file mode 100644 index 00000000..c9d3a660 --- /dev/null +++ b/scenarios/timer_session_supported/0024_test.yml.tt2 @@ -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: ;tag=[\w-]+' + - 'To: ;tag=[\w-]+' + - 'CSeq: \d+ BYE' + - 'Content-Length: 0' +sip_out: + - [ + 'SIP/2.0 200 OK', + 'From: ;tag=[\w-]+', + 'To: ;tag=[\w-]+', + 'CSeq: \d+ BYE', + 'Content-Length: 0', + 'P-Out-Socket: udp:127.0.0.1:5060', + ] diff --git a/scenarios/timer_session_supported/peer.yml b/scenarios/timer_session_supported/peer.yml new file mode 100644 index 00000000..3c12853c --- /dev/null +++ b/scenarios/timer_session_supported/peer.yml @@ -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 \ No newline at end of file diff --git a/scenarios/timer_session_supported/prefs.json b/scenarios/timer_session_supported/prefs.json new file mode 100644 index 00000000..3c8641a7 --- /dev/null +++ b/scenarios/timer_session_supported/prefs.json @@ -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 + } +} diff --git a/scenarios/timer_session_supported/scenario.yml b/scenarios/timer_session_supported/scenario.yml new file mode 100644 index 00000000..640883f2 --- /dev/null +++ b/scenarios/timer_session_supported/scenario.yml @@ -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 diff --git a/scenarios/timer_session_supported/sipp_scenario00.xml b/scenarios/timer_session_supported/sipp_scenario00.xml new file mode 100644 index 00000000..755d9d10 --- /dev/null +++ b/scenarios/timer_session_supported/sipp_scenario00.xml @@ -0,0 +1,110 @@ + + + + + ;tag=[pid]SIPpTag00[call_number] + To: + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] INVITE + Contact: + Max-Forwards: 70 + Session-Expires: 20;refresher=uac + Min-SE: 2 + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + [routes] + CSeq: [cseq] ACK + Contact: + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] INVITE + Contact: + Max-Forwards: 70 + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + [routes] + CSeq: [cseq] ACK + Contact: + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: [peer_tag_param] + Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id] + CSeq: [cseq] BYE + Contact: + [routes] + Max-Forwards: 70 + Content-Length: 0 + + ]]> + + + + + + + + + + + diff --git a/scenarios/timer_session_supported/sipp_scenario_responder00.xml b/scenarios/timer_session_supported/sipp_scenario_responder00.xml new file mode 100644 index 00000000..ebe9381b --- /dev/null +++ b/scenarios/timer_session_supported/sipp_scenario_responder00.xml @@ -0,0 +1,95 @@ + + + + + + + + + + Content-Length: 0 + + ]]> + + + + + + + Content-Type: application/sdp + Content-Length: [len] + ]]> + + + + + + + + + Content-Type: application/sdp + Content-Length: [len] + ]]> + + + + + + + + + + Content-Type: application/sdp + Content-Length: 0 + ]]> + + + + + + +