<p>George Joseph <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/8488">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Corey Farrell: Looks good to me, but someone else must approve
Joshua Colp: Looks good to me, but someone else must approve
George Joseph: Looks good to me, approved; Approved for Submit
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">testsuite branching: Remove non eligible tests from the 14 branch<br><br>This patch removes any tests that do not belong in the 14 branch. Essentially,<br>those tests with a minversion >= 15.0.0, or tests with a maxversion < 14.7.6<br>(where 14.7.6 is the Asterisk version cutoff at the time of branching).<br><br>Change-Id: I975f02422c8b4fe70d270be862e2d76d6d95ff31<br>---<br>M tests/apps/tests.yaml<br>D tests/apps/waitdigit/configs/ast1/extensions.conf<br>D tests/apps/waitdigit/test-config.yaml<br>D tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/extensions.conf<br>D tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/sip.conf<br>D tests/channels/SIP/ami/sip_notify/call_id/sipp/callee.xml<br>D tests/channels/SIP/ami/sip_notify/call_id/sipp/caller.xml<br>D tests/channels/SIP/ami/sip_notify/call_id/test-config.yaml<br>M tests/channels/SIP/ami/sip_notify/tests.yaml<br>D tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/extensions.conf<br>D tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/sipp/playback_with_initial_sdp.xml<br>D tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/test-config.yaml<br>M tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/tests.yaml<br>D tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/extensions.conf<br>D tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/dialplan_functions/pjsip_channel2/sipp/incoming.xml<br>D tests/channels/pjsip/dialplan_functions/pjsip_channel2/test-config.yaml<br>M tests/channels/pjsip/dialplan_functions/tests.yaml<br>D tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/extensions.conf<br>D tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/identify/header_ordering_header_ip/sipp/nominal.xml<br>D tests/channels/pjsip/identify/header_ordering_header_ip/test-config.yaml<br>D tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/extensions.conf<br>D tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/identify/header_ordering_ip_header/sipp/nominal.xml<br>D tests/channels/pjsip/identify/header_ordering_ip_header/test-config.yaml<br>M tests/channels/pjsip/identify/tests.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/sipp/uac-multiple-video-with-audio.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/sipp/uac-multiple-audio-with-video.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/sipp/uac-multiple-video-with-audio.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml<br>M tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/tests.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/sipp/uac-multiple-audio.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/sipp/uac-multiple-audio.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/sipp/uac-multiple-audio.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/test-config.yaml<br>M tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/tests.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/sipp/uac-multiple-video.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/sipp/uac-multiple-video.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/test-config.yaml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/extensions.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/sipp/uac-multiple-video.xml<br>D tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/test-config.yaml<br>M tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/tests.yaml<br>D tests/channels/pjsip/subscriptions/large_number_of_accept_headers/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/subscriptions/large_number_of_accept_headers/sipp/subscribe.xml<br>D tests/channels/pjsip/subscriptions/large_number_of_accept_headers/test-config.yaml<br>M tests/channels/pjsip/subscriptions/presence/tests.yaml<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/presence.py<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/tests.yaml<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/extensions.conf<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/sipp/subscribe.xml<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/test-config.yaml<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/extensions.conf<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/pjsip.conf<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/sipp/subscribe.xml<br>D tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/test-config.yaml<br>M tests/channels/pjsip/subscriptions/tests.yaml<br>83 files changed, 0 insertions(+), 4,068 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/tests/apps/tests.yaml b/tests/apps/tests.yaml<br>index 5c79751..3b94a91 100644<br>--- a/tests/apps/tests.yaml<br>+++ b/tests/apps/tests.yaml<br>@@ -23,4 +23,3 @@<br> - dir: 'disa'<br> - dir: 'authenticate'<br> - dir: 'statsd'<br>- - test: 'waitdigit'<br>diff --git a/tests/apps/waitdigit/configs/ast1/extensions.conf b/tests/apps/waitdigit/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 1ddf420..0000000<br>--- a/tests/apps/waitdigit/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-[default]<br>-<br>-exten => test,1,NoOp()<br>-same => n,Answer()<br>-<br>-same => n,WaitDigit(5000ms,123)<br>-same => n,Noop(${WAITDIGITSTATUS}${WAITDIGITRESULT})<br>-same => n,ExecIf($[${WAITDIGITSTATUS}${WAITDIGITRESULT}=DTMF2]?UserEvent(Test1,result:pass))<br>-<br>-same => n,WaitDigit(invalid,123)<br>-same => n,ExecIf($[${WAITDIGITSTATUS}=ERROR]?UserEvent(Test2,result:pass))<br>-<br>-same => n,WaitDigit(100ms,123)<br>-same => n,ExecIf($[${WAITDIGITSTATUS}=TIMEOUT]?UserEvent(Test3,result:pass))<br>-<br>-same => n,WaitDigit(5s,123)<br>-exten => h,1,ExecIf($[${WAITDIGITSTATUS}=CANCEL]?UserEvent(Test4,result:pass))<br>-<br>-<br>-[caller]<br>-exten => test,1,NoOp()<br>-same => n,Answer()<br>-same => n,Wait(0.5)<br>-; 5 is not among the accepted digits so it will be ignored.<br>-same => n,SendDTMF(5)<br>-same => n,SendDTMF(2)<br>-same => n,Wait(0.5)<br>-same => n,Hangup()<br>diff --git a/tests/apps/waitdigit/test-config.yaml b/tests/apps/waitdigit/test-config.yaml<br>deleted file mode 100644<br>index 160c8b4..0000000<br>--- a/tests/apps/waitdigit/test-config.yaml<br>+++ /dev/null<br>@@ -1,42 +0,0 @@<br>-testinfo:<br>- summary: 'Test WaitDigit'<br>- description: |<br>- 'Basic testing of WaitDigit.'<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'test_case.SimpleTestCase'<br>- modules:<br>- -<br>- config-section: ami-config<br>- typename: 'ami.AMIEventModule'<br>-<br>-test-object-config:<br>- spawn-after-hangup: True<br>- expected_events: 4<br>- test-iterations:<br>- -<br>- channel: 'Local/test@default'<br>- context: 'caller'<br>- exten: 'test'<br>- priority: 1<br>-<br>-ami-config:<br>- -<br>- type: 'headermatch'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- requirements:<br>- match:<br>- Result: 'pass'<br>- count: '4'<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - python : 'twisted'<br>- - python : 'starpy'<br>- - asterisk : 'app_userevent'<br>- - asterisk : 'app_senddtmf'<br>diff --git a/tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/extensions.conf b/tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 106b4ff..0000000<br>--- a/tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,3 +0,0 @@<br>-[default]<br>-exten => callee,1,Dial(SIP/callee)<br>-<br>diff --git a/tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/sip.conf b/tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/sip.conf<br>deleted file mode 100644<br>index d782b39..0000000<br>--- a/tests/channels/SIP/ami/sip_notify/call_id/configs/ast1/sip.conf<br>+++ /dev/null<br>@@ -1,21 +0,0 @@<br>-[general]<br>-udpbindaddr=0.0.0.0:5060<br>-<br>-[caller]<br>-type=friend<br>-host=127.0.0.1<br>-port=5062<br>-directmedia=no<br>-disallow=all<br>-allow=ulaw<br>-context=default<br>-<br>-[callee]<br>-type=friend<br>-host=127.0.0.1<br>-port=5063<br>-directmedia=no<br>-disallow=all<br>-allow=ulaw<br>-context=default<br>-<br>diff --git a/tests/channels/SIP/ami/sip_notify/call_id/sipp/callee.xml b/tests/channels/SIP/ami/sip_notify/call_id/sipp/callee.xml<br>deleted file mode 100644<br>index 4e61799..0000000<br>--- a/tests/channels/SIP/ami/sip_notify/call_id/sipp/callee.xml<br>+++ /dev/null<br>@@ -1,103 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Notify Request with Call-ID"><br>-<br>- <recv request="INVITE"><br>- <action><br>- <ereg regexp=": .*"<br>- search_in="hdr"<br>- header="Call-ID"<br>- check_it="true"<br>- assign_to="1"/><br>- <ereg regexp=": .*"<br>- search_in="hdr"<br>- header="CSeq"<br>- check_it="true"<br>- assign_to="2"/><br>- <log message="Received INVITE with Call-ID [$1] and CSeq [$2]." /><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 180 Ringing<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[pid]SIPpTag[call_number]<br>- Call-ID: [call_id]<br>- [last_CSeq:]<br>- Contact: <sip:user1@[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY"><br>- <action><br>- <ereg regexp=": .*$"<br>- search_in="hdr"<br>- header="Call-ID"<br>- check_it="true"<br>- assign_to="3"/><br>- <log message="Received NOTIFY with Call-ID [$3]." /><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[pid]SIPpTag[call_number]<br>- Call-ID: [call_id]<br>- [last_CSeq:]<br>- Contact: <sip:user1@[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[pid]SIPpTag[call_number]<br>- Call-ID: [call_id]<br>- CSeq[$2]<br>- Contact: <sip:user1@[local_ip]:[local_port];transport=[transport]><br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user2 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[local_ip_type] [local_ip]<br>- t=0 0<br>- m=audio 9000 RTP/AVP 8<br>- a=rtpmap:8 PCMU/8000<br>- ]]><br>- </send><br>-<br>- <recv request="ACK"><br>- </recv><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[pid]SIPpTag[call_number]<br>- Call-ID: [call_id]<br>- [last_CSeq:]<br>- Contact: <sip:user1@[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>- ]]><br>- </send><br>-</scenario><br>diff --git a/tests/channels/SIP/ami/sip_notify/call_id/sipp/caller.xml b/tests/channels/SIP/ami/sip_notify/call_id/sipp/caller.xml<br>deleted file mode 100644<br>index 1ffa500..0000000<br>--- a/tests/channels/SIP/ami/sip_notify/call_id/sipp/caller.xml<br>+++ /dev/null<br>@@ -1,72 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Notify Request with Call-ID"><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>- INVITE sip:callee@voxbone.com SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: caller <sip:caller@voxbone.com>;tag=[call_number]<br>- To: callee <sip:callee@voxbone.com:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:sipp@[local_ip]:[local_port]<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[local_ip_type] [local_ip]<br>- t=0 0<br>- m=audio 9000 RTP/AVP 8<br>- a=rtpmap:8 PCMU/8000<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="200"><br>- <action><br>- <ereg regexp=";tag=.*"<br>- search_in="hdr"<br>- header="To:"<br>- check_it="true"<br>- assign_to="1"/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- ACK sip:callee@voxbone.com SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: caller <sip:caller@voxbone.com>;tag=[call_number]<br>- To: callee <sip:callee@voxbone.com:[remote_port]>[$1]<br>- Call-ID: [call_id]<br>- CSeq: 2 ACK<br>- Contact: sip:sipp@[local_ip]:[local_port]<br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <send><br>- <![CDATA[<br>- BYE sip:callee@voxbone.com SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: caller <sip:caller@voxbone.com>;tag=[call_number]<br>- To: callee <sip:callee@voxbone.com:[remote_port]>[$1]<br>- Call-ID: [call_id]<br>- CSeq: 3 BYE<br>- Contact: sip:sipp@[local_ip]:[local_port]<br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <recv response="487"> <!-- no RTP --><br>- </recv><br>-</scenario><br>diff --git a/tests/channels/SIP/ami/sip_notify/call_id/test-config.yaml b/tests/channels/SIP/ami/sip_notify/call_id/test-config.yaml<br>deleted file mode 100644<br>index 4ed7627..0000000<br>--- a/tests/channels/SIP/ami/sip_notify/call_id/test-config.yaml<br>+++ /dev/null<br>@@ -1,48 +0,0 @@<br>-info:<br>- summary: 'Test SIPNotify AMI Action for Call-ID'<br>- description: |<br>- This Tests the AMI Action SIPNotify in order to make sure<br>- that Call-ID header can be specified.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: sipp.SIPpTestCase<br>- modules:<br>- -<br>- config-section: ami-config<br>- typename: 'pluggable_modules.EventActionModule'<br>-<br>-test-object-config:<br>- fail-on-any: True<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': { 'scenario': 'caller.xml', '-i': '127.0.0.1', '-p': '5062', '-trace_msg': '-pause_msg_ign' } }<br>- - { 'key-args': { 'scenario': 'callee.xml', '-i': '127.0.0.1', '-p': '5063', '-trace_msg': '-pause_msg_ign' } }<br>-<br>-ami-config:<br>- -<br>- ami-events:<br>- type: 'headermatch'<br>- conditions:<br>- match:<br>- Event: 'VarSet'<br>- Channel: 'SIP/callee-.*'<br>- Variable: 'SIPCALLID'<br>- ami-actions:<br>- action:<br>- Action: 'SIPnotify'<br>- Channel: '{channel}'<br>- Variable: 'Event=talk'<br>- Call-ID: '{value}'<br>-<br>-properties:<br>- minversion: [ '13.20.0', '15.3.0' ]<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'chan_sip'<br>- tags:<br>- - SIP<br>-<br>diff --git a/tests/channels/SIP/ami/sip_notify/tests.yaml b/tests/channels/SIP/ami/sip_notify/tests.yaml<br>index 750f6d6..b1a3008 100644<br>--- a/tests/channels/SIP/ami/sip_notify/tests.yaml<br>+++ b/tests/channels/SIP/ami/sip_notify/tests.yaml<br>@@ -2,4 +2,3 @@<br> tests:<br> - test: 'custom_headers'<br> - test: 'content'<br>- - test: 'call_id'<br>diff --git a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/extensions.conf b/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index a52330b..0000000<br>--- a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,4 +0,0 @@<br>-[default]<br>-exten => playback,1,Answer()<br>-same => n,Playback(hello-world)<br>-same => n,Hangup()<br>diff --git a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/pjsip.conf b/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index e41c733..0000000<br>--- a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,51 +0,0 @@<br>-[global]<br>-type=global<br>-endpoint_identifier_order=username,ip<br>-<br>-[local-transport-template](!)<br>-type=transport<br>-bind=127.0.0.1<br>-<br>-[local-transport6-template](!)<br>-type=transport<br>-bind=[::1]<br>-<br>-[local-transport-udp](local-transport-template)<br>-protocol=udp<br>-<br>-[local-transport-udp6](local-transport6-template)<br>-protocol=udp<br>-<br>-[endpoint-template-ipv4](!)<br>-type=endpoint<br>-context=default<br>-allow=!all,ulaw,alaw<br>-media_address=127.0.0.1<br>-identify_by=ip<br>-<br>-[endpoint-template-ipv6](!)<br>-type=endpoint<br>-context=default<br>-allow=!all,ulaw,alaw<br>-media_address=[::1]<br>-rtp_ipv6=yes<br>-identify_by=ip<br>-<br>-[alice-ipv4-udp](endpoint-template-ipv4)<br>-<br>-[alice-ipv6-udp](endpoint-template-ipv6)<br>-<br>-[unknown](endpoint-template-ipv4)<br>-context=does-not-exist<br>-<br>-[identify-template](!)<br>-type=identify<br>-<br>-[alice-identify-ipv4](identify-template)<br>-endpoint=alice-ipv4-udp<br>-match=127.0.0.1<br>-<br>-[alice-identify-ipv6](identify-template)<br>-endpoint=alice-ipv6-udp<br>-match=[::1]<br>-<br>diff --git a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/sipp/playback_with_initial_sdp.xml b/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/sipp/playback_with_initial_sdp.xml<br>deleted file mode 100644<br>index ea7d68a..0000000<br>--- a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/sipp/playback_with_initial_sdp.xml<br>+++ /dev/null<br>@@ -1,81 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="INVITE to playback with SDP in initial INVITE"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:playback@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: test1 <sip:unknown@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: <sip:test@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- User-Agent: Test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=phoneA 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 0<br>- a=rtpmap:0 PCMU/8000<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100"<br>- optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:playback@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: test1 <sip:unknown@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: <sip:test@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <!-- definition of the response time repartition table (unit is ms) --><br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <!-- definition of the call length repartition table (unit is ms) --><br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/test-config.yaml b/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/test-config.yaml<br>deleted file mode 100644<br>index a7061f1..0000000<br>--- a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/ident_by_host_only/test-config.yaml<br>+++ /dev/null<br>@@ -1,34 +0,0 @@<br>-testinfo:<br>- summary: 'Tests incoming calls without authentication matching only on IP address'<br>- description: |<br>- 'Run a SIPp scenario that sends various calls to res_pjsip, which should be matched only on IP address'<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- reactor-timeout: 80<br>- fail-on-any: False<br>- test-iterations:<br>- # IPv4 & UDP<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'playback_with_initial_sdp.xml', '-i': '127.0.0.1', '-p': '5061'} }<br>- # IPv6 & UDP<br>- -<br>- scenarios:<br>- - { 'target': '[::1]', 'key-args': {'scenario': 'playback_with_initial_sdp.xml', '-i': '[::1]', '-p': '5061'} }<br>-<br>-properties:<br>- minversion: [ '13.19.0', '15.2.0' ]<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- - asterisk : 'res_pjsip_session'<br>- - asterisk : 'chan_pjsip'<br>- - asterisk : 'res_pjsip_endpoint_identifier_ip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/tests.yaml b/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/tests.yaml<br>index 68e17f6..ed1244b 100644<br>--- a/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/tests.yaml<br>+++ b/tests/channels/pjsip/basic_calls/incoming/nominal/unauthed/tests.yaml<br>@@ -1,6 +1,5 @@<br> tests:<br> - test: 'ident_by_host'<br>- - test: 'ident_by_host_only'<br> - test: 'ident_by_user'<br> - test: 'ident_by_user_drop_options'<br> - test: 'ident_by_header'<br>diff --git a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/extensions.conf b/tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 9a96461..0000000<br>--- a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-[globals]<br>-ruri_user = 1234<br>-ruri_full = sip:${ruri_user}@127.0.0.1:5060\;transport=UDP\;lr<br>-<br>-[default]<br>-exten = _XXXX,1,NoOp()<br>-same = n,NoOp(EXTEN is "${EXTEN}")<br>-same = n,NoOp(CALLERID(dnid) is "${CALLERID(dnid)}")<br>-same = n,NoOp(CHANNEL(pjsip,request_uri) is "${CHANNEL(pjsip,request_uri)}")<br>-<br>-same = n,Answer()<br>-<br>-same = n(exten),NoOp()<br>-same = n,GotoIf($["${ruri_user}"="${EXTEN}"]?dnid)<br>-same = n,UserEvent(Failure,Result:EXTEN is "${EXTEN}" expected "${ruri_user}")<br>-<br>-same = n(dnid),NoOp()<br>-same = n,GotoIf($["${ruri_user}"="${CALLERID(dnid)}"]?ruri)<br>-same = n,UserEvent(Failure,Result:CALLERID(dnid) is "${CALLERID(dnid)}" expected "${ruri_user}")<br>-<br>-same = n(ruri),NoOp()<br>-same = n,GotoIf($["${ruri_full}"="${CHANNEL(pjsip,request_uri)}"]?done)<br>-same = n,UserEvent(Failure,Result:CHANNEL(pjsip,request_uri) is "${CHANNEL(pjsip,request_uri)}" expected "${ruri_full}")<br>-<br>-same = n(done),NoOp()<br>-same = n,UserEvent(Done)<br>-same = n,Hangup()<br>-<br>diff --git a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/pjsip.conf b/tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 30b28ed..0000000<br>--- a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,9 +0,0 @@<br>-[transport-udp]<br>-type = transport<br>-protocol = udp<br>-bind = 0.0.0.0<br>-<br>-[alice]<br>-type = endpoint<br>-context = default<br>-allow = !all,ulaw<br>diff --git a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/sipp/incoming.xml b/tests/channels/pjsip/dialplan_functions/pjsip_channel2/sipp/incoming.xml<br>deleted file mode 100644<br>index 671741f..0000000<br>--- a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/sipp/incoming.xml<br>+++ /dev/null<br>@@ -1,80 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="INVITE with different Request-URI and To URI's"><br>- <send retrans="500"><br>- <![CDATA[<br>- INVITE sip:1234@[remote_ip]:[remote_port];transport=[transport];lr SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: [service] <sip:[service]@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:4321@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: <sip:[service]@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- User-Agent: Test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=phoneA 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 0<br>- a=rtpmap:0 PCMU/8000<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- ACK sip:1234@[remote_ip]:[remote_port];transport=[transport];lr SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: [service] <sip:[service]@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:4321@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: <sip:[service]@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[service]@[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <!-- definition of the response time repartition table (unit is ms) --><br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <!-- definition of the call length repartition table (unit is ms) --><br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/test-config.yaml b/tests/channels/pjsip/dialplan_functions/pjsip_channel2/test-config.yaml<br>deleted file mode 100644<br>index bc1a537..0000000<br>--- a/tests/channels/pjsip/dialplan_functions/pjsip_channel2/test-config.yaml<br>+++ /dev/null<br>@@ -1,62 +0,0 @@<br>-testinfo:<br>- summary: 'Test PJSIP channel for CALLERID(dnid) and CHANNEL(pjsip,request_uri)'<br>- description: |<br>- 'Run a SIPp scenario that places a call from endpoint alice to check<br>- that the CALLERID(dnid) and CHANNEL(pjsip,request_uri) are set to<br>- expected values.'<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>- modules:<br>- -<br>- config-section: ami-config<br>- typename: 'ami.AMIEventModule'<br>-<br>-test-object-config:<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'incoming.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-ami-config:<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'Newchannel'<br>- Channel: 'PJSIP/alice-.*'<br>- count: '1'<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- Channel: 'PJSIP/alice-.*'<br>- UserEvent: 'Failure'<br>- count: '0'<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- Channel: 'PJSIP/alice-.*'<br>- UserEvent: 'Done'<br>- count: '1'<br>-<br>-properties:<br>- minversion: ['13.19.0', '15.2.0']<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'app_dial'<br>- - asterisk : 'app_userevent'<br>- - asterisk : 'func_callerid'<br>- - asterisk : 'func_channel'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/dialplan_functions/tests.yaml b/tests/channels/pjsip/dialplan_functions/tests.yaml<br>index a2e26a0..0fa231a 100644<br>--- a/tests/channels/pjsip/dialplan_functions/tests.yaml<br>+++ b/tests/channels/pjsip/dialplan_functions/tests.yaml<br>@@ -3,7 +3,6 @@<br> - test: 'chan_is_avail'<br> - test: 'pjsip_aor'<br> - test: 'pjsip_channel'<br>- - test: 'pjsip_channel2'<br> - test: 'pjsip_contact'<br> - test: 'pjsip_dtmfmode'<br> - test: 'pjsip_endpoint'<br>diff --git a/tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/extensions.conf b/tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index bed05dd..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,14 +0,0 @@<br>-[default]<br>-<br>-[header]<br>-exten = echo,1,NoOp()<br>-same = n,Answer()<br>-same = n,UserEvent(Header)<br>-same = n,Hangup()<br>-<br>-[ip]<br>-exten = echo,1,NoOp()<br>-same = n,Answer()<br>-same = n,UserEvent(Ip)<br>-same = n,Hangup()<br>-<br>diff --git a/tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/pjsip.conf b/tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 2c4dfae..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_header_ip/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,39 +0,0 @@<br>-[global]<br>-type=global<br>-endpoint_identifier_order=header,ip<br>-debug=yes<br>-<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-template](!)<br>-type=transport<br>-bind=127.0.0.1<br>-<br>-[local-transport-udp](local-transport-template)<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-allow=!all,ulaw,alaw<br>-<br>-[alice-header](endpoint-template)<br>-identify_by=header<br>-context=header<br>-<br>-[alice-ip](endpoint-template)<br>-identify_by=ip<br>-context=ip<br>-<br>-[identify-template](!)<br>-type=identify<br>-<br>-[alice-header-identify](identify-template)<br>-endpoint=alice-header<br>-match_header=X-ASTERISK-TOKEN: e7657250-07fa-11e7-92f8-1b946c0c7e84<br>-<br>-[alice-ip-identify](identify-template)<br>-endpoint=alice-ip<br>-match=127.0.0.1<br>diff --git a/tests/channels/pjsip/identify/header_ordering_header_ip/sipp/nominal.xml b/tests/channels/pjsip/identify/header_ordering_header_ip/sipp/nominal.xml<br>deleted file mode 100644<br>index e42011f..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_header_ip/sipp/nominal.xml<br>+++ /dev/null<br>@@ -1,68 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="INVITE to echo with SDP in initial INVITE"><br>- <send retrans="500"><br>- <![CDATA[<br>- INVITE sip:echo@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: test1 <sip:[service]@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: <sip:test@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- X-ASTERISK-TOKEN: [ident_key]<br>- User-Agent: Test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=phoneA 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 0<br>- a=rtpmap:0 PCMU/8000<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- ACK sip:echo@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: test1 <sip:[service]@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: <sip:test@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- X-ASTERISK-TOKEN: [ident_key]<br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Content-Length: 0<br>- ]]><br>- </send><br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/identify/header_ordering_header_ip/test-config.yaml b/tests/channels/pjsip/identify/header_ordering_header_ip/test-config.yaml<br>deleted file mode 100644<br>index 0c91298..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_header_ip/test-config.yaml<br>+++ /dev/null<br>@@ -1,56 +0,0 @@<br>-testinfo:<br>- summary: 'Tests incoming calls identified by header and source IP'<br>- description: |<br>- This test covers sending calls to an Asterisk instance<br>- identifiable by a custom header and by a source IP address.<br>- It is expected that the requests are accepted by the correct<br>- endpoint determined by endpoint_identifier_order.<br>- This test expects the call to be accepted by the header identifier.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>- modules:<br>- -<br>- config-section: ami-config<br>- typename: 'ami.AMIEventModule'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: True<br>- test-iterations:<br>- # IPv4 & UDP<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'nominal.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 's'},<br>- 'ordered-args': ['-key', 'ident_key', 'e7657250-07fa-11e7-92f8-1b946c0c7e84'] }<br>-<br>-ami-config:<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- UserEvent: 'Header'<br>- count: '1'<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- UserEvent: 'Ip'<br>- count: '0'<br>-<br>-properties:<br>- minversion: ['13.20.0', '15.3.0']<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'app_userevent'<br>- - asterisk : 'res_pjsip'<br>- - asterisk : 'res_pjsip_endpoint_identifier_ip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/extensions.conf b/tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index bed05dd..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,14 +0,0 @@<br>-[default]<br>-<br>-[header]<br>-exten = echo,1,NoOp()<br>-same = n,Answer()<br>-same = n,UserEvent(Header)<br>-same = n,Hangup()<br>-<br>-[ip]<br>-exten = echo,1,NoOp()<br>-same = n,Answer()<br>-same = n,UserEvent(Ip)<br>-same = n,Hangup()<br>-<br>diff --git a/tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/pjsip.conf b/tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 3ae78ac..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_ip_header/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,39 +0,0 @@<br>-[global]<br>-type=global<br>-endpoint_identifier_order=ip,header<br>-debug=yes<br>-<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-template](!)<br>-type=transport<br>-bind=127.0.0.1<br>-<br>-[local-transport-udp](local-transport-template)<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-allow=!all,ulaw,alaw<br>-<br>-[alice-header](endpoint-template)<br>-identify_by=header<br>-context=header<br>-<br>-[alice-ip](endpoint-template)<br>-identify_by=ip<br>-context=ip<br>-<br>-[identify-template](!)<br>-type=identify<br>-<br>-[alice-header-identify](identify-template)<br>-endpoint=alice-header<br>-match_header=X-ASTERISK-TOKEN: e7657250-07fa-11e7-92f8-1b946c0c7e84<br>-<br>-[alice-ip-identify](identify-template)<br>-endpoint=alice-ip<br>-match=127.0.0.1<br>diff --git a/tests/channels/pjsip/identify/header_ordering_ip_header/sipp/nominal.xml b/tests/channels/pjsip/identify/header_ordering_ip_header/sipp/nominal.xml<br>deleted file mode 100644<br>index e42011f..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_ip_header/sipp/nominal.xml<br>+++ /dev/null<br>@@ -1,68 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="INVITE to echo with SDP in initial INVITE"><br>- <send retrans="500"><br>- <![CDATA[<br>- INVITE sip:echo@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: test1 <sip:[service]@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: <sip:test@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- X-ASTERISK-TOKEN: [ident_key]<br>- User-Agent: Test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=phoneA 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 0<br>- a=rtpmap:0 PCMU/8000<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- ACK sip:echo@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: test1 <sip:[service]@[local_ip]:[local_port]>;tag=[call_number]<br>- To: test <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: <sip:test@[local_ip]:[local_port];transport=[transport]><br>- Max-Forwards: 70<br>- Subject: Test<br>- X-ASTERISK-TOKEN: [ident_key]<br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Content-Length: 0<br>- ]]><br>- </send><br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/identify/header_ordering_ip_header/test-config.yaml b/tests/channels/pjsip/identify/header_ordering_ip_header/test-config.yaml<br>deleted file mode 100644<br>index 0dc4167..0000000<br>--- a/tests/channels/pjsip/identify/header_ordering_ip_header/test-config.yaml<br>+++ /dev/null<br>@@ -1,56 +0,0 @@<br>-testinfo:<br>- summary: 'Tests incoming calls identified by header and source IP'<br>- description: |<br>- This test covers sending calls to an Asterisk instance<br>- identifiable by a custom header and by a source IP address.<br>- It is expected that the requests are accepted by the correct<br>- endpoint determined by endpoint_identifier_order.<br>- This test expects the call to be accepted by the ip identifier.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>- modules:<br>- -<br>- config-section: ami-config<br>- typename: 'ami.AMIEventModule'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: True<br>- test-iterations:<br>- # IPv4 & UDP<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'nominal.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 's'},<br>- 'ordered-args': ['-key', 'ident_key', 'e7657250-07fa-11e7-92f8-1b946c0c7e84'] }<br>-<br>-ami-config:<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- UserEvent: 'Header'<br>- count: '0'<br>- -<br>- type: 'headermatch'<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'UserEvent'<br>- UserEvent: 'Ip'<br>- count: '1'<br>-<br>-properties:<br>- minversion: ['13.20.0', '15.3.0']<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'app_userevent'<br>- - asterisk : 'res_pjsip'<br>- - asterisk : 'res_pjsip_endpoint_identifier_ip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/identify/tests.yaml b/tests/channels/pjsip/identify/tests.yaml<br>index 60215c3..43969c1 100644<br>--- a/tests/channels/pjsip/identify/tests.yaml<br>+++ b/tests/channels/pjsip/identify/tests.yaml<br>@@ -2,6 +2,4 @@<br> tests:<br> - test: 'header'<br> - test: 'header_or_ip'<br>- - test: 'header_ordering_header_ip'<br>- - test: 'header_ordering_ip_header'<br> - test: 'ordering'<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 6955acb..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,5 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index a76b8bd..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,19 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_video_streams=10<br>-bundle=yes<br>-<br>-[alice](endpoint-template)<br>-allow=!all,g722,ulaw,alaw,h264,h263<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/sipp/uac-multiple-video-with-audio.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/sipp/uac-multiple-video-with-audio.xml<br>deleted file mode 100644<br>index cd6d2e7..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/sipp/uac-multiple-video-with-audio.xml<br>+++ /dev/null<br>@@ -1,122 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec Test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- a=group:BUNDLE audio video<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- a=ptime:20<br>- a=maxptime:20<br>- a=sendrecv<br>- a=mid:audio<br>- a=rtcp-mux<br>- a=ssrc:1 cname:alice<br>- m=video 6001 RTP/AVP 99 34<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- a=mid:video<br>- a=rtcp-mux<br>- a=ssrc:2 cname:bob<br>- m=video 6002 RTP/AVP 99<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=sendrecv<br>- a=mid:video<br>- a=rtcp-mux<br>- a=ssrc:3 cname:charlie<br>- m=video 6003 RTP/AVP 34<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- a=mid:video<br>- a=rtcp-mux<br>- a=ssrc:4 cname:david<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="a=group:BUNDLE audio video"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="a=mid:audio"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="a=mid:video"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec Test<br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>- ]]><br>- </send><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml<br>deleted file mode 100644<br>index 51cf1e5..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-testinfo:<br>- summary: 'Test offers with multiple video streams/one audio stream and bundled'<br>- description: |<br>- This tests inbound offers that contain multiple video<br>- media streams and a single audio stream with bundle enabled.<br>- Asterisk should accept all the streams in a single bundle group.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-video-with-audio.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 6955acb..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,5 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index a38e90e..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_audio_streams=10<br>-<br>-[alice](endpoint-template)<br>-allow=!all,g722,ulaw,alaw,h264,h263<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/sipp/uac-multiple-audio-with-video.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/sipp/uac-multiple-audio-with-video.xml<br>deleted file mode 100644<br>index 838a4e4..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/sipp/uac-multiple-audio-with-video.xml<br>+++ /dev/null<br>@@ -1,116 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- m=audio 6001 RTP/AVP 9<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:9 G722/8000<br>- m=audio 6002 RTP/AVP 9 0 8<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- m=video 6000 RTP/AVP 99 34<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="4"/><br>- <test assign_to="4" variable="4" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/test-config.yaml<br>deleted file mode 100644<br>index bd7774d..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-audio/test-config.yaml<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-testinfo:<br>- summary: 'Test offers with multiple audio streams/one video stream'<br>- description: |<br>- This tests inbound offers that contain multiple audio<br>- media streams and a single video stream. Asterisk should<br>- accept all the streams.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-audio-with-video.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 6955acb..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,5 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 6e71cca..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_video_streams=10<br>-<br>-[alice](endpoint-template)<br>-allow=!all,g722,ulaw,alaw,h264,h263<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/sipp/uac-multiple-video-with-audio.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/sipp/uac-multiple-video-with-audio.xml<br>deleted file mode 100644<br>index 3433cce..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/sipp/uac-multiple-video-with-audio.xml<br>+++ /dev/null<br>@@ -1,118 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec Test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- a=ptime:20<br>- a=maxptime:20<br>- a=sendrecv<br>- m=video 6001 RTP/AVP 99 34<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6002 RTP/AVP 99<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=sendrecv<br>- m=video 6003 RTP/AVP 34<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 34+..*"<br>- search_in="body" check_it="true" assign_to="4"/><br>- <test assign_to="4" variable="4" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/test-config.yaml<br>deleted file mode 100644<br>index 0d4b113..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/multiple-video/test-config.yaml<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-testinfo:<br>- summary: 'Test offers with multiple video streams/one audio stream'<br>- description: |<br>- This tests inbound offers that contain multiple video<br>- media streams and a single audio stream. Asterisk should<br>- accept all the streams.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-video-with-audio.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml<br>deleted file mode 100644<br>index 1a143f3..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml<br>+++ /dev/null<br>@@ -1,6 +0,0 @@<br>-# Enter tests here in the order they should be considered for execution:<br>-tests:<br>- - test: 'bundled'<br>- - test: 'multiple-audio'<br>- - test: 'multiple-video'<br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/tests.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/tests.yaml<br>index a59c1bf..01b4e88 100644<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/tests.yaml<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/tests.yaml<br>@@ -1,4 +1,3 @@<br> # Enter tests here in the order they should be considered for execution:<br> tests:<br> - dir: 'decline'<br>- - dir: 'accept'<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 6955acb..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,5 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index b12c1a5..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_audio_streams=20<br>-<br>-[alice](endpoint-template)<br>-allow=!all,g722,ulaw,alaw<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/sipp/uac-multiple-audio.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/sipp/uac-multiple-audio.xml<br>deleted file mode 100644<br>index 1703fab..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/sipp/uac-multiple-audio.xml<br>+++ /dev/null<br>@@ -1,109 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- m=audio 6001 RTP/AVP 9<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:9 G722/8000<br>- m=audio 6002 RTP/AVP 9 0 8<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/test-config.yaml<br>deleted file mode 100644<br>index 7301ede..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/accept/test-config.yaml<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-testinfo:<br>- summary: 'Test offers with multiple audio streams'<br>- description: |<br>- This tests inbound offers that contain multiple audio<br>- media streams. Asterisk should accept all of the audio<br>- streams.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-audio.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 84e6575..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,6 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,StreamEcho(3,audio)<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index b12c1a5..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_audio_streams=20<br>-<br>-[alice](endpoint-template)<br>-allow=!all,g722,ulaw,alaw<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/sipp/uac-multiple-audio.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/sipp/uac-multiple-audio.xml<br>deleted file mode 100644<br>index 2c89d1b..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/sipp/uac-multiple-audio.xml<br>+++ /dev/null<br>@@ -1,152 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="INVITE"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[call_number]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=- 1324901698 1324901698 IN IP4 [local_ip]<br>- s=-<br>- c=IN IP4 [local_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- m=audio 6000 RTP/AVP 9 0 8<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- m=audio 6000 RTP/AVP 9 0 8<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- ]]><br>- </send><br>-<br>- <recv request="ACK" rtd="true" crlf="true"><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- BYE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 2 BYE<br>- Contact: <sip:test@[local_ip]:[local_port]><br>- Max-Forwards: 70<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="200" crlf="true"><br>- </recv><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/test-config.yaml<br>deleted file mode 100644<br>index 0c677a8..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/add/test-config.yaml<br>+++ /dev/null<br>@@ -1,27 +0,0 @@<br>-testinfo:<br>- summary: 'Test adding of multiple audio streams'<br>- description: |<br>- This tests the addition of multiple audio streams once<br>- a call has been established.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-audio.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 9b21754..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,6 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,StreamEcho(1,audio)<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 850d5e8..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_audio_streams=10<br>-<br>-[alice](endpoint-template)<br>-allow=!all,g722,ulaw,alaw<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/sipp/uac-multiple-audio.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/sipp/uac-multiple-audio.xml<br>deleted file mode 100644<br>index 7b84ab1..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/sipp/uac-multiple-audio.xml<br>+++ /dev/null<br>@@ -1,157 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- m=audio 6001 RTP/AVP 9<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:9 G722/8000<br>- m=audio 6002 RTP/AVP 9 0 8<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="INVITE"><br>- <action><br>- <ereg regexp="m=audio [0-9]{1,5} RTP/AVP 9 0 8 101+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=audio 0 RTP/AVP 9+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=audio 0 RTP/AVP 9 0 8+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[call_number]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=- 1324901698 1324901698 IN IP4 [local_ip]<br>- s=-<br>- c=IN IP4 [local_ip]<br>- t=0 0<br>- m=audio 6000 RTP/AVP 9 0 8 101<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:0 PCMU/8000<br>- a=rtpmap:8 PCMA/8000<br>- a=rtpmap:9 G722/8000<br>- a=rtpmap:101 telephone-event/8000<br>- a=fmtp:101 0-16<br>- m=audio 0 RTP/AVP 9<br>- m=audio 0 RTP/AVP 9 0 8<br>- ]]><br>- </send><br>-<br>- <recv request="ACK" rtd="true" crlf="true"><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- BYE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 2 BYE<br>- Contact: <sip:test@[local_ip]:[local_port]><br>- Max-Forwards: 70<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="200" crlf="true"><br>- </recv><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/test-config.yaml<br>deleted file mode 100644<br>index c1703b1..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/remove/test-config.yaml<br>+++ /dev/null<br>@@ -1,27 +0,0 @@<br>-testinfo:<br>- summary: 'Test removing of multiple audio streams'<br>- description: |<br>- This tests the removal of multiple audio streams once<br>- a call has been established.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-audio.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/tests.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/tests.yaml<br>index 024b05a..9d63b36 100644<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/tests.yaml<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio/tests.yaml<br>@@ -1,6 +1,3 @@<br> # Enter tests here in the order they should be considered for execution:<br> tests:<br> - test: 'decline'<br>- - test: 'accept'<br>- - test: 'add'<br>- - test: 'remove'<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 6955acb..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,5 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 98cdb90..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_video_streams=10<br>-<br>-[alice](endpoint-template)<br>-allow=!all,h264,h263<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/sipp/uac-multiple-video.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/sipp/uac-multiple-video.xml<br>deleted file mode 100644<br>index 7865de2..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/sipp/uac-multiple-video.xml<br>+++ /dev/null<br>@@ -1,108 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6002 RTP/AVP 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6003 RTP/AVP 99<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=sendrecv<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 34+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="BYE"><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/test-config.yaml<br>deleted file mode 100644<br>index 8eae8ed..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/accept/test-config.yaml<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-testinfo:<br>- summary: 'Test offers with multiple video streams'<br>- description: |<br>- This tests inbound offers that contain multiple video<br>- media streams. Asterisk should accept all the video<br>- streams.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-video.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 3db7659..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,6 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,StreamEcho(3,video)<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 98cdb90..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_video_streams=10<br>-<br>-[alice](endpoint-template)<br>-allow=!all,h264,h263<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/sipp/uac-multiple-video.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/sipp/uac-multiple-video.xml<br>deleted file mode 100644<br>index 8e4ba16..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/sipp/uac-multiple-video.xml<br>+++ /dev/null<br>@@ -1,148 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="INVITE"><br>- <action><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[call_number]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=- 1324901698 1324901698 IN IP4 [local_ip]<br>- s=-<br>- c=IN IP4 [local_ip]<br>- t=0 0<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- ]]><br>- </send><br>-<br>- <recv request="ACK" rtd="true" crlf="true"><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- BYE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 2 BYE<br>- Contact: <sip:test@[local_ip]:[local_port]><br>- Max-Forwards: 70<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="200" crlf="true"><br>- </recv><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/test-config.yaml<br>deleted file mode 100644<br>index 0a1c1f8..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/add/test-config.yaml<br>+++ /dev/null<br>@@ -1,27 +0,0 @@<br>-testinfo:<br>- summary: 'Test adding of multiple video streams'<br>- description: |<br>- This tests the addition of multiple video streams once<br>- a call has been established.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-video.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/extensions.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index 1bfc935..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,6 +0,0 @@<br>-[default]<br>-<br>-exten => answer,1,NoOp()<br>- same => n,Answer()<br>- same => n,StreamEcho(1,video)<br>- same => n,Hangup()<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/pjsip.conf b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 98cdb90..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,18 +0,0 @@<br>-[system]<br>-type=system<br>-timer_t1=100<br>-timer_b=6400<br>-<br>-[local-transport-udp]<br>-type=transport<br>-bind=127.0.0.1<br>-protocol=udp<br>-<br>-[endpoint-template](!)<br>-type=endpoint<br>-context=default<br>-media_address=127.0.0.1<br>-max_video_streams=10<br>-<br>-[alice](endpoint-template)<br>-allow=!all,h264,h263<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/sipp/uac-multiple-video.xml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/sipp/uac-multiple-video.xml<br>deleted file mode 100644<br>index 8e98dcb..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/sipp/uac-multiple-video.xml<br>+++ /dev/null<br>@@ -1,154 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Basic Sipstone UAC"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- INVITE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 INVITE<br>- Contact: sip:test@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Codec test<br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]<br>- s=-<br>- c=IN IP[media_ip_type] [media_ip]<br>- t=0 0<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6001 RTP/AVP 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 6001 RTP/AVP 99<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=sendrecv<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100" optional="true"><br>- </recv><br>-<br>- <recv response="181" optional="true"><br>- </recv><br>-<br>- <recv response="180" optional="true"><br>- </recv><br>-<br>- <recv response="183" optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true"><br>- <action><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 34+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send><br>- <![CDATA[<br>-<br>- ACK sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 1 ACK<br>- Contact: sip:alice-codec-match@[local_ip]:[local_port]<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="INVITE"><br>- <action><br>- <ereg regexp="m=video [0-9]{1,5} RTP/AVP 99 34+..*"<br>- search_in="body" check_it="true" assign_to="1"/><br>- <test assign_to="1" variable="1" compare="equal" value=""/><br>- <ereg regexp="m=video 0 RTP/AVP 34+..*"<br>- search_in="body" check_it="true" assign_to="2"/><br>- <test assign_to="2" variable="2" compare="equal" value=""/><br>- <ereg regexp="m=video 0 RTP/AVP 99+..*"<br>- search_in="body" check_it="true" assign_to="3"/><br>- <test assign_to="3" variable="3" compare="equal" value=""/><br>- </action><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:];tag=[call_number]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Type: application/sdp<br>- Content-Length: [len]<br>-<br>- v=0<br>- o=- 1324901698 1324901698 IN IP4 [local_ip]<br>- s=-<br>- c=IN IP4 [local_ip]<br>- t=0 0<br>- m=video 6001 RTP/AVP 99 34<br>- c=IN IP[media_ip_type] [media_ip]<br>- a=rtpmap:99 H264/90000<br>- a=rtpmap:34 H263/90000<br>- a=sendrecv<br>- m=video 0 RTP/AVP 34<br>- m=video 0 RTP/AVP 99<br>- ]]><br>- </send><br>-<br>- <recv request="ACK" rtd="true" crlf="true"><br>- </recv><br>-<br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- BYE sip:answer@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: alice <sip:[service]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:test@[remote_ip]:[remote_port]>[peer_tag_param]<br>- Call-ID: [call_id]<br>- CSeq: 2 BYE<br>- Contact: <sip:test@[local_ip]:[local_port]><br>- Max-Forwards: 70<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="200" crlf="true"><br>- </recv><br>-<br>- <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><br>-<br>- <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/><br>-<br>-</scenario><br>-<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/test-config.yaml<br>deleted file mode 100644<br>index bc7c2db..0000000<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/remove/test-config.yaml<br>+++ /dev/null<br>@@ -1,27 +0,0 @@<br>-testinfo:<br>- summary: 'Test removing of multiple video streams'<br>- description: |<br>- This tests the removal of multiple video streams once<br>- a call has been established.<br>-<br>-test-modules:<br>- test-object:<br>- config-section: test-object-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-test-object-config:<br>- memcheck-delay-stop: 7<br>- fail-on-any: False<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'uac-multiple-video.xml', '-i': '127.0.0.1', '-p': '5061', '-s': 'alice'} }<br>-<br>-properties:<br>- minversion: '15.0.0'<br>- dependencies:<br>- - sipp :<br>- version : 'v3.0'<br>- - asterisk : 'res_pjsip'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/tests.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/tests.yaml<br>index 024b05a..9d63b36 100644<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/tests.yaml<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/video/tests.yaml<br>@@ -1,6 +1,3 @@<br> # Enter tests here in the order they should be considered for execution:<br> tests:<br> - test: 'decline'<br>- - test: 'accept'<br>- - test: 'add'<br>- - test: 'remove'<br>diff --git a/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/configs/ast1/pjsip.conf b/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index d1ceff6..0000000<br>--- a/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,17 +0,0 @@<br>-[global]<br>-type = global<br>-debug = yes<br>-<br>-[transport]<br>-type = transport<br>-protocol = udp<br>-bind = 127.0.0.1<br>-<br>-[sipp]<br>-type = endpoint<br>-rewrite_contact = yes<br>-aors = sipp<br>-<br>-[sipp]<br>-type = aor<br>-mailboxes = sipp<br>diff --git a/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/sipp/subscribe.xml b/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/sipp/subscribe.xml<br>deleted file mode 100644<br>index b9bad30..0000000<br>--- a/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/sipp/subscribe.xml<br>+++ /dev/null<br>@@ -1,67 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="NAT NOTIFY"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SUBSCRIBE sip:[service]@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: sut <sip:[service]@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 SUBSCRIBE<br>- Contact: sip:sipp@192.168.0.1:12345<br>- Max-Forwards: 70<br>- Subject: Performance Test<br>- Event: message-summary<br>- Supported: eventlist<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Accept: application/simple-message-summary<br>- Expires: 3600<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="100"<br>- optional="true"><br>- </recv><br>-<br>- <recv response="200" rtd="true" /><br>-<br>-</scenario><br>diff --git a/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/test-config.yaml b/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/test-config.yaml<br>deleted file mode 100644<br>index 6093e9d..0000000<br>--- a/tests/channels/pjsip/subscriptions/large_number_of_accept_headers/test-config.yaml<br>+++ /dev/null<br>@@ -1,28 +0,0 @@<br>-testinfo:<br>- summary: 'Ensure that sending a large number of Accept headers in a SUBSCRIBE does not crash'<br>- description: |<br>- 'This test runs a SIPp scenario that sends a SUBSCRIBE with a large number of Accept headers.<br>- If the subscription is successful then the test passes. If a crash occurs then the test fails.'<br>-<br>-test-modules:<br>- test-object:<br>- config-section: sipp-config<br>- typename: 'sipp.SIPpTestCase'<br>-<br>-sipp-config:<br>- reactor-timeout: 30<br>- fail-on-any: True<br>- test-iterations:<br>- -<br>- scenarios:<br>- - {'key-args': { 'scenario': 'subscribe.xml', '-s': 'sipp' }}<br>-properties:<br>- minversion: [ '13.19.2', '15.2.2' ]<br>- dependencies:<br>- - python: 'twisted'<br>- - python: 'starpy'<br>- - asterisk: 'res_pjsip'<br>- - asterisk: 'res_pjsip_pubsub'<br>- - asterisk: 'res_pjsip_mwi'<br>- tags:<br>- - pjsip<br>diff --git a/tests/channels/pjsip/subscriptions/presence/tests.yaml b/tests/channels/pjsip/subscriptions/presence/tests.yaml<br>index 96684a6..9123536 100644<br>--- a/tests/channels/pjsip/subscriptions/presence/tests.yaml<br>+++ b/tests/channels/pjsip/subscriptions/presence/tests.yaml<br>@@ -10,4 +10,3 @@<br> - test: 'presencestate_repeat'<br> - test: 'presencestate_repeat_okay'<br> - test: 'dialog_info_xml'<br>- - dir: 'verify_bodies'<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/presence.py b/tests/channels/pjsip/subscriptions/presence/verify_bodies/presence.py<br>deleted file mode 100644<br>index 143ea42..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/presence.py<br>+++ /dev/null<br>@@ -1,421 +0,0 @@<br>-#!/usr/bin/env python<br>-"""Pluggable module for tests that verify NOTIFY bodies.<br>-<br>-Copyright (C) 2015, Digium, Inc.<br>-John Bigelow <jbigelow@digium.com><br>-<br>-This program is free software, distributed under the terms of<br>-the GNU General Public License Version 2.<br>-"""<br>-<br>-import sys<br>-import logging<br>-import xml.etree.ElementTree as ET<br>-import re<br>-<br>-sys.path.append('lib/python')<br>-<br>-from pcap import VOIPListener<br>-from twisted.internet import reactor<br>-<br>-LOGGER = logging.getLogger(__name__)<br>-<br>-<br>-class BodyCheck(VOIPListener):<br>- """SIP notify listener and expected results generator.<br>-<br>- A test module that observes incoming SIP notifies and generates the<br>- expected results for the body of each.<br>- """<br>- def __init__(self, module_config, test_object):<br>- """Constructor<br>-<br>- Arguments:<br>- module_config Dictionary containing test configuration<br>- test_object The test object for the running test.<br>- """<br>- self.set_pcap_defaults(module_config)<br>- VOIPListener.__init__(self, module_config, test_object)<br>-<br>- self.test_object = test_object<br>- self.token = test_object.create_fail_token("Haven't handled all "<br>- "expected NOTIFY packets.")<br>- self.expected_config = module_config['expected_body']<br>- self.expected_notifies = int(module_config['expected_notifies'])<br>- self.body_type = module_config['expected_body_type']<br>- self.notify_count = 0<br>-<br>- if self.body_type.upper() not in ('PIDF', 'XPIDF'):<br>- msg = "Body type of '{0}' not supported."<br>- raise Exception(msg.format(self.body_type))<br>-<br>- if self.expected_config.get('namespaces') is not None:<br>- if self.expected_config['namespaces'].get('default') is None:<br>- msg = "Namespaces configuration does not include a 'default'."<br>- raise Exception(msg)<br>-<br>- # Add calback for SIP packets<br>- self.add_callback('SIP', self.packet_handler)<br>-<br>- def gen_expected_data(self):<br>- """Generate expected data results.<br>-<br>- Generates a single dictionary containing the expected results for a<br>- body.<br>-<br>- Returns:<br>- Dictionary of expected results.<br>- """<br>- expected_data = {}<br>- # Use full tags if we have namespaces.<br>- if self.expected_config.get('namespaces') is not None:<br>- full_tags = self.gen_full_tags()<br>- else:<br>- full_tags = self.expected_config['tags']<br>-<br>- # Get expected attributes corresponding to the notify body received.<br>- attribs = self.expected_config['attributes'][self.notify_count - 1]<br>-<br>- text = self.expected_config.get('text')<br>- # Get expected text corresponding to the notify body received.<br>- if text is not None:<br>- text = text[self.notify_count - 1]<br>-<br>- # Build dict of the expected results<br>- for full_tag in full_tags:<br>- expected_data[full_tag] = {}<br>- for tag in attribs.keys():<br>- if tag not in full_tag:<br>- continue<br>- expected_data[full_tag]['attribs'] = attribs[tag]<br>- try:<br>- for tag in text.keys():<br>- if tag not in full_tag:<br>- continue<br>- expected_data[full_tag]['text'] = text[tag]<br>- except AttributeError:<br>- pass<br>-<br>- return expected_data<br>-<br>- def gen_full_tags(self):<br>- """Generate fully qualified element tags.<br>-<br>- This generates fully qualified element tags by prefixing the tag name<br>- with it's corresponding namespace that is enclosed in curly braces.<br>- This is so our expected tags will properly match ElementTree tags.<br>-<br>- The format for an Element tag is: {<namespace>}<tag name><br>-<br>- Returns:<br>- List of full tag names.<br>- """<br>- full_tags = []<br>- namespaces = self.expected_config['namespaces']<br>-<br>- for tag in self.expected_config['tags']:<br>- try:<br>- prefix, tag = tag.split(':')<br>- namespace = '{' + namespaces[prefix] + '}'<br>- except ValueError:<br>- namespace = '{' + namespaces['default'] + '}'<br>- except KeyError as keyerr:<br>- msg = "Key {0} not found in namespace configuration for tag."<br>- raise Exception(msg.format(keyerr))<br>-<br>- full_tags.append("{0}{1}".format(namespace, tag))<br>-<br>- return full_tags<br>-<br>- def set_pcap_defaults(self, module_config):<br>- """Set default PcapListener config that isn't explicitly overridden.<br>-<br>- Arguments:<br>- module_config Dict of module configuration<br>- """<br>- pcap_defaults = {'device': 'lo', 'snaplen': 2000,<br>- 'bpf-filter': 'udp port 5061', 'debug-packets': False,<br>- 'buffer-size': 4194304, 'register-observer': True}<br>- for name, value in pcap_defaults.items():<br>- module_config[name] = module_config.get(name, value)<br>-<br>- def packet_handler(self, packet):<br>- """Handle incoming SIP packets and verify contents.<br>-<br>- Check to see if a packet is a NOTIFY packet with the expected body<br>- type. If so then verify the body in the packet against the expected<br>- results.<br>-<br>- Arguments:<br>- packet Incoming SIP Packet<br>- """<br>-<br>- LOGGER.debug('Received SIP packet')<br>-<br>- if 'NOTIFY' not in packet.request_line:<br>- LOGGER.debug('Ignoring packet, not a NOTIFY.')<br>- return<br>-<br>- if packet.body.packet_type != self.body_type.upper():<br>- msg = "Ignoring packet, NOTIFY does not contain a '{0}' body type."<br>- LOGGER.warn(msg.format(self.body_type.upper()))<br>- return<br>-<br>- self.notify_count += 1<br>-<br>- # Generate dict of expected results for this notify body and validate<br>- # the body using it.<br>- expected = self.gen_expected_data()<br>- validator = Validator(self.test_object, packet, expected)<br>- if not validator.verify_body():<br>- LOGGER.error('Body validation failed.')<br>- return<br>-<br>- info_msg = "Body #{0} validated successfully."<br>- LOGGER.info(info_msg.format(self.notify_count))<br>-<br>- if self.notify_count == self.expected_notifies:<br>- self.test_object.remove_fail_token(self.token)<br>- self.test_object.set_passed(True)<br>- self.test_object.stop_reactor()<br>-<br>-<br>-class Validator(object):<br>- """Validate a PIDF/XPIDF body against a set of expected data."""<br>- def __init__(self, test_object, packet, expected_data):<br>- """Constructor<br>-<br>- Arguments:<br>- test_object The test object for the running test.<br>- packet A packet containing a SIP NOTIFY with a pidf or xpidf body.<br>- """<br>- super(Validator, self).__init__()<br>- self.test_object = test_object<br>- self.packet = packet<br>- self.body_types = ('PIDF', 'XPIDF')<br>- self.expected_data = expected_data<br>-<br>- def verify_body(self):<br>- """Verify a PIDF/XPIDF body.<br>-<br>- This uses XML ElementTree to parse the PIDF/XPIDF body. It verifies<br>- that the XML is not malformed and verifies the elements match what is<br>- expected. This will fail the test and stop the reactor if the body type<br>- is not recognized or if the body could not be parsed.<br>-<br>- Returns:<br>- True if body type is supported, body is successfully parsed, and body<br>- matches what is expected. False otherwise.<br>- """<br>- if self.packet.body.packet_type not in self.body_types:<br>- msg = "Unrecognized body type of '{0}'"<br>- self.fail_test(msg.format(self.packet.body.packet_type))<br>- return False<br>-<br>- # Attempt to parse the body<br>- try:<br>- root = ET.fromstring(self.packet.body.xml)<br>- except Exception as ex:<br>- self.fail_test("Exception when parsing body XML: %s" % ex)<br>- return False<br>-<br>- # Verify top-level elements and their children<br>- for element in root.findall('.'):<br>- if not self.verify_element(element):<br>- return False<br>-<br>- return True<br>-<br>- def verify_element(self, element):<br>- """Verify the element matches what is expected.<br>-<br>- This verifies the tag, attributes, text, and extra text of an element.<br>- If child elements are found this will call back into itself to verify<br>- them.<br>-<br>- Arguments:<br>- element Element object.<br>-<br>- Returns:<br>- True if the element matches what is expected. False otherwise.<br>- """<br>- # Verify tag, attributes, text, and extra text of the element.<br>- if not self.verify_tag(element):<br>- return False<br>- if not self.verify_attributes(element):<br>- return False<br>- if not self.verify_text(element):<br>- return False<br>- if not self.verify_extra_text(element):<br>- return False<br>-<br>- # Find child elements<br>- children = element.findall('*')<br>- if not children:<br>- return True<br>-<br>- # Verify child elements.<br>- for child in children:<br>- if not self.verify_element(child):<br>- return False<br>-<br>- return True<br>-<br>- def verify_tag(self, element):<br>- """Verify element tag is expected.<br>-<br>- This will fail the test and stop the reactor if the element tag is not<br>- expected.<br>-<br>- Arguments:<br>- element Element object.<br>-<br>- Returns:<br>- True if element tag is in expected tags. False otherwise.<br>- """<br>- LOGGER.debug("Checking tag: '{0}'".format(element.tag))<br>- if element.tag in self.expected_data.keys():<br>- return True<br>-<br>- self.fail_test("Unexpected tag: '{0}'.".format(element.tag))<br>-<br>- return False<br>-<br>- def verify_attributes(self, element):<br>- """Verify element attributes.<br>-<br>- Ensure the element contains only the attributes that are expected and<br>- the attribute values match what are expected. This will fail the test<br>- and stop the reactor if conditions are not met.<br>-<br>- Arguments:<br>- element Element object.<br>-<br>- Returns:<br>- True if attributes not expected and none found, expected attribute<br>- values match found attribute values. Otherwise False.<br>- """<br>- expected = self.expected_data[element.tag].get('attribs')<br>- LOGGER.debug("Checking attributes.")<br>-<br>- # If attributes are not expected and none are in the element then<br>- # there's nothing more to do.<br>- if not element.keys() and expected is None:<br>- msg = "Attributes not expected and none found."<br>- LOGGER.debug(msg.format())<br>- return True<br>-<br>- # Check if we expect attributes but element doesn't have any.<br>- if not element.keys() and expected is not None:<br>- msg = "Expected attributes not found: {0}"<br>- self.fail_test(msg.format(', '.join(expected.keys())))<br>- return False<br>-<br>- # Check if we don't expect attributes but element has some.<br>- if element.keys() and expected is None:<br>- msg = "Unexpected attributes found: {0}"<br>- self.fail_test(msg.format(', '.join(element.keys())))<br>- return False<br>-<br>- # Ensure all expected attributes exist in the element.<br>- not_found = [ex for ex in expected.keys() if ex not in element.keys()]<br>- if not_found:<br>- msg = "Expected attributes not found in element: {0}"<br>- self.fail_test(msg.format(', '.join(not_found)))<br>- return False<br>-<br>- for xml_attrib in element.keys():<br>- LOGGER.debug("Checking attribute: '{0}'".format(xml_attrib))<br>- # Check if we don't expect attributes this particular attribute for<br>- # this element.<br>- if expected.get(xml_attrib) is None:<br>- msg = "Unexpected attribute found: '{0}'"<br>- self.fail_test(msg.format(xml_attrib))<br>- return False<br>-<br>- if not re.match(expected[xml_attrib], element.get(xml_attrib)):<br>- msg = "Attribute '{0}' value '{1}' does not match '{2}'"<br>- self.fail_test(msg.format(xml_attrib, element.get(xml_attrib),<br>- expected[xml_attrib]))<br>- return False<br>-<br>- return True<br>-<br>- def verify_text(self, element):<br>- """Verify element text.<br>-<br>- Ensure the element text matches the expected text. This will fail the<br>- test and stop the reactor if conditions are not met.<br>-<br>- Arguments:<br>- element Element object.<br>-<br>- Returns:<br>- True if element text matches expected text. Otherwise False.<br>- """<br>- expected = self.expected_data[element.tag].get('text', '')<br>- element_text = element.text<br>-<br>- # Set to empty string if None so we can strip it and try to match it.<br>- if element_text is None:<br>- element_text = ''<br>- element_text = element_text.strip()<br>-<br>- LOGGER.debug("Checking text: '{0}'".format(element_text))<br>- # Check if we don't expect any text or we don't expect this particular<br>- # text for this element.<br>- if element_text and not expected:<br>- msg = "Unexpected text found: '{0}'"<br>- self.fail_test(msg.format(element_text))<br>- return False<br>-<br>- # Check if we expect text but element doesn't have any.<br>- if not element_text and expected:<br>- msg = "Expected text not found: '{0}'"<br>- self.fail_test(msg.format(expected))<br>- return False<br>-<br>- if not re.match(expected, element_text):<br>- msg = "Element text '{0}' does not match '{1}'"<br>- self.fail_test(msg.format(element_text, expected))<br>- return False<br>-<br>- return True<br>-<br>- def verify_extra_text(self, element):<br>- """Verify extra text is not present in element.<br>-<br>- Ensure there is no extra text in the element. This will fail the test<br>- and stop the reactor if extra text is found.<br>-<br>- Arguments:<br>- element Element object.<br>-<br>- Returns:<br>- True if extra text was not found or only whitespace was found.<br>- Otherwise False.<br>- """<br>- LOGGER.debug("Checking for extra text.")<br>- if element.tail is None:<br>- return True<br>-<br>- # Ignore any whitespace<br>- extra_text = str(element.tail)<br>- extra_text = extra_text.strip()<br>- if not extra_text:<br>- return True<br>-<br>- msg = "Unexpected extra text found on element '%s': '%s'"<br>- self.fail_test(msg.format(element.tag, extra_text))<br>-<br>- return False<br>-<br>- def fail_test(self, message):<br>- """Mark the test as failed and stop the reactor<br>-<br>- Arguments:<br>- message Reason for the test failure<br>- """<br>- LOGGER.error(message)<br>- self.test_object.set_passed(False)<br>- self.test_object.stop_reactor()<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/tests.yaml b/tests/channels/pjsip/subscriptions/presence/verify_bodies/tests.yaml<br>deleted file mode 100644<br>index 2345db0..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/tests.yaml<br>+++ /dev/null<br>@@ -1,4 +0,0 @@<br>-# Enter tests here in the order they should be considered for execution:<br>-tests:<br>- - test: 'verify_pidf'<br>- - test: 'verify_xpidf'<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/extensions.conf b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index b8dcca3..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,2 +0,0 @@<br>-[default]<br>-exten => bob,hint,Custom:bob<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/pjsip.conf b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 2e71a90..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,11 +0,0 @@<br>-[global]<br>-type=global<br>-debug=no<br>-<br>-[local-transport]<br>-type=transport<br>-bind = 127.0.0.1<br>-<br>-[alice]<br>-type=endpoint<br>-context=default<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/sipp/subscribe.xml b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/sipp/subscribe.xml<br>deleted file mode 100644<br>index 8c335b8..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/sipp/subscribe.xml<br>+++ /dev/null<br>@@ -1,147 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Subscribe"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SUBSCRIBE sip:bob@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: "alice" <sip:alice@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: <sip:bob@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 SUBSCRIBE<br>- Contact: "alice" <sip:alice@[local_ip]:[local_port]><br>- Expires: 600<br>- Max-Forwards: 70<br>- Event: presence<br>- Supported: replaces, 100rel, timer, norefersub<br>- Accept: application/pidf+xml<br>- Allow-Events: presence, message-summary, refer<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="200" rtd="true" /><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>-</scenario><br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/test-config.yaml b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/test-config.yaml<br>deleted file mode 100644<br>index 1c81712..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_pidf/test-config.yaml<br>+++ /dev/null<br>@@ -1,261 +0,0 @@<br>-testinfo:<br>- summary: 'Ensure NOTIFY bodies for pidf+xml subscriptions are correct.'<br>- description: |<br>- 'A SIPp instance subscribes to "bob" using pidf+xml. Upon the<br>- first TestEvent indicating that there is an active subscription, the<br>- state of "Custom:bob" is changed. Each AMI event indicating that a<br>- state change occurred triggers another state change until all states<br>- have been set. The SIPp scenario expects to receive a NOTIFY message<br>- for each state and simply responds to them.<br>-<br>- A test module is used to verify each NOTIFY body that it finds while<br>- listening for SIP packets. The module parses the body and verifies the<br>- tags, attributes, and text for each element using the specified<br>- configuration. If the body is not able to be parsed(IE. malformed XML)<br>- or any component of the body does not match what is expected, the test<br>- fails.'<br>-<br>-properties:<br>- minversion: ['13.19.0', '15.2.0']<br>- dependencies:<br>- - buildoption: 'TEST_FRAMEWORK'<br>- - sipp :<br>- version : 'v3.0'<br>- - python: 'twisted'<br>- - python: 'starpy'<br>- - python: 'yappcap'<br>- - asterisk: 'res_pjsip'<br>- - asterisk: 'res_pjsip_exten_state'<br>- - asterisk: 'res_pjsip_pidf_body_generator'<br>- tags:<br>- - pjsip<br>-<br>-test-modules:<br>- add-relative-to-search-path: ['..']<br>- test-object:<br>- config-section: sipp-config<br>- typename: 'sipp.SIPpTestCase'<br>- modules:<br>- -<br>- config-section: test-config<br>- typename: 'presence.BodyCheck'<br>- -<br>- config-section: ami-config<br>- typename: 'pluggable_modules.EventActionModule'<br>-<br>-sipp-config:<br>- reactor-timeout: 30<br>- fail-on-any: True<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'subscribe.xml', '-p': '5061'},<br>- 'ordered-args': ['-timeout_error'] }<br>-<br>-test-config:<br>- # Expected number of NOTIFY messages with the expected body type.<br>- expected_notifies: '7'<br>- # Expected body type.<br>- expected_body_type: 'pidf'<br>- # Expected body.<br>- expected_body:<br>- # Expected namespaces for PIDF bodies.<br>- namespaces:<br>- default: 'urn:ietf:params:xml:ns:pidf'<br>- pp: 'urn:ietf:params:xml:ns:pidf:data-model'<br>- ep: 'urn:ietf:params:xml:ns:pidf:rpid'<br>- # All expected element tag names for PIDF bodies.<br>- tags:<br>- ['presence', 'note', 'tuple', 'status', 'basic', 'contact',<br>- 'pp:person', 'ep:activities', 'ep:on-the-phone']<br>- # Regex patterns for element attributes for each body in order. Some<br>- # attribute values of elements differ for each body depending on the<br>- # body type and state changes. Therefore we list them in the order that<br>- # matches the state changes. For this test the attribute values should<br>- # be the same for all bodies.<br>- attributes:<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- -<br>- presence:<br>- entity: '^sip:bob@127.0.0.1(:5060)?$'<br>- tuple:<br>- id: '^bob$'<br>- contact:<br>- priority: '^1$'<br>- # Regex patterns for element text for each body in order. Some text<br>- # of elements differ for each body depending on the body type and state<br>- # changes. Therefore we list them in the order that matches the state<br>- # changes.<br>- text:<br>- -<br>- note: 'Ready'<br>- basic: 'open'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>- -<br>- note: 'Ringing'<br>- basic: 'open'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>- -<br>- note: 'On the phone'<br>- basic: 'open'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>- -<br>- note: 'On hold'<br>- basic: 'open'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>- -<br>- note: 'On the phone'<br>- basic: 'open'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>- -<br>- note: 'Unavailable'<br>- basic: 'closed'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>- -<br>- note: 'Ready'<br>- basic: 'open'<br>- contact: '^sip:alice@127.0.0.1(:5060)?$'<br>-<br>-ami-config:<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'TestEvent'<br>- State: 'SUBSCRIPTION_STATE_SET'<br>- StateText: 'ACTIVE'<br>- Endpoint: 'alice'<br>- count: '>1'<br>- trigger-on-count: True<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'RINGING'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Ringing'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'INUSE'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'InUse'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'ONHOLD'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Hold'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'BUSY'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Busy'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'UNAVAILABLE'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Unavailable'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'NOT_INUSE'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Idle'<br>- count: '1'<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/extensions.conf b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/extensions.conf<br>deleted file mode 100644<br>index b8dcca3..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/extensions.conf<br>+++ /dev/null<br>@@ -1,2 +0,0 @@<br>-[default]<br>-exten => bob,hint,Custom:bob<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/pjsip.conf b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/pjsip.conf<br>deleted file mode 100644<br>index 2e71a90..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/configs/ast1/pjsip.conf<br>+++ /dev/null<br>@@ -1,11 +0,0 @@<br>-[global]<br>-type=global<br>-debug=no<br>-<br>-[local-transport]<br>-type=transport<br>-bind = 127.0.0.1<br>-<br>-[alice]<br>-type=endpoint<br>-context=default<br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/sipp/subscribe.xml b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/sipp/subscribe.xml<br>deleted file mode 100644<br>index d359595..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/sipp/subscribe.xml<br>+++ /dev/null<br>@@ -1,147 +0,0 @@<br>-<?xml version="1.0" encoding="ISO-8859-1" ?><br>-<!DOCTYPE scenario SYSTEM "sipp.dtd"><br>-<br>-<scenario name="Subscribe"><br>- <send retrans="500"><br>- <![CDATA[<br>-<br>- SUBSCRIBE sip:bob@[remote_ip]:[remote_port] SIP/2.0<br>- Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br>- From: "alice" <sip:alice@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]<br>- To: <sip:bob@[remote_ip]:[remote_port]><br>- Call-ID: [call_id]<br>- CSeq: 1 SUBSCRIBE<br>- Contact: "alice" <sip:alice@[local_ip]:[local_port]><br>- Expires: 600<br>- Max-Forwards: 70<br>- Event: presence<br>- Supported: replaces, 100rel, timer, norefersub<br>- Accept: application/xpidf+xml<br>- Allow-Events: presence, message-summary, refer<br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv response="200" rtd="true" /><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>- <recv request="NOTIFY" crlf="true"/><br>-<br>- <send><br>- <![CDATA[<br>-<br>- SIP/2.0 200 OK<br>- [last_Via:]<br>- [last_From:]<br>- [last_To:]<br>- [last_Call-ID:]<br>- [last_CSeq:]<br>- Contact: <sip:[local_ip]:[local_port];transport=[transport]><br>- Content-Length: 0<br>-<br>- ]]><br>- </send><br>-<br>-</scenario><br>diff --git a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/test-config.yaml b/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/test-config.yaml<br>deleted file mode 100644<br>index a7cc47f..0000000<br>--- a/tests/channels/pjsip/subscriptions/presence/verify_bodies/verify_xpidf/test-config.yaml<br>+++ /dev/null<br>@@ -1,265 +0,0 @@<br>-testinfo:<br>- summary: 'Ensure NOTIFY bodies for xpidf+xml subscriptions are correct.'<br>- description: |<br>- 'A SIPp instance subscribes to "bob" using xpidf+xml. Upon the<br>- first TestEvent indicating that there is an active subscription, the<br>- state of "Custom:bob" is changed. Each AMI event indicating that a<br>- state change occurred triggers another state change until all states<br>- have been set. The SIPp scenario expects to receive a NOTIFY message<br>- for each state and simply responds to them.<br>-<br>- A test module is used to verify each NOTIFY body that it finds while<br>- listening for SIP packets. The module parses the body and verifies the<br>- tags, attributes, and text for each element using the specified<br>- configuration. If the body is not able to be parsed(IE. malformed XML)<br>- or any component of the body does not match what is expected, the test<br>- fails.'<br>-<br>-properties:<br>- minversion: ['13.19.0', '15.2.0']<br>- dependencies:<br>- - buildoption: 'TEST_FRAMEWORK'<br>- - sipp :<br>- version : 'v3.0'<br>- - python: 'twisted'<br>- - python: 'starpy'<br>- - python: 'yappcap'<br>- - asterisk: 'res_pjsip'<br>- - asterisk: 'res_pjsip_exten_state'<br>- - asterisk: 'res_pjsip_xpidf_body_generator'<br>- tags:<br>- - pjsip<br>-<br>-test-modules:<br>- add-relative-to-search-path: ['..']<br>- test-object:<br>- config-section: sipp-config<br>- typename: 'sipp.SIPpTestCase'<br>- modules:<br>- -<br>- config-section: test-config<br>- typename: 'presence.BodyCheck'<br>- -<br>- config-section: ami-config<br>- typename: 'pluggable_modules.EventActionModule'<br>-<br>-sipp-config:<br>- reactor-timeout: 30<br>- fail-on-any: True<br>- test-iterations:<br>- -<br>- scenarios:<br>- - { 'key-args': {'scenario': 'subscribe.xml', '-p': '5061'},<br>- 'ordered-args': ['-timeout_error'] }<br>-<br>-test-config:<br>- # Expected number of NOTIFY messages with the expected body type.<br>- expected_notifies: '7'<br>- # Expected body type.<br>- expected_body_type: 'xpidf'<br>- # Expected body.<br>- expected_body:<br>- # All expected element tag names for XPIDF bodies.<br>- tags:<br>- ['presence', 'presentity', 'atom', 'address', 'status',<br>- 'msnsubstatus']<br>- # Regex patterns for element attributes for each body in order. Some<br>- # attribute values of elements differ for each body depending on the<br>- # body type and state changes. Therefore we list them in the order that<br>- # matches the state changes. For this test some attribute values will<br>- # differ between all bodies.<br>- attributes:<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^open$'<br>- msnsubstatus:<br>- substatus: '^online$'<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^inuse$'<br>- msnsubstatus:<br>- substatus: '^onthephone$'<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^inuse$'<br>- msnsubstatus:<br>- substatus: '^onthephone$'<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^inuse$'<br>- msnsubstatus:<br>- substatus: '^onthephone$'<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^inuse$'<br>- msnsubstatus:<br>- substatus: '^onthephone$'<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^closed$'<br>- msnsubstatus:<br>- substatus: '^offline$'<br>- -<br>- presentity:<br>- uri: '^sip:bob@127.0.0.1(:5060)?;method=SUBSCRIBE$'<br>- atom:<br>- atomid: '^[a-z0-9-]+$'<br>- id: '^bob$'<br>- address:<br>- uri: '^sip:alice@127.0.0.1(:5060)?;user=ip$'<br>- priority: '^0\.80000$'<br>- status:<br>- status: '^open$'<br>- msnsubstatus:<br>- substatus: '^online$'<br>-<br>-ami-config:<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'TestEvent'<br>- State: 'SUBSCRIPTION_STATE_SET'<br>- StateText: 'ACTIVE'<br>- Endpoint: 'alice'<br>- count: '>1'<br>- trigger-on-count: True<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'RINGING'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Ringing'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'INUSE'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'InUse'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'ONHOLD'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Hold'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'BUSY'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Busy'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'UNAVAILABLE'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Unavailable'<br>- count: '1'<br>- ami-actions:<br>- action:<br>- action: 'SetVar'<br>- variable: 'DEVICE_STATE(Custom:bob)'<br>- value: 'NOT_INUSE'<br>- -<br>- ami-events:<br>- id: '0'<br>- conditions:<br>- match:<br>- Event: 'ExtensionStatus'<br>- Exten: 'bob'<br>- Hint: 'Custom:bob'<br>- StatusText: 'Idle'<br>- count: '1'<br>diff --git a/tests/channels/pjsip/subscriptions/tests.yaml b/tests/channels/pjsip/subscriptions/tests.yaml<br>index 5377eb0..deebc2a 100644<br>--- a/tests/channels/pjsip/subscriptions/tests.yaml<br>+++ b/tests/channels/pjsip/subscriptions/tests.yaml<br>@@ -11,4 +11,3 @@<br> - test: 'subscribe_context'<br> - test: 'unallowed'<br> - test: 'unknown_event_package'<br>- - test: 'large_number_of_accept_headers'<br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/8488">change 8488</a>. To unsubscribe, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/8488"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: testsuite </div>
<div style="display:none"> Gerrit-Branch: 14 </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I975f02422c8b4fe70d270be862e2d76d6d95ff31 </div>
<div style="display:none"> Gerrit-Change-Number: 8488 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Corey Farrell <git@cfware.com> </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>