[OpenSIPS-Users] CANCELing transactions while perl_exec() running

Alex Massover alex at jajah.com
Mon Aug 18 10:29:27 CEST 2008


Hi Bogdan!

You wrote: " Not sure where the problem is. if your script is still running, it means your opensips hasn't yet sent any INVITE out, so nothing is to be
cancelled - so the received CANCELs are dropped."

This is exactly what I want to avoid – dropping CANCELs. From UAC point of view it's incorrect behavior, like we don't support CANCEL. And even worse – we'll continue with transaction and send INVITE out when perl_exec exits, while UAC will think that the transaction is cancelled.

I want to achieve answering with 200 to CANCELs and also to stop executing the transactions when perl_exec exits.

Something like creating new transaction with t_newtran() before perl_exec and checking if transaction was cancelled after perl_exec. The only problem is that t_was_cancelled() is not available in REQUEST_ROUTE.

Not working idea:

if(is_method("INVITE"))
        {   t_newtrans();
                if(perl_exec("call_backend") && !t_was_cancelled()) { [continue]

--
Best Regards,
Alex Massover
VoIP R&D TL
Jajah Inc.

-----Original Message-----
From: Bogdan-Andrei Iancu [mailto:bogdan at voice-system.ro]
Sent: Sunday, August 17, 2008 8:28 PM
To: Alex Massover
Cc: users at lists.opensips.org
Subject: Re: [OpenSIPS-Users] CANCELing transactions while perl_exec() running

Hi Alex,

Not sure where the problem is. if your script is still running, it means
your opensips hasn't yet sent any INVITE out, so nothing is to be
cancelled - so the received CANCELs are dropped.
Once the INVITE is sent out, the transaction exists and t_check_trans()
will return true for the CANCEL, so the CANCEL will be sent out to the
same destination as INVITE.

Regards,
Bogdan




 
 
************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
************************************************************************************






More information about the Users mailing list