[asterisk-dev] [Code Review] SIP: proper handling of forked outbound INVITE requests.

Terry Wilson twilson at digium.com
Thu Nov 4 13:32:49 CDT 2010


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

Ship it!


I've been over it a few times now and it looks right to me. Good work!


/trunk/channels/chan_sip.c
<https://reviewboard.asterisk.org/r/946/#comment6092>

    s/call-d/call-id/



/trunk/channels/chan_sip.c
<https://reviewboard.asterisk.org/r/946/#comment6093>

    s/way/away/ ? Multiple instances.


- Terry


On 2010-09-28 17:32:11, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/946/
> -----------------------------------------------------------
> 
> (Updated 2010-09-28 17:32:11)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> RFC3261 section 12 about dialog creation says an INVITE transaction results in an established dialog once it receives the 200 OK response.  It is possible to receive multiple differing 200 OK responses for a single outbound INVITE Request, and this should result in establishing multiple dialogs.
> 
> This patch allows for all differing 200 OK responses to an INVITE request to establish a separate dialog, but only the first dialog is kept. All other resulting dialogs from the initial request are immediately ACKed and then immediately terminated with a BYE request.
> 
> 
> Diffs
> -----
> 
>   /trunk/channels/chan_sip.c 289176 
> 
> Diff: https://reviewboard.asterisk.org/r/946/diff
> 
> 
> Testing
> -------
> 
> I have tested this with several sipp scenarios where multiple 200 OKs are generated for a single outbound INVITE from Asterisk.  In these scenarios I have verified that the BYE sent as result of a forked request for termination will retransmit correctly eventually timing out and destroying the dialog, and that the forked dialogs are destroyed correctly immediately after the BYE request receives the 200 OK response.  If the 200 OK generating the dialog is retransmitted for some reason, the Asterisk will continue to ACK it correctly as well.
> 
> 
> Thanks,
> 
> David
> 
>




More information about the asterisk-dev mailing list