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

Olle E. Johansson oej at edvina.net
Wed Jul 14 02:49:06 CDT 2010


13 jul 2010 kl. 23.38 skrev David Vossel:

> 
> I tested this with various sip forking scenarios.  I created some of my own scenarios using sipp, and then set up an openSIPS proxy to fork all requests to my asterisk box and watch how they were handled.  Asterisk now only accepts the first request to a forked call and responds with a 482 (Loop Detected) to the second (or thrid or forth).  The 482 message is not entirely intuitive to me, but from what I understood that is what RFC 3261 section 8.2.2.2 indicates we should respond with in this scenario.

The problem we have with 1.4 and up is that if we fork one call to different URI's, like one for your phone and one for voicemail, the second fork is not handled. It is not a loop/merge situation, since we have different targets and different via branches. Please test that as well. 

Loops/merges are fairly uncommon. The best case would be that you fork through one proxy that forwards to two proxys and these send to the same server with the same request-URI. You register Asterisk with two different OpenSIPS. This is a different case where a loop answer might be the right thing on the second fork.

/O


More information about the asterisk-dev mailing list