<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/1562/">https://reviewboard.asterisk.org/r/1562/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 2nd, 2011, 5:44 p.m., <b>wdoekes</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/1562/diff/1/?file=21579#file21579line339" style="color: black; font-weight: bold; text-decoration: underline;">/branches/1.8/channels/sip/include/sip.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">339</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_REGISTERTRYING                (1 &lt;&lt; 24)  </span><span class="cm">/*!&lt; DP: Send 100 Trying on REGISTER attempts */</span><span class="cp"></span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">339</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_UDPTL_DESTINATION                (1 &lt;&lt; 24)  </span><span class="cm">/*!&lt; DP: Use source IP of RTP as destination if NAT is enabled */</span><span class="cp"></span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">340</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_UDPTL_DESTINATION                (1 &lt;&lt; 25)  </span><span class="cm">/*!&lt; DP: Use source IP of RTP as destination if NAT is enabled */</span><span class="cp"></span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">340</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_VIDEOSUPPORT_ALWAYS                (1 &lt;&lt; 25)  </span><span class="cm">/*!&lt; DP: Always set up video, even if endpoints don&#39;t support it */</span><span class="cp"></span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">341</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_VIDEOSUPPORT_ALWAYS                (1 &lt;&lt; 26)  </span><span class="cm">/*!&lt; DP: Always set up video, even if endpoints don&#39;t support it */</span><span class="cp"></span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">341</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_HAVEPEERCONTEXT        (1 &lt;&lt; 26)        </span><span class="cm">/*&lt; Are we associated with a configured peer context? */</span><span class="cp"></span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">342</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_HAVEPEERCONTEXT        (1 &lt;&lt; 27)        </span><span class="cm">/*&lt; Are we associated with a configured peer context? */</span><span class="cp"></span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">342</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#define SIP_PAGE2_USE_SRTP              (1 &lt;&lt; 27)    </span><span class="cm">/*!&lt; DP: Whether we should offer (only)  SRTP */</span><span class="cp"></span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">http://lists.digium.com/pipermail/asterisk-dev/2011-October/051596.html

Removing 1&lt;&lt;24 would&#39;ve been sufficient/better.</pre>
 </blockquote>



 <p>On November 3rd, 2011, 1:29 a.m., <b>wdoekes</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">http://lists.digium.com/pipermail/asterisk-commits/2011-November/052320.html
+#define SIP_PAGE2_UDPTL_DESTINATION                (1 &lt;&lt; 24)  /*!&lt; DP: Use source IP of RTP as destination if NAT is enabled */

Perhaps I shouldn&#39;t&#39;ve checked the ship-it ;)
</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Oh, will you look at that. I missed a chance to fix two bugs with one commit. Oh well. I&#39;ll re-number stuff to account for the extremely long-standing bug that was registertrying.</pre>
<br />




<p>- Terry</p>


<br />
<p>On November 2nd, 2011, 5:27 p.m., Terry Wilson wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers and wdoekes.</div>
<div>By Terry Wilson.</div>


<p style="color: grey;"><i>Updated Nov. 2, 2011, 5:27 p.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Way back in the day, Asterisk sent a 100 Trying when receiving a register request, despite RFC 3261 stating:
8.2.6.1 Sending a Provisional Response

One largely non-method-specific guideline for the generation of
responses is that UASs SHOULD NOT issue a provisional response for a
non-INVITE request. Rather, UASs SHOULD generate a final response to
a non-INVITE request as soon as possible.

Someone initially tried to remove the 100 Trying in https://issues.asterisk.org/jira/browse/ASTERISK-9157 , but cries of &quot;there might be phones that require this behavior!&quot; were made and YAUO (yet another useless option) was added to chan_sip. There is no conceivable way that someone would write code that requires a provisional 100 response to a REGISTER. It would be an absurd amount of going out of one&#39;s way to write broken code. Add to that the fact (as wdoekes points out on the mailing list) that the flag is set on the peer, not copied to the pvt, but checked on the pvt anyway--it hasn&#39;t even worked all these years.

Even better, fixing the code would lead to the same kind of username disclosure as the nat= debacle we are trying to clean up. This leads me to the happy conclusion that we should finally just rip this code out. This patch does that.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">It compiles.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/branches/1.8/channels/chan_sip.c <span style="color: grey">(343161)</span></li>

 <li>/branches/1.8/channels/sip/include/sip.h <span style="color: grey">(343161)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1562/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>