[Users] Problems when branching multiple legs to asterisk

Christian Schlatter cs at unc.edu
Tue Mar 6 21:38:03 CET 2007


Just found a website that includes a good description of asterisk's 
dialog matching issues:

http://www.codename-pineapple.org/doc/html/sip3_dialog_match.html

I'm looking forward for chan_sip3 :-)


Christian


Christian Schlatter wrote:
> Ardjan Zwartjes wrote:
>> Hello list,
>>
>> Can anybody help me with the following problem: I have a network with a
>> machine running OpenSER (1.1.0) and a machine running Asterisk (1.2.7).
>> When a call is made to a certain number on the OpenSER machine I use a
>> append_branch to fork the call to two phones, this works fine. The
>> problem arises when I want to fork the call to two extensions on the
>> asterisk machine. Only one of the extensions will actually start
>> ringing. Using ethereal I found out that OpenSER sends two invites to
>> the asterisk machine, asterisk returns a "100 Trying" on both invites,
>> but after that Asterisk seems to forget about the second call. The first
>> Invite is processed correctly.
>>     I suspect that the problem lies in the fact that asterisk
>> receives two calls with the same Call-ID and just drops one of them.
>> This behaviour is understandable since call-ids are supposed to be
>> unique (as far as I know). Sending two invites with the same call-id on
>> the otherhand also is the logical thing to do from OpenSERs point of
>> view, but clearly this isn't "compatible".
> 
> You suspect correct, asterisk only looks at the call-id instead of 
> additionally using the branch-id to determine if two sip messages belong 
> to the same transaction or not. This behavior violates RFC 3261 and 
> should be fixed in the next release of the asterisk sip stack. This is 
> also the reason why asterisk cannot detect sip spirals.
> 
>>     So my question is: Is there some way to let OpenSER succesfully
>> branch a single call to two extensions on the same Asterisk? I hope
>> somebody knows of a way how to fix this. Thanks in advance.
> 
> I haven't found a solution so far other than replacing asterisk with an 
> RFC 3261 compliant gateway.
> 
> Christian
> 
> 
>>
>> Kind regards,
>> Ardjan Zwartjes.
>>
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
> 
> 
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users





More information about the Users mailing list