[OpenSIPS-Users] [OpenSER-Users] Adding "Reason: SIP ; cause=200" header when CANCEL in forking scenarios
Iñaki Baz Castillo
ibc at aliax.net
Wed Feb 10 12:55:04 CET 2010
El Martes, 9 de Febrero de 2010, Iñaki Baz Castillo escribió:
> I could imagine accepting such header just for CANCEL coming from a known
> source (i.e. my application server or PBX).
>
> Just as suggestion, perhaps a flag in t_relay() would be used for this, a
> flag that only makes sense for CANCEL rather than INVITE, so:
>
> if (is_method("CANCEL")) {
> if ($si == MY_APPLICATION_SERVER_IP)
> # Allow propagating "Reason" header.
> t_relay(0x12);
> else
> t_relay();
> }
>
> or a explicit flag:
>
> if (is_method("CANCEL")) {
> if ($si == MY_APPLICATION_SERVER_IP)
> setflag(FLAG_ALLOW_CANCEL_REASON);
> t_relay();
> }
Also take into account the case in which a trusted PBX/AS sends a CANCEL with
Reason header to the proxy, and the proxy forked this INVITE (destination user
registered in more than one location). So the proxy should decide if it adds
its own Reason header or the Reason header arriving in the CANCEL from the
PBX.
--
Iñaki Baz Castillo <ibc at aliax.net>
More information about the Users
mailing list