[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