[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