Hi Guys,
I have a question regarding the correct processing for cancelled requests
1. (A)--------------------INVITE ------------------->(B)
2. (A)<------------------180 RIGING------------------(B)
3. (A)--------------------CANCEL-------------------->(B)
4. (A)<------------------OK--------------------------(B)
5. (A)<---------487 Request Terminated---------------(B)
6. (A)--------------------ACK----------------------->(B)
I have the following section to deal with cancel messages however I am finding that the 487 response still hits my failure_route block. The failure_route block is called for serial forking.
# CANCEL processing
if (is_method("CANCEL"))
{
if (t_check_trans())
xdbg("## BISNET ## - Cancel Processing\n");
t_relay();
exit;
}
I can obviously do something like a (!t_check_status("487")) within the failure block but is there a better way to deal with this response ?
Although this doesn’t really cause me a problem at the moment I see the following error in the debug
/usr/sbin/kamailio[23786]: ERROR: tm [tm.c:1368]: ERROR: w_t_relay_to: t_relay_to failed
/usr/sbin/kamailio[23786]: ERROR: sl [sl_funcs.c:282]: ERROR: sl_reply_error used: transaction canceled (487/SL)
As always your help is appreciated.
Steve |