[OpenSER-Users] Failure route after parallel forking (was "Problem with redirection (302 Moved temporarly)")

Antonio Reale ant.reale at gmail.com
Wed Apr 16 18:08:42 CEST 2008


(Sorry... losed quotation symbol in the last post)

Bogdan,
thank you very much for help.


2008/4/16, Bogdan-Andrei Iancu <bogdan at voice-system.ro>:

> So, if one of your SPAs is sending 302, this will not hit failure route as
you still have the second branch still ringing. Only if the
> second branch will fail too, the whole transaction will fail and the
failure route will be called.

So can I intercept the 302 response in an onreply_route? I tryied to put the
below configuration taken from sipwise inside the onreply_route but some of
the used functions cannot be used in the onreply_route.


-----------------------------------------------------------------------------------------------------------------------
      if(t_check_status("301|302"))
            {
                    avp_delete("$avp(s:acc_caller_user)/g");
                    avp_delete("$avp(s:acc_caller_domain)/g");
                    avp_delete("$avp(s:acc_state)/g");
                    avp_copy("$avp(s:acc_callee_user)",
"$avp(s:acc_caller_user)");
                    avp_copy("$avp(s:acc_callee_domain)",
"$avp(s:acc_caller_domain)");
                    $avp(s:acc_state) = "cfc";
                    setflag(29);
                    if(!get_redirects("1:1"))
                    {

                            xlog("L_ERROR", "Failed to fetch contact '$ct'
from 301/302 - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
                            acc_db_request("480", "acc");
                            t_reply("480", "Temporarily Unavailable");
                            exit;
                    }
                    # get last URI from destination-set and set it as R-URI
                    avp_delete("$avp(s:tmp)/g");
                    $avp(s:tmp) = $ds;
                    avp_subst("$avp(s:tmp)", "/.*(sip:.+@[^:;>]+).*$/\1/");
                    avp_pushto("$ru", "$avp(s:tmp)");
                    setflag(29);
                    append_branch();

                    t_on_branch("1");
                    xlog("L_INFO", "Redirect from UAC intercepted - M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
                    route(13);
                    exit;
            }

            t_on_branch("1");
            xlog("L_INFO", "CFC detected - M=$rm RURI=$ru F=$fu T=$tu IP=$si
ID=$ci\n");
            route(13);

-----------------------------------------------------------------------------------------------------


>   Regards,
>   Bogdan

Best regards,
Antonio.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20080416/2ea6e0ce/attachment.htm>


More information about the sr-users mailing list