On Jun 24, 2010 at 12:06, Iñaki Baz Castillo <ibc(a)aliax.net> wrote:
2010/6/17 Andrei Pelinescu-Onciul
<andrei(a)iptel.org>rg>:
Try 3.0 (kamailio or sip-router). You can control
how unreplied branches
are canceled, see
http://sip-router.org/docbook/sip-router/branch/master/modules/tm/tm.html#c…
A question about case 2:
-----------
2 will send and retransmit CANCEL even on unreplied branches, stopping
the request retransmissions. This has the same advantages as 1 and
also avoids the extra roundtrip in the case of the provisional reply,
but it's not RFC 3261 conforming (the RFC allows sending CANCELs only
on pending branches).
------------
What about if the UAS replies a 200 before the CANCEL arrives to it?
Would TM route the 200 upstream to the UAC? or would TM absorb it?
It will route it to the UAC (tm does not reply anything to the orig. INV
when it gets the CANCEL, it still waits for some reply, hopefiully a
487, or timeout).
There is the INV-CANCEL reordered race risk, but it's not so bad. If
CANCEL arrives first => discarded and INV replied with 200 OK and 200 OK
gets back to the UAC (nothing bad should happen unless the UAC is
broken).
Andrei