[OpenSIPS-Users] CANCEL handling

Flavio Goncalves flavio at asteriskguide.com
Wed Jan 9 10:14:18 CET 2013

Hi Mariana,

There is the t_flush_flags to push changes in the flags after t_newtran().

For CANCEL, if you call t_check_trans, you can relay the CANCEL
automagically based on the transaction. It is like a shortcut. It is in the
default script.

if (is_method("CANCEL"))  {
        if (t_check_trans()){

Flavio E. Goncalves

2013/1/8 Mariana Arduini <marianarduini at gmail.com>

> Hello all,
> I hope somebody can give me a kind hint on what to do here.
> We have this piece of code for CANCEL handling:
>     # CANCEL processing
>     if (is_method("CANCEL")) {
>         if (t_check_trans()) {
>             t_relay();
>         }
>         exit;
>     }
> What happens is sometimes we take too long to process the INVITE due to
> some DB issues, and the UAC sends us a CANCEL before we relay the INVITE.
> We don´t use t_newtran() because of this big warning in docs saying that "the
> changes on the request that are made after this function call will not be
> saved into transaction!!!". We need to perform a lot of changes in the
> requests and I understand this wouldn´t be possible after calling
> t_newtran().
> So our transaction is not created untill we relay the INVITE, which means
> that any CANCEL received before that will be dropped.
> We also tried testing the CANCEL messages we´re receiving in these cases
> with has_totag() and loose_route(), but they won´t pass as well.
> Is there any way to verify a CANCEL message in this scenario and relay it
> in case is belongs to a valid transaction?
> Any help will be much appreciated.
> Regards,
> Mariana.
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130109/17cfec6f/attachment.htm>

More information about the Users mailing list