<div><div dir="auto">Remove append_branch().</div></div><div><br><div class="gmail_quote"><div dir="ltr">On Mon, 17 Dec 2018 at 6:08 AM, Boden Garman <<a href="mailto:bpgarman@fastmail.fm">bpgarman@fastmail.fm</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u><div><div>Hi list,<br></div><div><br></div><div>I'm trying to play an announcement for my users when my PSTN gateway responds with a 404 Not Found (Reason: Q.850;cause=3), indicating a wrong number. I'm a bit lost and would appreciate any advice. </div><div><br></div><div>What I am seeing is two parallel SIP invites, one to my announcement server (hooray!) and one to the PSTN gateway again (which I don't want). How do I stop the original branch from starting again? <br></div><div><br></div><div>I've tried changing the order of rewritehostport and append_branch without any difference. I've also tried to use t_relay() instead of the RELAY route.<br></div><div><br></div><div>I'm using Kamailio 5.1 and have modified the deafult kamailio.cfg<br></div><div><br></div><div>Thanks!<br></div><div>Boden<br></div><div><br></div><div>I think this is the relevant parts of the config:<br></div><div><br></div><div># PSTN GW routing<br></div><div>route[PSTN] {<br></div><div>         [PSTN regex logic omitted]<br></div><div><br></div><div>        # classify as an outbound call<br></div><div>        set_dlg_profile("outbound_calls");<br></div><div><br></div><div>        # select a PSTN gateway from the dispatcher<br></div><div>        if (!ds_select_dst("66", "8")) {<br></div><div>                send_reply("404", "No destination");<br></div><div>                exit;<br></div><div>        }<br></div><div><br></div><div>        # failover if the selected PSTN gateway is down<br></div><div>        t_on_failure("RTF_DISPATCH");<br></div><div><br></div><div>        route(RELAY);<br></div><div>        exit;<br></div><div>}<br></div><div><br></div><div><br></div><div># Try next destinations in failure route<br></div><div>failure_route[RTF_DISPATCH] {<br></div><div>        xlog("inside RTF_DISPATCH");<br></div><div>        if (t_is_canceled()) {<br></div><div>                exit;<br></div><div>        }<br></div><div><br></div><div>        # wrong number from PSTN<br></div><div>        if (t_check_status("404")) {<br></div><div>                append_branch();<br></div><div>                append_hf("X-Application: announcement\r\n");<br></div><div>                append_hf("X-Announcement-Playback: wrong-number\r\n");<br></div><div>                route(TO_ANNOUNCEMENT);<br></div><div>                exit;<br></div><div>        }<br></div><div><br></div><div>        # next DST - only for 500 or local timeout<br></div><div>        if (t_check_status("500") or (t_branch_timeout() and !t_branch_replied())) {<br></div><div>                xlog("selecting next destination");<br></div><div>                if (ds_next_dst()) {<br></div><div>                        t_on_failure("RTF_DISPATCH");<br></div><div>                        route(RELAY);<br></div><div>                        exit;<br></div><div>                }<br></div><div>        }<br></div><div>}<br></div><div><br></div><div><br></div><div># Routing to announcement server<br></div><div>route[TO_ANNOUNCEMENT] {<br></div><div>        if (!is_method("INVITE")) {<br></div><div>                return;<br></div><div>        }<br></div><div>        rewritehostport('ANNOUNCEMENT_SERVER:5060');<br></div><div>        route(RELAY);<br></div><div>        exit;<br></div><div>}<br></div></div>_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div></div>