[Asterisk-code-review] res pjsip: Add test for Endpoint IP Access Controls feature (testsuite[master])
Anonymous Coward
asteriskteam at digium.com
Thu May 19 09:53:56 CDT 2016
Anonymous Coward #1000019 has submitted this change and it was merged.
Change subject: res_pjsip: Add test for Endpoint IP Access Controls feature
......................................................................
res_pjsip: Add test for Endpoint IP Access Controls feature
This patch adds a test to verify proper behavior of ACL and Named ACL
usage by the res_pjsip.
ASTERISK-25900
Change-Id: Ie95e035a960c497b8497021205401b1df589eae9
---
A tests/channels/pjsip/acl_call/configs/ast1/acl.conf
A tests/channels/pjsip/acl_call/configs/ast1/extconfig.conf
A tests/channels/pjsip/acl_call/configs/ast1/extensions.conf
A tests/channels/pjsip/acl_call/configs/ast1/modules.conf.inc
A tests/channels/pjsip/acl_call/configs/ast1/pjsip.conf
A tests/channels/pjsip/acl_call/configs/ast1/res_config_sqlite3.conf
A tests/channels/pjsip/acl_call/realtime.sqlite3
A tests/channels/pjsip/acl_call/run-test
A tests/channels/pjsip/acl_call/sipp/testsip1-failure.xml
A tests/channels/pjsip/acl_call/sipp/testsip1-success.xml
A tests/channels/pjsip/acl_call/sipp/testsip2-failure.xml
A tests/channels/pjsip/acl_call/sipp/testsip2-success.xml
A tests/channels/pjsip/acl_call/sipp/testsip3-failure.xml
A tests/channels/pjsip/acl_call/sipp/testsip3-success.xml
A tests/channels/pjsip/acl_call/sipp/testsip4-failure.xml
A tests/channels/pjsip/acl_call/sipp/testsip5-failure.xml
A tests/channels/pjsip/acl_call/sipp/testsip5-success.xml
A tests/channels/pjsip/acl_call/test-config.yaml
M tests/channels/pjsip/tests.yaml
19 files changed, 1,093 insertions(+), 0 deletions(-)
Approvals:
Anonymous Coward #1000019: Verified
Joshua Colp: Looks good to me, approved
diff --git a/tests/channels/pjsip/acl_call/configs/ast1/acl.conf b/tests/channels/pjsip/acl_call/configs/ast1/acl.conf
new file mode 100644
index 0000000..ee04b56
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/configs/ast1/acl.conf
@@ -0,0 +1,15 @@
+[testacl1] ; Allow 127.0.0.1 only
+deny = 0.0.0.0/0.0.0.0
+permit = 127.0.0.1
+
+[testacl2] ; Disallow 127.0.0.1 only
+permit = 0.0.0.0/0.0.0.0
+deny = 127.0.0.1
+
+[testacl3] ; Disallow 127.0.0.3 only
+permit = 0.0.0.0/0.0.0.0
+deny = 127.0.0.3
+
+[testacl4] ; Disallow 127.0.0.4 only
+permit = 0.0.0.0/0.0.0.0
+deny = 127.0.0.4
diff --git a/tests/channels/pjsip/acl_call/configs/ast1/extconfig.conf b/tests/channels/pjsip/acl_call/configs/ast1/extconfig.conf
new file mode 100644
index 0000000..25f8b11
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/configs/ast1/extconfig.conf
@@ -0,0 +1,2 @@
+[settings]
+acls => sqlite3,asterisk,acltable
diff --git a/tests/channels/pjsip/acl_call/configs/ast1/extensions.conf b/tests/channels/pjsip/acl_call/configs/ast1/extensions.conf
new file mode 100644
index 0000000..61c769c
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/configs/ast1/extensions.conf
@@ -0,0 +1,4 @@
+[test_context]
+exten => s,1,Answer()
+exten => s,n,Playtones(400,100) ; Play a tone for one tenth of a second, just to have the call last some amount of time.
+exten => s,n,Hangup()
diff --git a/tests/channels/pjsip/acl_call/configs/ast1/modules.conf.inc b/tests/channels/pjsip/acl_call/configs/ast1/modules.conf.inc
new file mode 100644
index 0000000..161ad33
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/configs/ast1/modules.conf.inc
@@ -0,0 +1 @@
+preload => res_config_sqlite3.so
diff --git a/tests/channels/pjsip/acl_call/configs/ast1/pjsip.conf b/tests/channels/pjsip/acl_call/configs/ast1/pjsip.conf
new file mode 100644
index 0000000..a6e24bc
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/configs/ast1/pjsip.conf
@@ -0,0 +1,32 @@
+[local]
+type=transport
+protocol=udp
+bind=0.0.0.0
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+[endpoint_t](!)
+type=endpoint
+transport=local
+context=test_context
+direct_media=no
+disallow=all
+allow=ulaw
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+[testsip1](endpoint_t) ; Allow calls only from the locally defined ACL (denies all except 127.0.0.1)
+deny=0.0.0.0/0.0.0.0
+permit=127.0.0.1
+
+[testsip2](endpoint_t) ; Same as testsip1, only defined via named ACL subsystem
+acl=testacl1
+
+[testsip3](endpoint_t) ; Multiple ACLs defined via named ACL subsystem. Collectively only 127.0.0.2 is acceptable
+acl=testacl2,testacl3,testacl4
+
+[testsip4](endpoint_t) ; An invalid ACL (not contained in the configuration or in realtime). No allowable addresses
+acl=undefinedacl
+
+[testsip5](endpoint_t) ; 3 ACLs stored on the realtime backend. Collectively only 127.0.0.3 is acceptable
+acl=rtacl1,rtacl2,rtacl3
diff --git a/tests/channels/pjsip/acl_call/configs/ast1/res_config_sqlite3.conf b/tests/channels/pjsip/acl_call/configs/ast1/res_config_sqlite3.conf
new file mode 100644
index 0000000..76bf398
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/configs/ast1/res_config_sqlite3.conf
@@ -0,0 +1,2 @@
+[asterisk]
+dbfile => /tmp/realtime.sqlite3
diff --git a/tests/channels/pjsip/acl_call/realtime.sqlite3 b/tests/channels/pjsip/acl_call/realtime.sqlite3
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/realtime.sqlite3
diff --git a/tests/channels/pjsip/acl_call/run-test b/tests/channels/pjsip/acl_call/run-test
new file mode 100644
index 0000000..afbabb0
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/run-test
@@ -0,0 +1,146 @@
+#!/usr/bin/env python
+
+import sys
+import logging
+import logging.config
+import os
+import shutil
+from twisted.internet import reactor
+
+sys.path.append("lib/python")
+
+from asterisk.sipp import SIPpTest
+
+SIPP_SCENARIOS = [
+ # test1 - No named ACL, calling available only to 127.0.0.1
+ {
+ 'scenario' : 'testsip1-success.xml',
+ '-i' : '127.0.0.1',
+ '-p' : '5061'
+ },
+ {
+ 'scenario' : 'testsip1-failure.xml',
+ '-i' : '127.0.0.2',
+ '-p' : '5062'
+ },
+ {
+ 'scenario' : 'testsip1-failure.xml',
+ '-i' : '127.0.0.3',
+ '-p' : '5063'
+ },
+ {
+ 'scenario' : 'testsip1-failure.xml',
+ '-i' : '127.0.0.4',
+ '-p' : '5064'
+ },
+
+ # test2 - Same permissible addresses as test1, but while using a named ACL from the local configuration
+ {
+ 'scenario' : 'testsip2-success.xml',
+ '-i' : '127.0.0.1',
+ '-p' : '5065'
+ },
+ {
+ 'scenario' : 'testsip2-failure.xml',
+ '-i' : '127.0.0.2',
+ '-p' : '5066'
+ },
+ {
+ 'scenario' : 'testsip2-failure.xml',
+ '-i' : '127.0.0.3',
+ '-p' : '5067'
+ },
+ {
+ 'scenario' : 'testsip2-failure.xml',
+ '-i' : '127.0.0.4',
+ '-p' : '5068'
+ },
+
+ # test3 - Multiple named ACL rules from local configuration. Only 127.0.0.2 should be allowed to call
+ {
+ 'scenario' : 'testsip3-failure.xml',
+ '-i' : '127.0.0.1',
+ '-p' : '5069'
+ },
+ {
+ 'scenario' : 'testsip3-success.xml',
+ '-i' : '127.0.0.2',
+ '-p' : '5070'
+ },
+ {
+ 'scenario' : 'testsip3-failure.xml',
+ '-i' : '127.0.0.3',
+ '-p' : '5071'
+ },
+ {
+ 'scenario' : 'testsip3-failure.xml',
+ '-i' : '127.0.0.4',
+ '-p' : '5072'
+ },
+
+ # test4 - An undefined rule is used. All addresses should be rejected from calling
+ {
+ 'scenario' : 'testsip4-failure.xml',
+ '-i' : '127.0.0.1',
+ '-p' : '5073'
+ },
+ {
+ 'scenario' : 'testsip4-failure.xml',
+ '-i' : '127.0.0.2',
+ '-p' : '5074'
+ },
+ {
+ 'scenario' : 'testsip4-failure.xml',
+ '-i' : '127.0.0.3',
+ '-p' : '5075'
+ },
+ {
+ 'scenario' : 'testsip4-failure.xml',
+ '-i' : '127.0.0.4',
+ '-p' : '5076'
+ },
+
+ # test5 - A set of 3 named ACLs stored in realtime is used. Collectively only 127.0.0.3 should be allowed to call
+ {
+ 'scenario' : 'testsip5-failure.xml',
+ '-i' : '127.0.0.1',
+ '-p' : '5077'
+ },
+ {
+ 'scenario' : 'testsip5-failure.xml',
+ '-i' : '127.0.0.2',
+ '-p' : '5078'
+ },
+ {
+ 'scenario' : 'testsip5-success.xml',
+ '-i' : '127.0.0.3',
+ '-p' : '5079'
+ },
+ {
+ 'scenario' : 'testsip5-failure.xml',
+ '-i' : '127.0.0.4',
+ '-p' : '5080'
+ },
+]
+
+def main():
+ WORKING_DIR = "channels/pjsip/acl_call"
+ TEST_DIR = os.path.dirname(os.path.realpath(__file__))
+ DB_PATH = TEST_DIR + "/realtime.sqlite3"
+ TMP_DB_PATH = "/tmp/realtime.sqlite3"
+ shutil.copyfile(DB_PATH, TMP_DB_PATH)
+ test = SIPpTest(WORKING_DIR, TEST_DIR, SIPP_SCENARIOS)
+ reactor.run()
+ os.remove(TMP_DB_PATH)
+
+ if test.passed:
+ return 0
+
+ return 1
+
+if __name__ == "__main__":
+ sys.exit(main() or 0)
+
+
+# vim:sw=4:ts=4:expandtab:textwidth=79
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip1-failure.xml b/tests/channels/pjsip/acl_call/sipp/testsip1-failure.xml
new file mode 100644
index 0000000..4bb8104
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip1-failure.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip1.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip1 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip1 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip1. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip1 <sip:testsip1@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip1@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="403">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip1 <sip:testsip1@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip1@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip1-success.xml b/tests/channels/pjsip/acl_call/sipp/testsip1-success.xml
new file mode 100644
index 0000000..f02628a
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip1-success.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip1.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip1 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip1 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip1. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip1 <sip:testsip1@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip1@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="180" optional="true">
+ </recv>
+
+ <!-- By adding rrs="true" (Record Route Sets), the route sets -->
+ <!-- are saved and used for following messages sent. Useful to test -->
+ <!-- against stateful SIP proxies/B2BUAs. -->
+ <recv response="200" rtd="true">
+ </recv>
+
+ <!-- Packet lost can be simulated in any send/recv message by -->
+ <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip1 <sip:testsip1@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip1@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- This delay can be customized by the -d command-line option -->
+ <!-- or by adding a 'milliseconds = "value"' option here. -->
+ <pause/>
+
+ <!-- The 'crlf' option inserts a blank line in the statistics report. -->
+ <send retrans="500">
+ <![CDATA[
+
+ BYE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip1 <sip:testsip1@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 BYE
+ Contact: sip:testsip1@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <recv response="200" crlf="true">
+ </recv>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip2-failure.xml b/tests/channels/pjsip/acl_call/sipp/testsip2-failure.xml
new file mode 100644
index 0000000..f10dfd2
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip2-failure.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip2.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip2 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip2 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip2. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip2 <sip:testsip2@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip2@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="403">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip2 <sip:testsip2@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip2@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip2-success.xml b/tests/channels/pjsip/acl_call/sipp/testsip2-success.xml
new file mode 100644
index 0000000..4dd8820
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip2-success.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip2.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip2 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip2 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip2. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip2 <sip:testsip2@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip2@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="180" optional="true">
+ </recv>
+
+ <!-- By adding rrs="true" (Record Route Sets), the route sets -->
+ <!-- are saved and used for following messages sent. Useful to test -->
+ <!-- against stateful SIP proxies/B2BUAs. -->
+ <recv response="200" rtd="true">
+ </recv>
+
+ <!-- Packet lost can be simulated in any send/recv message by -->
+ <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip2 <sip:testsip2@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip2@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- This delay can be customized by the -d command-line option -->
+ <!-- or by adding a 'milliseconds = "value"' option here. -->
+ <pause/>
+
+ <!-- The 'crlf' option inserts a blank line in the statistics report. -->
+ <send retrans="500">
+ <![CDATA[
+
+ BYE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip2 <sip:testsip2@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 BYE
+ Contact: sip:testsip2@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <recv response="200" crlf="true">
+ </recv>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip3-failure.xml b/tests/channels/pjsip/acl_call/sipp/testsip3-failure.xml
new file mode 100644
index 0000000..f3541dc
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip3-failure.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip3.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip3 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip3 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip3. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip3 <sip:testsip3@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip3@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="403">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip3 <sip:testsip3@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip3@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip3-success.xml b/tests/channels/pjsip/acl_call/sipp/testsip3-success.xml
new file mode 100644
index 0000000..bca8345
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip3-success.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip3.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip3 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip3 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip3. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip3 <sip:testsip3@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip3@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="180" optional="true">
+ </recv>
+
+ <!-- By adding rrs="true" (Record Route Sets), the route sets -->
+ <!-- are saved and used for following messages sent. Useful to test -->
+ <!-- against stateful SIP proxies/B2BUAs. -->
+ <recv response="200" rtd="true">
+ </recv>
+
+ <!-- Packet lost can be simulated in any send/recv message by -->
+ <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip3 <sip:testsip3@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip3@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- This delay can be customized by the -d command-line option -->
+ <!-- or by adding a 'milliseconds = "value"' option here. -->
+ <pause/>
+
+ <!-- The 'crlf' option inserts a blank line in the statistics report. -->
+ <send retrans="500">
+ <![CDATA[
+
+ BYE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip3 <sip:testsip3@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 BYE
+ Contact: sip:testsip3@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <recv response="200" crlf="true">
+ </recv>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip4-failure.xml b/tests/channels/pjsip/acl_call/sipp/testsip4-failure.xml
new file mode 100644
index 0000000..3efa4f7
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip4-failure.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip4.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip4 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip4 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip4. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip4 <sip:testsip4@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip4@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="403">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip4 <sip:testsip4@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip4@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip5-failure.xml b/tests/channels/pjsip/acl_call/sipp/testsip5-failure.xml
new file mode 100644
index 0000000..8340fc0
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip5-failure.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip5.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip5 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip5 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip5. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip5 <sip:testsip5@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip5@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="403">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip5 <sip:testsip5@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip5@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/sipp/testsip5-success.xml b/tests/channels/pjsip/acl_call/sipp/testsip5-success.xml
new file mode 100644
index 0000000..915bd31
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/sipp/testsip5-success.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "testsip5.dtd">
+
+<!-- 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 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program 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, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- Testsip5 default 'uac' scenario. -->
+<!-- -->
+
+<scenario name="Basic Sipstone UAC">
+ <!-- In client mode (testsip5 placing calls), the Call-ID MUST be -->
+ <!-- generated by testsip5. To do so, use [call_id] keyword. -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip5 <sip:testsip5@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: sip:testsip5@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ 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 0
+ a=rtpmap:0 PCMU/8000
+
+ ]]>
+ </send>
+
+ <recv response="100"
+ optional="true">
+ </recv>
+
+ <recv response="180" optional="true">
+ </recv>
+
+ <!-- By adding rrs="true" (Record Route Sets), the route sets -->
+ <!-- are saved and used for following messages sent. Useful to test -->
+ <!-- against stateful SIP proxies/B2BUAs. -->
+ <recv response="200" rtd="true">
+ </recv>
+
+ <!-- Packet lost can be simulated in any send/recv message by -->
+ <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
+ <send>
+ <![CDATA[
+
+ ACK sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip5 <sip:testsip5@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: sip:testsip5@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <!-- This delay can be customized by the -d command-line option -->
+ <!-- or by adding a 'milliseconds = "value"' option here. -->
+ <pause/>
+
+ <!-- The 'crlf' option inserts a blank line in the statistics report. -->
+ <send retrans="500">
+ <![CDATA[
+
+ BYE sip:s@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: testsip5 <sip:testsip5@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:s@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 BYE
+ Contact: sip:testsip5@[local_ip]:[local_port]
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Length: 0
+
+ ]]>
+ </send>
+
+ <recv response="200" crlf="true">
+ </recv>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/channels/pjsip/acl_call/test-config.yaml b/tests/channels/pjsip/acl_call/test-config.yaml
new file mode 100644
index 0000000..265a3a8
--- /dev/null
+++ b/tests/channels/pjsip/acl_call/test-config.yaml
@@ -0,0 +1,18 @@
+testinfo:
+ summary: 'Test res_pjsip usage of endpoint ACLs'
+ description: |
+ This tests SIP calls originating from different addresses against
+ PJSIP endpoints with varying means of specifying Access Control Lists.
+ This test is used to verify proper behavior of ACL and Named ACL
+ usage by the res_pjsip.
+
+properties:
+ minversion: '13.10.0'
+ dependencies:
+ - python : 'twisted'
+ - python : 'starpy'
+ - app : 'sipp'
+ - asterisk : 'res_pjsip'
+ tags:
+ - pjsip
+ - ACL
diff --git a/tests/channels/pjsip/tests.yaml b/tests/channels/pjsip/tests.yaml
index b44fafb..050c204 100644
--- a/tests/channels/pjsip/tests.yaml
+++ b/tests/channels/pjsip/tests.yaml
@@ -22,6 +22,7 @@
- dir: 'transfers'
- dir: 'video_calls'
- test: 'accountcode'
+ - test: 'acl_call'
- test: 'auth_security_events'
- test: 'call_pickup'
- test: 'dtmf_incompatible'
--
To view, visit https://gerrit.asterisk.org/2818
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie95e035a960c497b8497021205401b1df589eae9
Gerrit-PatchSet: 1
Gerrit-Project: testsuite
Gerrit-Branch: master
Gerrit-Owner: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>
More information about the asterisk-code-review
mailing list