<p>George Joseph <strong>submitted</strong> this change.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/15233">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Sean Bright: 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;">chan_sip: SDP: Sidestep stream parsing when its media is disabled.<br><br>Previously, chan_sip parsed all known media streams in an SDP offer<br>like video (and text) even when videosupport=no (and textsupport=no).<br>This wasted processor power. Furthermore, chan_sip accepted SDP offers,<br>including no audio but just video (or text) streams although<br>videosupport=no (or textsupport=no). Finally, chan_sip denied the whole<br>offer instead of individual streams when they had encryption (SDES-sRTP)<br>unexpectedly enabled.<br><br>ASTERISK-29238<br>ASTERISK-29237<br>ASTERISK-29222<br><br>Change-Id: Ie49e4e2a11f0265f914b684738348ba8c0f89755<br>---<br>M channels/chan_sip.c<br>1 file changed, 3 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/channels/chan_sip.c b/channels/chan_sip.c</span><br><span>index ad4f968..18a02bc 100644</span><br><span>--- a/channels/chan_sip.c</span><br><span>+++ b/channels/chan_sip.c</span><br><span>@@ -10442,7 +10442,7 @@</span><br><span>                 rtcp_mux_offered = has_media_level_attribute(iterator, req, "rtcp-mux");</span><br><span> </span><br><span>               /* Check for 'audio' media offer */</span><br><span style="color: hsl(0, 100%, 40%);">-             if (strncmp(m, "audio ", 6) == 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+         if (p->rtp && strncmp(m, "audio ", 6) == 0) {</span><br><span>                   if ((sscanf(m, "audio %30u/%30u %17s %n", &x, &numberofports, protocol, &len) == 3 && len > 0) ||</span><br><span>                       (sscanf(m, "audio %30u %17s %n", &x, protocol, &len) == 2 && len > 0)) {</span><br><span>                            codecs = m + len;</span><br><span>@@ -10552,7 +10552,7 @@</span><br><span>                  }</span><br><span>            }</span><br><span>            /* Check for 'video' media offer */</span><br><span style="color: hsl(0, 100%, 40%);">-             else if (strncmp(m, "video ", 6) == 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+            else if (p->vrtp && strncmp(m, "video ", 6) == 0) {</span><br><span>                     if ((sscanf(m, "video %30u/%30u %17s %n", &x, &numberofports, protocol, &len) == 3 && len > 0) ||</span><br><span>                       (sscanf(m, "video %30u %17s %n", &x, protocol, &len) == 2 && len > 0)) {</span><br><span>                            codecs = m + len;</span><br><span>@@ -10631,7 +10631,7 @@</span><br><span>                  }</span><br><span>            }</span><br><span>            /* Check for 'text' media offer */</span><br><span style="color: hsl(0, 100%, 40%);">-              else if (strncmp(m, "text ", 5) == 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+             else if (p->trtp && strncmp(m, "text ", 5) == 0) {</span><br><span>                      if ((sscanf(m, "text %30u/%30u %17s %n", &x, &numberofports, protocol, &len) == 3 && len > 0) ||</span><br><span>                        (sscanf(m, "text %30u %17s %n", &x, protocol, &len) == 2 && len > 0)) {</span><br><span>                             codecs = m + len;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/15233">change 15233</a>. To unsubscribe, or for help writing mail filters, 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/c/asterisk/+/15233"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ie49e4e2a11f0265f914b684738348ba8c0f89755 </div>
<div style="display:none"> Gerrit-Change-Number: 15233 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: Alexander Traud <pabstraud@compuserve.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Reviewer: Sean Bright <sean.bright@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>