[OpenSIPS-Users] CANCELing transactions while perl_exec() running
Alex Massover
alex at jajah.com
Sun Aug 17 13:38:01 CEST 2008
Hi!
Here's my logic:
[…]
if(is_method("INVITE"))
{ if(perl_exec("call_backend")) { …..
[…]
if(is_method("CANCEL")) {
if(t_check_trans())
{
if(!t_relay())
{
sl_reply_error();
}
}
exit;
}
The purpose of perl_exec("call_backend") is to authenticate each call, before the call is routed to destination.
I have a following problem - when UAC sends CANCEL while perl_exec is still running. In this case t_check_trans() returns false, and CANCEL is silently dropped, so UAC retransmits CANCEL until timer fires.
I wonder how I can correctly process CANCEL for transaction while perl_exec is still running?
AFAIU, if I just reply with 200 to CANCEL it's not good, because the when perl_exec exits the transactions will be continued. And if I remove t_check_trans() it also will make no good.
Probably I need to reply with 200 but really stop this transaction from been continued after perl_exec, but I can't figure out how to do it.
--
Best Regards,
Alex Massover
************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
************************************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20080817/6020b37e/attachment.htm
More information about the Users
mailing list