[asterisk-dev] [Code Review] RFC 3261 compliant ACK retransmission for unreliable final responses

leurk reviewboard at asterisk.org
Fri Apr 1 14:08:21 CDT 2011



> On 2011-03-31 16:07:49, leurk wrote:
> > Asterisk isn't a proxy, while Section 16.11 describes proxying. Quote:
> > 
> > "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..."
> 
> wdoekes wrote:
>     Yes, I'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.
>     
>
> 
> leurk wrote:
>     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

wdoekes, I checked RFC 3261, and for me it looks like we should consult "17.2.3 Matching Requests to Server Transactions" about branch id.


- leurk


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/692/#review3269
-----------------------------------------------------------


On 2010-06-03 13:40:43, Terry Wilson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/692/
> -----------------------------------------------------------
> 
> (Updated 2010-06-03 13:40:43)
> 
> 
> Review request for Asterisk Developers and David Vossel.
> 
> 
> Summary
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   /trunk/channels/chan_sip.c 267137 
> 
> Diff: https://reviewboard.asterisk.org/r/692/diff
> 
> 
> Testing
> -------
> 
> 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.
> 
> 
> Thanks,
> 
> Terry
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110401/2f6c36c9/attachment.htm>


More information about the asterisk-dev mailing list