[asterisk-dev] chan_sip, To tags, Forking Proxy

Johansson Olle E olle at voop.com
Mon Jan 8 00:55:57 MST 2007


7 jan 2007 kl. 20.40 skrev Stefan Tichy:

> Hi,
>
> if asterisk initiates a sip call (sends invite) it will extract
> the totag from the first response it gets. This is probably a 180
> Ringing response from some phone.
>
> Asterisk will ignore any response with different totag from now on
> (at least if "predantic=yes" is set in sip.conf, but without
> pedantic setting there will be other problems)
>
> If a sip proxy like SER is involved there might be responses from
> other UA with other totag and the expected 200 OK response might be
> retrieved by one of theese.

Have you really tried this? If it doesn't work, it should be fixed.
We should reset the tags when receiving 200 OK, that's something
I believe I fixed a long time ago.

/* Get their tag if we haven't already */
         if (ast_strlen_zero(p->theirtag) || (resp >= 200)) {
                 char tag[128];

                 gettag(req, "To", tag, sizeof(tag));
                 ast_string_field_set(p, theirtag, tag);
         }
}


But you are right, the matching to a dialog will occure *before* this
happens, so the 200 OK will *not* match the proper dialog in find_call()
unless there's support for this in that part of the code. And I can't  
see anything
there.

That is indeed a bug.

Thanks for reporting this!

/O


More information about the asterisk-dev mailing list