[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()){
t_relay();
exit;
}
}
Flavio E. Goncalves
www.sippulse.com
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