* invite_locmap_offline * invite_locmap_add * invite_locmap_replace Change-Id: I67b1a298fb5d96feab5bae1d29df05e713659331mr9.5.1
parent
b8cc633abc
commit
43705a53a5
@ -0,0 +1,109 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright: 2020 Sipwise Development Team <support@sipwise.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This package is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# On Debian systems, the complete text of the GNU General
|
||||
# Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
||||
#
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use English;
|
||||
use YAML::XS;
|
||||
use Getopt::Long;
|
||||
use Cwd 'abs_path';
|
||||
use Config::Tiny;
|
||||
use Sipwise::API qw(all);
|
||||
use Data::Dumper;
|
||||
|
||||
my $config = Config::Tiny->read('/etc/default/ngcp-api');
|
||||
my $opts;
|
||||
if ($config) {
|
||||
$opts = {};
|
||||
$opts->{host} = $config->{_}->{NGCP_API_IP};
|
||||
$opts->{port} = $config->{_}->{NGCP_API_PORT};
|
||||
$opts->{sslverify} = $config->{_}->{NGCP_API_SSLVERIFY};
|
||||
}
|
||||
my $api = Sipwise::API->new($opts);
|
||||
$opts = $api->opts;
|
||||
|
||||
sub usage {
|
||||
return "Usage:\n$PROGRAM_NAME locmap.yml\n".
|
||||
"Options:\n".
|
||||
" -d debug\n".
|
||||
" -h this help\n";
|
||||
}
|
||||
my $help = 0;
|
||||
GetOptions(
|
||||
"h|help" => \$help,
|
||||
"d|debug" => \$opts->{verbose}
|
||||
) or die("Error in command line arguments\n".usage());
|
||||
|
||||
die(usage()) unless (!$help);
|
||||
die("Wrong number of arguments\n".usage()) unless ($#ARGV == 0);
|
||||
|
||||
sub get_subscriber_id
|
||||
{
|
||||
my $subscriber = shift;
|
||||
my $domain = shift;
|
||||
my $subs_id = $api->check_subscriber_exists({
|
||||
domain => $domain,
|
||||
username => $subscriber});
|
||||
if($subs_id) {
|
||||
return $subs_id;
|
||||
}
|
||||
else {
|
||||
die("Error: No subscriber ${subscriber}\@${domain} found");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
sub set_locmap
|
||||
{
|
||||
my $subs_id = shift;
|
||||
my $values = shift;
|
||||
|
||||
my $res = $api->create_locationmapping($values);
|
||||
if($opts->{verbose}) {
|
||||
print Dumper $res;
|
||||
}
|
||||
if($res) {
|
||||
print "location mappings created for subscriber with id $subs_id\n";
|
||||
} else {
|
||||
die("Error: location mappings failed for subscriber with id $subs_id");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
sub main {
|
||||
my $r = YAML::XS::LoadFile(abs_path($ARGV[0]));
|
||||
|
||||
for my $key (keys %{$r})
|
||||
{
|
||||
my @fields = split /@/, $key;
|
||||
my $subscriber_id = get_subscriber_id($fields[0], $fields[1]);
|
||||
|
||||
for my $val (@{$r->{$key}})
|
||||
{
|
||||
$val->{subscriber_id} = $subscriber_id;
|
||||
set_locmap($subscriber_id, $val);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
main();
|
||||
|
@ -0,0 +1,46 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_INVITE:
|
||||
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_AUTH:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 407 Proxy Authentication Required',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Proxy-Authenticate: Digest realm="invite-locmap-add.scenarios.test", nonce=".+"',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,251 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_INVITE:
|
||||
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_AUTH:
|
||||
- start|ROUTE_AUTH_HELPER:
|
||||
- return|ROUTE_AUTH_HELPER:
|
||||
- start|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
|
||||
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
|
||||
- return|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- return|ROUTE_AUTH:
|
||||
- return|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_LOAD_CALLER_PREF:
|
||||
- start|ROUTE_CLEAR_CALLER_PREF:
|
||||
- return|ROUTE_CLEAR_CALLER_PREF:
|
||||
- start|ROUTE_CHECK_UA:
|
||||
- return|ROUTE_CHECK_UA:
|
||||
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLER_PREF:
|
||||
- start|ROUTE_DLG_MANAGE:
|
||||
- return|ROUTE_DLG_MANAGE:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_GET_CALLER_CLI:
|
||||
- return|ROUTE_GET_CALLER_CLI:
|
||||
- start|ROUTE_GET_FORWARDER_CLI:
|
||||
- return|ROUTE_GET_FORWARDER_CLI:
|
||||
- start|ROUTE_CLIR:
|
||||
- return|ROUTE_CLIR:
|
||||
- start|ROUTE_CALLER_BLOCK_CLI:
|
||||
- return|ROUTE_CALLER_BLOCK_CLI:
|
||||
- start|ROUTE_CHECK_USERPROV_CLI:
|
||||
- start|ROUTE_CHECK_CLI_ALLOWED:
|
||||
- return|ROUTE_CHECK_CLI_ALLOWED:
|
||||
- return|ROUTE_CHECK_USERPROV_CLI:
|
||||
- start|ROUTE_FIND_CALLEE:
|
||||
- start|ROUTE_CLEAR_CALLEE_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_PREF:
|
||||
- start|ROUTE_LOAD_CALLEE_PREF:
|
||||
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
|
||||
- start|ROUTE_SET_CALLEE_DIALOG:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_SET_CALLEE_DIALOG:
|
||||
- start|ROUTE_BLOCK_IN:
|
||||
- return|ROUTE_BLOCK_IN:
|
||||
- return|ROUTE_LOAD_CALLEE_PREF:
|
||||
- start|ROUTE_NCOS_CHECK:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS_CHECK:
|
||||
- start|ROUTE_BLOCK_OUT:
|
||||
- return|ROUTE_BLOCK_OUT:
|
||||
- start|ROUTE_CHECK_PBX:
|
||||
- return|ROUTE_CHECK_PBX:
|
||||
- start|ROUTE_CALLEE_DISPATCH:
|
||||
- start|ROUTE_INVITE_TO_INT:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_CF_CFU:
|
||||
- return|ROUTE_CF_CFU:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- start|ROUTE_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|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:
|
||||
- exit|DEFAULT_SEND:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.0.username %]",realm="invite-locmap-add.scenarios.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'P-NGCP-Src-Ip: [% scenarios.0.ip %]'
|
||||
- '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:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>',
|
||||
]
|
@ -0,0 +1,21 @@
|
||||
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 100'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length: 0'
|
||||
sip_out: []
|
@ -0,0 +1,42 @@
|
||||
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:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
]
|
@ -0,0 +1,25 @@
|
||||
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 180 Ringing'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 180 Ringing',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %];transport=UDP>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,30 @@
|
||||
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 180 Ringing'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 180 Ringing',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,42 @@
|
||||
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:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Server: Sipwise NGCP Proxy',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
]
|
@ -0,0 +1,16 @@
|
||||
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 100 Trying'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Content-Length: 0'
|
||||
sip_out: []
|
@ -0,0 +1,25 @@
|
||||
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 180 Ringing'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 180 Ringing',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,30 @@
|
||||
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 180 Ringing'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 180 Ringing',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,29 @@
|
||||
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'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
]
|
@ -0,0 +1,44 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|REPLY_ROUTE_RTPENGINE:
|
||||
- return|REPLY_ROUTE_RTPENGINE:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- start|dialog:start:
|
||||
- return|dialog:start:
|
||||
- return|dialog:start:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 OK'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
]
|
||||
- [
|
||||
'CANCEL sip:[% scenarios.0.responders.0.username %]@[% scenarios.0.responders.0.ip %]:[% scenarios.0.responders.0.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>',
|
||||
'CSeq: \d+ CANCEL',
|
||||
'Content-Length: 0',
|
||||
'Reason: SIP;cause=200;text="Call completed elsewhere"',
|
||||
]
|
@ -0,0 +1,41 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- start|ROUTE_WITHINDLG_RTPENGINE:
|
||||
- return|ROUTE_WITHINDLG_RTPENGINE:
|
||||
- start|ROUTE_OUTBOUND:
|
||||
- start|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- return|DEFAULT_ONREPLY:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 canceling'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ CANCEL'
|
||||
- 'Content-Length: 0'
|
||||
sip_out: []
|
@ -0,0 +1,37 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|ROUTE_OUTBOUND:
|
||||
- start|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'ACK sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Content-Length: 0'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Content-Length: 0',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
]
|
@ -0,0 +1,49 @@
|
||||
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:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'BYE sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,30 @@
|
||||
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:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'Contact: <sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP>'
|
||||
- 'Content-Length: \s+0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.1.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Contact: <sip:[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %];transport=UDP>',
|
||||
'Content-Length: \s+0',
|
||||
]
|
@ -0,0 +1,28 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 OK'
|
||||
- 'From: <sip:[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-add.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,11 @@
|
||||
cdr:
|
||||
- source_user: '[% scenarios.0.username %]'
|
||||
source_domain: 'invite-locmap-add.scenarios.test'
|
||||
source_cli: '[% invite_locmap_add_scenarios_test.testuser1000.phone_number %]'
|
||||
destination_user: '[% scenarios.0.responders.0.username %]'
|
||||
destination_domain: 'invite-locmap-add.scenarios.test'
|
||||
destination_user_dialed: '[% scenarios.0.responders.0.username %]'
|
||||
destination_user_in: '[% scenarios.0.responders.0.username %]'
|
||||
call_type: 'call'
|
||||
call_status: 'ok'
|
||||
call_code: '200'
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
testuser1001@invite-locmap-add.scenarios.test:
|
||||
- caller_pattern: .+
|
||||
callee_pattern: .+
|
||||
enabled: 1
|
||||
location: sip:testuser1002@invite-locmap-add.scenarios.test
|
||||
mode: add
|
@ -0,0 +1 @@
|
||||
../media181sec.pcap
|
@ -0,0 +1,52 @@
|
||||
---
|
||||
test_uuid: invite_locmap_add
|
||||
domains:
|
||||
'invite-locmap-add.scenarios.test':
|
||||
reseller_id: 1
|
||||
customers:
|
||||
'customer.test':
|
||||
contacts:
|
||||
- email: "customer.test@spce.test"
|
||||
reseller_id: 1
|
||||
details:
|
||||
status: 'active'
|
||||
type: 'sipaccount'
|
||||
billing_profile_id: 1
|
||||
reseller_id: 1
|
||||
subscribers:
|
||||
invite-locmap-add.scenarios.test:
|
||||
testuser1002:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1002
|
||||
testuser1001:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1001
|
||||
testuser1000:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1000
|
||||
alias_numbers:
|
||||
- cc: 34
|
||||
ac: 96
|
||||
sn: 5711942
|
||||
scenarios:
|
||||
- ip: 127.126.0.1
|
||||
username: testuser1000
|
||||
domain: invite-locmap-add.scenarios.test
|
||||
responders:
|
||||
- ip: 127.1.0.1
|
||||
username: testuser1001
|
||||
domain: invite-locmap-add.scenarios.test
|
||||
register: 'yes'
|
||||
- ip: 127.1.0.2
|
||||
username: testuser1002
|
||||
domain: invite-locmap-add.scenarios.test
|
||||
register: 'yes'
|
@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAC Caller">
|
||||
<send start_rtd="1" start_rtd="2">
|
||||
<![CDATA[
|
||||
|
||||
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
|
||||
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 1 INVITE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" rtd="1" optional="true"/>
|
||||
|
||||
<recv response="407" rtd="2" auth="true"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
ACK sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]:[remote_port] SIP/2.0
|
||||
[last_Via:]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 1 ACK
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
|
||||
<send start_rtd="3">
|
||||
<![CDATA[
|
||||
|
||||
INVITE sip:[field0 file="callee.csv" line=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]>
|
||||
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
|
||||
CSeq: 2 INVITE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv"]
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true"/>
|
||||
|
||||
<recv response="180" optional="true"/>
|
||||
|
||||
<recv response="183" optional="true"/>
|
||||
|
||||
<recv response="200" rrs="true" rtd="3"/>
|
||||
|
||||
<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: 2 ACK
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
<nop>
|
||||
<action>
|
||||
<exec play_pcap_audio="media181sec.pcap"/>
|
||||
</action>
|
||||
</nop>
|
||||
|
||||
<pause milliseconds="1000"/>
|
||||
|
||||
<send start_rtd="4">
|
||||
<![CDATA[
|
||||
|
||||
BYE [next_url] SIP/2.0
|
||||
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 3 BYE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
[routes]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true"/>
|
||||
|
||||
<recv response="200" crlf="true" rtd="4"/>
|
||||
|
||||
<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,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAS Responder">
|
||||
|
||||
<recv request="INVITE" rtd="true"/>
|
||||
|
||||
<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>
|
||||
|
||||
<recv request="CANCEL"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: [len]
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
||||
|
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAS Responder">
|
||||
|
||||
<recv request="INVITE" rtd="true"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 180 Ringing
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
[last_Record-Route:]
|
||||
[last_Route:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv request="ACK"/>
|
||||
<recv request="BYE"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: [len]
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
@ -0,0 +1,46 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_INVITE:
|
||||
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_AUTH:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 407 Proxy Authentication Required',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Proxy-Authenticate: Digest realm="invite-locmap-offline.scenarios.test", nonce=".+"',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,9 @@
|
||||
flow:
|
||||
- start|sl:filtered-ack:
|
||||
sip_in:
|
||||
- 'ACK sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Content-Length: 0'
|
||||
sip_out: []
|
@ -0,0 +1,189 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_INVITE:
|
||||
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_AUTH:
|
||||
- start|ROUTE_AUTH_HELPER:
|
||||
- return|ROUTE_AUTH_HELPER:
|
||||
- start|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
|
||||
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
|
||||
- return|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- return|ROUTE_AUTH:
|
||||
- return|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_LOAD_CALLER_PREF:
|
||||
- start|ROUTE_CLEAR_CALLER_PREF:
|
||||
- return|ROUTE_CLEAR_CALLER_PREF:
|
||||
- start|ROUTE_CHECK_UA:
|
||||
- return|ROUTE_CHECK_UA:
|
||||
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLER_PREF:
|
||||
- start|ROUTE_DLG_MANAGE:
|
||||
- return|ROUTE_DLG_MANAGE:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_GET_CALLER_CLI:
|
||||
- return|ROUTE_GET_CALLER_CLI:
|
||||
- start|ROUTE_GET_FORWARDER_CLI:
|
||||
- return|ROUTE_GET_FORWARDER_CLI:
|
||||
- start|ROUTE_CLIR:
|
||||
- return|ROUTE_CLIR:
|
||||
- start|ROUTE_CALLER_BLOCK_CLI:
|
||||
- return|ROUTE_CALLER_BLOCK_CLI:
|
||||
- start|ROUTE_CHECK_USERPROV_CLI:
|
||||
- start|ROUTE_CHECK_CLI_ALLOWED:
|
||||
- return|ROUTE_CHECK_CLI_ALLOWED:
|
||||
- return|ROUTE_CHECK_USERPROV_CLI:
|
||||
- start|ROUTE_FIND_CALLEE:
|
||||
- start|ROUTE_CLEAR_CALLEE_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_PREF:
|
||||
- start|ROUTE_LOAD_CALLEE_PREF:
|
||||
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
|
||||
- start|ROUTE_SET_CALLEE_DIALOG:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_SET_CALLEE_DIALOG:
|
||||
- start|ROUTE_BLOCK_IN:
|
||||
- return|ROUTE_BLOCK_IN:
|
||||
- return|ROUTE_LOAD_CALLEE_PREF:
|
||||
- start|ROUTE_NCOS_CHECK:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS_CHECK:
|
||||
- start|ROUTE_BLOCK_OUT:
|
||||
- return|ROUTE_BLOCK_OUT:
|
||||
- start|ROUTE_CHECK_PBX:
|
||||
- return|ROUTE_CHECK_PBX:
|
||||
- start|ROUTE_CALLEE_DISPATCH:
|
||||
- start|ROUTE_INVITE_TO_INT:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_CF_CFU:
|
||||
- return|ROUTE_CF_CFU:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- start|ROUTE_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:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.0.username %]",realm="invite-locmap-offline.scenarios.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>',
|
||||
]
|
@ -0,0 +1,30 @@
|
||||
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 180 Ringing'
|
||||
- 'From: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 180 Ringing',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,36 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|REPLY_ROUTE_RTPENGINE:
|
||||
- return|REPLY_ROUTE_RTPENGINE:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- start|dialog:start:
|
||||
- return|dialog:start:
|
||||
- return|dialog:start:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 OK'
|
||||
- 'From: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
]
|
@ -0,0 +1,41 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- start|ROUTE_WITHINDLG_RTPENGINE:
|
||||
- return|ROUTE_WITHINDLG_RTPENGINE:
|
||||
- start|ROUTE_OUTBOUND:
|
||||
- start|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -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:
|
||||
- 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:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'BYE sip:127.0.0.1:508[08];prxroute=1 SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Length: 0',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>',
|
||||
]
|
@ -0,0 +1,28 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 OK'
|
||||
- 'From: <sip:[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-offline.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
cdr:
|
||||
- source_user: '[% scenarios.0.username %]'
|
||||
source_domain: 'invite-locmap-offline.scenarios.test'
|
||||
source_cli: '[% invite_locmap_offline_scenarios_test.testuser1000.phone_number %]'
|
||||
destination_user: '[% scenarios.0.responders.0.username %]'
|
||||
destination_domain: 'invite-locmap-offline.scenarios.test'
|
||||
destination_user_dialed: '[% scenarios.0.responders.0.username %]'
|
||||
call_type: 'call'
|
||||
call_status: 'ok'
|
||||
call_code: '200'
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
testuser1001@invite-locmap-offline.scenarios.test:
|
||||
- caller_pattern: .+
|
||||
callee_pattern: .+
|
||||
enabled: 1
|
||||
location: sip:testuser1002@invite-locmap-offline.scenarios.test
|
||||
mode: offline
|
@ -0,0 +1 @@
|
||||
../media181sec.pcap
|
@ -0,0 +1,53 @@
|
||||
---
|
||||
test_uuid: invite_locmap_offline
|
||||
domains:
|
||||
'invite-locmap-offline.scenarios.test':
|
||||
reseller_id: 1
|
||||
customers:
|
||||
'customer.test':
|
||||
contacts:
|
||||
- email: "customer.test@spce.test"
|
||||
reseller_id: 1
|
||||
details:
|
||||
status: 'active'
|
||||
type: 'sipaccount'
|
||||
billing_profile_id: 1
|
||||
reseller_id: 1
|
||||
subscribers:
|
||||
invite-locmap-offline.scenarios.test:
|
||||
testuser1002:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1002
|
||||
testuser1001:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1001
|
||||
testuser1000:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1000
|
||||
alias_numbers:
|
||||
- cc: 34
|
||||
ac: 96
|
||||
sn: 5711942
|
||||
scenarios:
|
||||
- ip: 127.126.0.1
|
||||
username: testuser1000
|
||||
domain: invite-locmap-offline.scenarios.test
|
||||
responders:
|
||||
- ip: 127.1.0.1
|
||||
username: testuser1001
|
||||
domain: invite-locmap-offline.scenarios.test
|
||||
register: 'no'
|
||||
active: 'no'
|
||||
- ip: 127.1.0.2
|
||||
username: testuser1002
|
||||
domain: invite-locmap-offline.scenarios.test
|
||||
register: 'yes'
|
@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAC Caller">
|
||||
<send start_rtd="1" start_rtd="2">
|
||||
<![CDATA[
|
||||
|
||||
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
|
||||
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 1 INVITE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" rtd="1" optional="true"/>
|
||||
|
||||
<recv response="407" rtd="2" auth="true"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
ACK sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]:[remote_port] SIP/2.0
|
||||
[last_Via:]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 1 ACK
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
|
||||
<send start_rtd="3">
|
||||
<![CDATA[
|
||||
|
||||
INVITE sip:[field0 file="callee.csv" line=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]>
|
||||
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
|
||||
CSeq: 2 INVITE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv"]
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true"/>
|
||||
|
||||
<recv response="180" optional="true"/>
|
||||
|
||||
<recv response="183" optional="true"/>
|
||||
|
||||
<recv response="200" rrs="true" rtd="3"/>
|
||||
|
||||
<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: 2 ACK
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
<nop>
|
||||
<action>
|
||||
<exec play_pcap_audio="media181sec.pcap"/>
|
||||
</action>
|
||||
</nop>
|
||||
|
||||
<pause milliseconds="1000"/>
|
||||
|
||||
<send start_rtd="4">
|
||||
<![CDATA[
|
||||
|
||||
BYE [next_url] SIP/2.0
|
||||
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 3 BYE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
[routes]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true"/>
|
||||
|
||||
<recv response="200" crlf="true" rtd="4"/>
|
||||
|
||||
<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,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAS Responder">
|
||||
|
||||
<recv request="INVITE" rtd="true"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 180 Ringing
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
[last_Record-Route:]
|
||||
[last_Route:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv request="ACK"/>
|
||||
<recv request="BYE"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: [len]
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
||||
|
@ -0,0 +1,46 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_INVITE:
|
||||
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_AUTH:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'INVITE sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 407 Proxy Authentication Required',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Proxy-Authenticate: Digest realm="invite-locmap-replace.scenarios.test", nonce=".+"',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,9 @@
|
||||
flow:
|
||||
- start|sl:filtered-ack:
|
||||
sip_in:
|
||||
- 'ACK sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Content-Length: 0'
|
||||
sip_out: []
|
@ -0,0 +1,189 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_INVITE:
|
||||
- start|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_DOMAIN_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_DOMAIN_PREF:
|
||||
- start|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_AUTH:
|
||||
- start|ROUTE_AUTH_HELPER:
|
||||
- return|ROUTE_AUTH_HELPER:
|
||||
- start|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- start|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
|
||||
- return|ROUTE_ADD_CALLINFO_CALLER_PRIMARY:
|
||||
- return|ROUTE_ADD_CALLINFO_REPLY:
|
||||
- return|ROUTE_AUTH:
|
||||
- return|ROUTE_FIND_CALLER:
|
||||
- start|ROUTE_LOAD_CALLER_PREF:
|
||||
- start|ROUTE_CLEAR_CALLER_PREF:
|
||||
- return|ROUTE_CLEAR_CALLER_PREF:
|
||||
- start|ROUTE_CHECK_UA:
|
||||
- return|ROUTE_CHECK_UA:
|
||||
- start|ROUTE_LOAD_CALLER_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLER_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLER_PREF:
|
||||
- start|ROUTE_DLG_MANAGE:
|
||||
- return|ROUTE_DLG_MANAGE:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_GET_CALLER_CLI:
|
||||
- return|ROUTE_GET_CALLER_CLI:
|
||||
- start|ROUTE_GET_FORWARDER_CLI:
|
||||
- return|ROUTE_GET_FORWARDER_CLI:
|
||||
- start|ROUTE_CLIR:
|
||||
- return|ROUTE_CLIR:
|
||||
- start|ROUTE_CALLER_BLOCK_CLI:
|
||||
- return|ROUTE_CALLER_BLOCK_CLI:
|
||||
- start|ROUTE_CHECK_USERPROV_CLI:
|
||||
- start|ROUTE_CHECK_CLI_ALLOWED:
|
||||
- return|ROUTE_CHECK_CLI_ALLOWED:
|
||||
- return|ROUTE_CHECK_USERPROV_CLI:
|
||||
- start|ROUTE_FIND_CALLEE:
|
||||
- start|ROUTE_CLEAR_CALLEE_PREF:
|
||||
- return|ROUTE_CLEAR_CALLEE_PREF:
|
||||
- start|ROUTE_LOAD_CALLEE_PREF:
|
||||
- start|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
|
||||
- return|ROUTE_LOAD_CALLEE_CONTRACT_PREF:
|
||||
- start|ROUTE_SET_CALLEE_DIALOG:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_SET_CALLEE_DIALOG:
|
||||
- start|ROUTE_BLOCK_IN:
|
||||
- return|ROUTE_BLOCK_IN:
|
||||
- return|ROUTE_LOAD_CALLEE_PREF:
|
||||
- start|ROUTE_NCOS_CHECK:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- start|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS:
|
||||
- return|ROUTE_NCOS_CHECK:
|
||||
- start|ROUTE_BLOCK_OUT:
|
||||
- return|ROUTE_BLOCK_OUT:
|
||||
- start|ROUTE_CHECK_PBX:
|
||||
- return|ROUTE_CHECK_PBX:
|
||||
- start|ROUTE_CALLEE_DISPATCH:
|
||||
- start|ROUTE_INVITE_TO_INT:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_CF_CFU:
|
||||
- return|ROUTE_CF_CFU:
|
||||
- start|ROUTE_CNT_DLG_CHECK:
|
||||
- return|ROUTE_CNT_DLG_CHECK:
|
||||
- start|ROUTE_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:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Proxy-Authorization: Digest username="[% scenarios.0.username %]",realm="invite-locmap-replace.scenarios.test",uri="sip:127.0.0.1:5060",nonce=".+",response=".+",algorithm=MD5'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'SIP/2.0 101 Connecting',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'INVITE sip:[% scenarios.0.responders.1.username %]@[% scenarios.0.responders.1.ip %]:[% scenarios.0.responders.1.port %] SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>',
|
||||
]
|
@ -0,0 +1,30 @@
|
||||
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 180 Ringing'
|
||||
- 'From: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 180 Ringing',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,36 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|REPLY_ROUTE_RTPENGINE:
|
||||
- return|REPLY_ROUTE_RTPENGINE:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- start|dialog:start:
|
||||
- return|dialog:start:
|
||||
- return|dialog:start:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 OK'
|
||||
- 'From: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ INVITE'
|
||||
- 'Contact: <sip:127.0.0.1:508[08];transport=udp>'
|
||||
- 'Content-Type: application/sdp'
|
||||
- 'Content-Length:\s+\d+'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ INVITE',
|
||||
'Contact: <sip:127.0.0.1:508[08];transport=udp>',
|
||||
'Content-Type: application/sdp',
|
||||
'Content-Length:\s+\d+',
|
||||
]
|
@ -0,0 +1,41 @@
|
||||
flow:
|
||||
- start|DEFAULT_ROUTE:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_NET_INFO:
|
||||
- return|ROUTE_NET_INFO:
|
||||
- start|ROUTE_CHECK_TEL_URI:
|
||||
- return|ROUTE_CHECK_TEL_URI:
|
||||
- start|ROUTE_PRX_REQUEST:
|
||||
- start|ROUTE_INITVARS:
|
||||
- return|ROUTE_INITVARS:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|ROUTE_RESTORE_CLUSTERSET:
|
||||
- return|ROUTE_RESTORE_CLUSTERSET:
|
||||
- start|ROUTE_WITHINDLG_RTPENGINE:
|
||||
- return|ROUTE_WITHINDLG_RTPENGINE:
|
||||
- start|ROUTE_OUTBOUND:
|
||||
- start|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- exit|DEFAULT_SEND:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0'
|
||||
- 'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ ACK'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'ACK sip:127.0.0.1:508[08];prxroute=1 SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ ACK',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -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:
|
||||
- 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:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 100 Trying',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Content-Length: 0',
|
||||
]
|
||||
- [
|
||||
'BYE sip:127.0.0.1:508[08];prxroute=1 SIP/2.0',
|
||||
'From: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Contact: sip:[% scenarios.0.username %]@[% scenarios.0.ip %]:[% scenarios.0.port %]',
|
||||
'Content-Length: 0',
|
||||
'P-Asserted-Identity: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>',
|
||||
]
|
@ -0,0 +1,28 @@
|
||||
flow:
|
||||
- start|DEFAULT_ONREPLY:
|
||||
- start|REPLY_ROUTE_NAT:
|
||||
- start|ROUTE_ENTRY:
|
||||
- return|ROUTE_ENTRY:
|
||||
- start|ROUTE_APPLY_HEADER_RULES:
|
||||
- return|ROUTE_APPLY_HEADER_RULES:
|
||||
- start|ROUTE_PREPARE_UA:
|
||||
- return|ROUTE_PREPARE_UA:
|
||||
- start|REPLY_ROUTE_NAT_CONTINUE:
|
||||
- start|ROUTE_EXIT:
|
||||
- start|ROUTE_RUNTIME:
|
||||
- return|ROUTE_RUNTIME:
|
||||
- exit|ROUTE_EXIT:
|
||||
sip_in:
|
||||
- 'SIP/2.0 200 OK'
|
||||
- 'From: <sip:[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+'
|
||||
- 'CSeq: \d+ BYE'
|
||||
- 'Content-Length: 0'
|
||||
sip_out:
|
||||
- [
|
||||
'SIP/2.0 200 OK',
|
||||
'From: <sip:[% scenarios.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'To: <sip:[% scenarios.0.responders.0.username %]@invite-locmap-replace.scenarios.test>;tag=[\w-]+',
|
||||
'CSeq: \d+ BYE',
|
||||
'Content-Length: 0',
|
||||
]
|
@ -0,0 +1,10 @@
|
||||
cdr:
|
||||
- source_user: '[% scenarios.0.username %]'
|
||||
source_domain: 'invite-locmap-replace.scenarios.test'
|
||||
source_cli: '[% invite_locmap_replace_scenarios_test.testuser1000.phone_number %]'
|
||||
destination_user: '[% scenarios.0.responders.0.username %]'
|
||||
destination_domain: 'invite-locmap-replace.scenarios.test'
|
||||
destination_user_dialed: '[% scenarios.0.responders.0.username %]'
|
||||
call_type: 'call'
|
||||
call_status: 'ok'
|
||||
call_code: '200'
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
testuser1001@invite-locmap-replace.scenarios.test:
|
||||
- caller_pattern: .+
|
||||
callee_pattern: .+
|
||||
enabled: 1
|
||||
location: sip:testuser1002@invite-locmap-replace.scenarios.test
|
||||
mode: replace
|
@ -0,0 +1 @@
|
||||
../media181sec.pcap
|
@ -0,0 +1,53 @@
|
||||
---
|
||||
test_uuid: invite_locmap_replace
|
||||
domains:
|
||||
'invite-locmap-replace.scenarios.test':
|
||||
reseller_id: 1
|
||||
customers:
|
||||
'customer.test':
|
||||
contacts:
|
||||
- email: "customer.test@spce.test"
|
||||
reseller_id: 1
|
||||
details:
|
||||
status: 'active'
|
||||
type: 'sipaccount'
|
||||
billing_profile_id: 1
|
||||
reseller_id: 1
|
||||
subscribers:
|
||||
invite-locmap-replace.scenarios.test:
|
||||
testuser1002:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1002
|
||||
testuser1001:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1001
|
||||
testuser1000:
|
||||
customer: 'customer.test'
|
||||
password: testuser
|
||||
cc: 43
|
||||
ac: 1
|
||||
sn: 1000
|
||||
alias_numbers:
|
||||
- cc: 34
|
||||
ac: 96
|
||||
sn: 5711942
|
||||
scenarios:
|
||||
- ip: 127.126.0.1
|
||||
username: testuser1000
|
||||
domain: invite-locmap-replace.scenarios.test
|
||||
responders:
|
||||
- ip: 127.1.0.1
|
||||
username: testuser1001
|
||||
domain: invite-locmap-replace.scenarios.test
|
||||
active: 'no'
|
||||
register: 'yes'
|
||||
- ip: 127.1.0.2
|
||||
username: testuser1002
|
||||
domain: invite-locmap-replace.scenarios.test
|
||||
register: 'yes'
|
@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAC Caller">
|
||||
<send start_rtd="1" start_rtd="2">
|
||||
<![CDATA[
|
||||
|
||||
INVITE sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0] SIP/2.0
|
||||
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 1 INVITE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" rtd="1" optional="true"/>
|
||||
|
||||
<recv response="407" rtd="2" auth="true"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
ACK sip:[field0 file="callee.csv" line=0]@[field3 file="callee.csv" line=0]:[remote_port] SIP/2.0
|
||||
[last_Via:]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 1 ACK
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
|
||||
<send start_rtd="3">
|
||||
<![CDATA[
|
||||
|
||||
INVITE sip:[field0 file="callee.csv" line=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]>
|
||||
Call-ID: NGCP%[field4 file="callee.csv" line=0]%///[call_id]
|
||||
CSeq: 2 INVITE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
[field1 file="caller.csv"]
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true"/>
|
||||
|
||||
<recv response="180" optional="true"/>
|
||||
|
||||
<recv response="183" optional="true"/>
|
||||
|
||||
<recv response="200" rrs="true" rtd="3"/>
|
||||
|
||||
<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: 2 ACK
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
<nop>
|
||||
<action>
|
||||
<exec play_pcap_audio="media181sec.pcap"/>
|
||||
</action>
|
||||
</nop>
|
||||
|
||||
<pause milliseconds="1000"/>
|
||||
|
||||
<send start_rtd="4">
|
||||
<![CDATA[
|
||||
|
||||
BYE [next_url] SIP/2.0
|
||||
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
|
||||
From: <sip:[field0 file="caller.csv"]@[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: 3 BYE
|
||||
Contact: sip:[field0 file="caller.csv"]@[local_ip]:[local_port]
|
||||
[routes]
|
||||
Max-Forwards: 70
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv response="100" optional="true"/>
|
||||
|
||||
<recv response="200" crlf="true" rtd="4"/>
|
||||
|
||||
<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,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<scenario name="Sipwise NGCP Benchmark UAS Responder">
|
||||
|
||||
<recv request="INVITE" rtd="true"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 180 Ringing
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: 0
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<pause milliseconds="500"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:];tag=[pid]SIPpTag01[call_number]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
[last_Record-Route:]
|
||||
[last_Route:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Type: application/sdp
|
||||
Content-Length: [len]
|
||||
|
||||
v=0
|
||||
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
|
||||
s=-
|
||||
c=IN IP[media_ip_type] [media_ip]
|
||||
t=0 0
|
||||
m=audio [media_port] RTP/AVP 8
|
||||
a=rtpmap:8 PCMA/8000
|
||||
a=ptime:50
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<recv request="ACK"/>
|
||||
|
||||
<recv request="BYE"/>
|
||||
|
||||
<send>
|
||||
<![CDATA[
|
||||
|
||||
SIP/2.0 200 OK
|
||||
[last_Via:]
|
||||
[last_From:]
|
||||
[last_To:]
|
||||
[last_Call-ID:]
|
||||
[last_CSeq:]
|
||||
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
|
||||
Content-Length: [len]
|
||||
|
||||
]]>
|
||||
</send>
|
||||
|
||||
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
|
||||
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
|
||||
|
||||
</scenario>
|
||||
|
Loading…
Reference in new issue