try via $(<reply>hdr(Reason)) in failure route, but be sure that the 402 is the winning reply, triggering the failover route.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Bootcamp 2021 online
  https://opensips.org/training/OpenSIPS_eBootcamp_2021/

On 4/16/21 2:59 PM, solarmon wrote:
Hi Bogdan,

It is in the response coming back to us from the dispatcher endpoint. In this case, it is an 402 Bad Gateway message, which has a Reason header with the cause code in it.

On Fri, 16 Apr 2021 at 12:43, Bogdan-Andrei Iancu <[email protected] <mailto:[email protected]>> wrote:

    Where do you want to extract the Reason from (like sip msg) ?

    Regards,

    Bogdan-Andrei Iancu

    OpenSIPS Founder and Developer
       https://www.opensips-solutions.com
    OpenSIPS Bootcamp 2021 online
       https://opensips.org/training/OpenSIPS_eBootcamp_2021/

    On 4/16/21 1:28 PM, solarmon wrote:
    Hi Bogdan,

    Thanks for the response amd link to append_to_reply()

    What is the best function to use to extract the Reason header to
    feed in to append_to_reply()?

    Thank you.

    On Fri, 16 Apr 2021 at 11:07, Bogdan-Andrei Iancu
    <[email protected] <mailto:[email protected]>> wrote:

        Hi,

        use the append_to_reply() function

        
https://opensips.org/html/docs/modules/3.1.x/sipmsgops.html#func_append_to_reply

        Regards,

        Bogdan-Andrei Iancu

        OpenSIPS Founder and Developer
           https://www.opensips-solutions.com
        OpenSIPS Bootcamp 2021 online
           https://opensips.org/training/OpenSIPS_eBootcamp_2021/

        On 4/16/21 12:22 PM, solarmon wrote:
        Hi,

        We have a code that response back with a "503 Service not
        available" if it has exhausted all the dispatcher endpoints
        - see end of email.

        It would be useful if we casn send back the Reason header of
        the last rejection. Could this be done and what should I
        look at?

        Thank you!

        failure_route[call_failover]
        {
                xlog("[$ci] call failed to established with
        $T_reply_code code\n");

                rtpproxy_unforce("$avp(rtpp_set)");

                if (t_was_cancelled()) {
                        t_reply("487","Request cancelled");
                        exit;
                }

                # any failure indication ?
                if ( t_check_status("[56][0-9][0-9]")
                || (t_check_status("408") && t_local_replied("all"))
                ) {
                        xlog("[$ci] destination $rd failed  with
        $T_reply_code -> retry\n ");

                        ###ds_mark_dst("p");

                        if ( ds_next_domain() ) {
                                xlog("[$ci] using new destination
        <$rd>\n ");

                                # send it out again
        t_on_failure("call_failover");
                                t_relay();
                                exit;
                        } else {
                                xlog("[$ci] no other destination to
        retry\n ");
                                t_reply("503","Service not available");
                                exit;
                        }
                }

                # if call failure, allow the reply to propagate to
        caller
                exit;
        }

        _______________________________________________
        Users mailing list
        [email protected]  <mailto:[email protected]>
        http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to