[Kamailio-Devel] Flags are not visible when processing CANCEL
Daniel-Constantin Mierla
miconda at gmail.com
Fri May 22 18:45:55 CEST 2009
Hello,
back to original topic, indeed the flags from INVITE are not visible to
CANCEL, but for future we can introduce $T_inv(pv) in the same way we
have now $T-req(pv) to access requests in onreply routes and $T_rpl(pv)
to access reply in failure_route.
http://www.kamailio.org/dokuwiki/doku.php/pseudovariables:1.5.x#t_req_pv
Cheers,
Daniel
On 05/22/2009 04:37 PM, Iñaki Baz Castillo wrote:
> 2009/5/22 Alex Balashov <abalashov at evaristesys.com>:
>
>
>> Hmm, that's true. End-to-end CANCELs aren't sent by the originating UA to
>> the destination URI of the far end, are they? Otherwise they would be
>> routed like any other sequential in-dialog request, and they're not.
>>
>
> For generating an in-dialog request you need first having a dialog or
> early-dialog (To tag). It could not occur (UAC sends INVITE, proxy
> replies "100 Trying" and after a while the UAC sends a CANCEL).
>
>
>
>> I'm curious, why are they designed that way? Why not route end-to-end
>> CANCELs the same way one routes end-to-end BYEs?
>>
>
> The CANCEL is sent to the proxy (or the SIP node in front of the UAC).
> Imagine the UAC sends the INVITE, the proxy does parallel forking so
> the UA Creceives various 1XX with different "To tags". If CANCEL would
> be end-to-end and an in-dialog request, then the UAC should generate
> so many CANCEL's as different "To tags" received in the 1XX responses.
>
> So, when an UAC sends a CANCEL it is asking its proxy to CANCEL the
> INVITE transaction at all, so the proxy replies "200 cancelled" and
> later, the proxy handles all the pending branches by sending a CANCEL
> to each one.
>
> It's easier in this way :)
>
>
>
>
>> --
>> Alex Balashov
>> Evariste Systems
>> Web : http://www.evaristesys.com/
>> Tel : (+1) (678) 954-0670
>> Direct : (+1) (678) 954-0671
>>
>>
>
>
>
>
--
Daniel-Constantin Mierla
http://www.asipto.com/
More information about the Devel
mailing list