[asterisk-dev] [Code Review] SIP: transaction matching using top most Via header

Kevin P. Fleming kpfleming at digium.com
Tue Jul 13 08:43:35 CDT 2010


On 07/13/2010 04:13 AM, Klaus Darilion wrote:
> 
> 
> Am 12.07.2010 23:10, schrieb David Vossel:
>>
>> ----------------------------------------------------------- This is
>> an automatically generated e-mail. To reply, visit:
>> https://reviewboard.asterisk.org/r/776/
>> -----------------------------------------------------------
>>
>> Review request for Asterisk Developers.
>>
>>
>> Summary -------
>>
>> This patch modifies the way chan_sip.c does transaction to dialog
>> matching.  Asterisk now stores information in the top most Via header
>> of the initial incoming request and compares that against other
>> Requests that have the same call-id.  This results in Asterisk being
>> able to detect a forked call in which it has received multiple legs
>> of the fork.  I completely stripped out the previous matching code
> 
> incoming request do not generate forked calls - only outgoing requests 
> may result in multiple responses from different UAS.
> 
> I wonder why not using the standard approach as defined in RFC: 
> branch-parameter --> transaction matching.
> callid + fromtag + totag --> dialog matching

Asterisk can be the *recipient* of multiple forks of the same request,
which is what this patch is trying to address. We are not talking about
forked *responses* (which is the outgoing request scenario), but forked
*requests*.

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: kfleming at digium.com
Check us out at www.digium.com & www.asterisk.org



More information about the asterisk-dev mailing list