[Users] Problems when branching multiple legs to asterisk

Christian Schlatter cs at unc.edu
Fri Mar 2 15:11:05 CET 2007


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





More information about the Users mailing list