<p>Jenkins2 <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/5982">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Joshua Colp: Looks good to me, approved; Verified
Kevin Harwell: Looks good to me, but someone else must approve
Jenkins2: Approved for Submit
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pjsip: Add SDP offer/answer test for bundle.<br><br>This change adds an SDP negotiation test for bundle to ensure<br>that when bundle is enabled we place the proper attributes in<br>the messages.<br><br>ASTERISK-27118<br><br>Change-Id: Ia7fcefcba248d1814b2fcbffb80b3a90cda13dd0<br>---<br>A tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/extensions.conf<br>A tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/pjsip.conf<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>A tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml<br>M tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml<br>5 files changed, 167 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">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>new file mode 100644<br>index 0000000..6955acb<br>--- /dev/null<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/extensions.conf<br>@@ -0,0 +1,5 @@<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>new file mode 100644<br>index 0000000..d328216<br>--- /dev/null<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/configs/ast1/pjsip.conf<br>@@ -0,0 +1,14 @@<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>new file mode 100644<br>index 0000000..4d52ad8<br>--- /dev/null<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/sipp/uac-multiple-video-with-audio.xml<br>@@ -0,0 +1,120 @@<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>+ 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>+ 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>+ 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>+ m=video 6003 RTP/AVP 34<br>+ a=rtpmap:34 H263/90000<br>+ a=sendrecv<br>+ a=mid:video<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="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>+<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/bundled/test-config.yaml b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml<br>new file mode 100644<br>index 0000000..d3185f5<br>--- /dev/null<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/bundled/test-config.yaml<br>@@ -0,0 +1,27 @@<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>+ 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>index a2bb275..1a143f3 100644<br>--- a/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml<br>+++ b/tests/channels/pjsip/sdp_offer_answer/incoming/nominal/multiple-media-stream/audio-video/accept/tests.yaml<br>@@ -1,5 +1,6 @@<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></pre><p>To view, visit <a href="https://gerrit.asterisk.org/5982">change 5982</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/5982"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: testsuite </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ia7fcefcba248d1814b2fcbffb80b3a90cda13dd0 </div>
<div style="display:none"> Gerrit-Change-Number: 5982 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>