<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/692/">https://reviewboard.asterisk.org/r/692/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 31st, 2011, 4:07 p.m., <b>leurk</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;">Asterisk isn&#39;t a proxy, while Section 16.11 describes proxying. Quote:

&quot;16.11 Stateless Proxy
...
A stateless proxy does not have any notion of a transaction, or of
   the response context used to describe stateful proxy behavior.
   Instead, the stateless proxy takes messages, both requests and
   responses, directly from the transport layer...&quot;</pre>
 </blockquote>




 <p>On April 1st, 2011, 2:31 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;">Yes, I&#39;m perfectly aware that that section describes proxy behaviour. But I have a hard time finding out what branch= value should be.

I tested my sipp scenario (as found in issue #18633) against asterisk and a phone. And the phone would send the same via branch, while patched asterisk sends a new one. That caused me to scour the RFC for info about that, and the only relevant mention I could find was there.

</pre>
 </blockquote>





 <p>On April 1st, 2011, 7:55 a.m., <b>leurk</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;">wdoekes, we have Asterisk trunked to Huawei SoftX3000 which is capable of sending ACK on 200 OK retransmissions. Here is the part of dialog where Huawei is call originator:

INVITE (from Huawei)
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKx8nlcybhecnnlnyeboexlkk7c

SIP/2.0 100 Giving a try
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKx8nlcybhecnnlnyeboexlkk7c

SIP/2.0 200 OK (this one is got lost)
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKx8nlcybhecnnlnyeboexlkk7c

SIP/2.0 200 OK (this one will be ACKed)
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKx8nlcybhecnnlnyeboexlkk7c

ACK (from Huawei)
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKxeecvhvyiuuxhb8v8lec8bbee

BYE (from Huawei)
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKyyncbvvxcblbukh8yuxkoljnx

SIP/2.0 200 OK
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bKyyncbvvxcblbukh8yuxkoljnx</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">wdoekes, I checked RFC 3261, and for me it looks like we should consult &quot;17.2.3 Matching Requests to Server Transactions&quot; about branch id.</pre>
<br />








<p>- leurk</p>


<br />
<p>On June 3rd, 2010, 1:40 p.m., Terry Wilson wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.orgrb/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 David Vossel.</div>
<div>By Terry Wilson.</div>


<p style="color: grey;"><i>Updated 2010-06-03 13:40:43</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;">RFC 3261 in sections 13.2.24 and 17.1.1.2 state that each 2xx response or final response to an INVITE must result in an ACK being sent (but the retransmitted responses are not to be sent to the transaction user).

This patch sends that ACK.</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;">I wrote a sipp scenario to re-send 200 OK responses and ensured that the proper ACK was sent back. I also tested calling a soft phone to verify that no behavior change was made when there were no retransmissions.</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>/trunk/channels/chan_sip.c <span style="color: grey">(267137)</span></li>

</ul>

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




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








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