[Kamailio-Users] Trying to deliver a call across multiple peers with t_relay
Ovidiu Sas
osas at voipembedded.com
Fri Nov 28 15:58:42 CET 2008
You need to use the call append_branch() on the failure_route before
calling t_relay().
Check the following sample config and adapt the failure logic for your needs:
http://www.voipembedded.com/resources/openser_cr.cfg
Regards,
Ovidiu Sas
On Fri, Nov 28, 2008 at 9:44 AM, Tyler Brauer <tbtbrauer at gmail.com> wrote:
> Thank you Klaus for the suggestions. I've implemented the
> configuration below. When the first t_relay fails, Kamailio generates
> the 408 Request Timeout and doesn't attempt to try an INVITE to the
> second address. This what the syslog says:
>
> Nov 28 06:11:13 server kamailio[1315]: Attempting Carrier 1
> Nov 28 06:11:28 server kamailio[1323]: Attempting Carrier 2
> Nov 28 06:11:28 server kamailio[1323]: ERROR:tm:t_forward_nonack: no
> branch for forwarding
> Nov 28 06:11:28 server kamailio[1323]: ERROR:tm:w_t_relay:
> t_forward_nonack failed
> Nov 28 06:11:28 server kamailio[1317]: Attempting Carrier 1
>
> And here's the watered-down version of my configuration.
>
> # - - - - - - - - - - - - - - - - - - - -
>
> route[0]
> {
> if($si=='10.10.10.10')
> {
> # Allowed Host
> route(1);
> }
> else
> {
> sl_send_reply("603", "Decline");
> exit;
> }
> }
>
> # - - - - - - - - - - - - - - - - - - - -
>
> route[1]
> {
> if(msg:len > 2048)
> {
> sl_send_reply("513", "Message Too Big");
> exit;
> }
>
> if (!mf_process_maxfwd_header("10"))
> {
> sl_send_reply("483", "Too Many Hops");
> exit;
> }
>
> if (method==OPTIONS) {
> if ((uri==myself) && (! uri=~"sip:.*[@]+.*")) {
> options_reply();
> exit;
> }
> }
>
> if (!method=="REGISTER")
> {
> record_route();
> }
>
> if (loose_route())
> {
> append_hf("P-hint: rr-enforced\r\n");
> }
>
> if (is_method("CANCEL"))
> {
> if (t_check_trans())
> {
> t_relay();
> }
> exit;
> }
>
> route(2);
> }
>
> # - - - - - - - - - - - - - - - - - - - -
>
> route[2]
> {
> xlog("L_INFO", "Attempting Carrier 1");
> t_on_failure("3");
> t_relay("udp:1.1.1.1:5090","0x2");
> exit;
> }
>
> # - - - - - - - - - - - - - - - - - - - -
>
> failure_route[3]
> {
> xlog("L_INFO", "Attempting Carrier 2");
> t_on_failure("4");
> t_relay("udp:2.2.2.2:5060");
> exit;
> }
>
> # - - - - - - - - - - - - - - - - - - - -
>
> failure_route[4]
> {
> # I would like to know how to redirect the
> # original call destined to extension "100"
> # to 2015551234, but the originating server
> # will get nervous if the username@ part
> # of its SIP request is changed. How could
> }
>
> # - - - - - - - - - - - - - - - - - - - -
>
> Any further suggestions would be appreciated. Thanks!
>
> _______________________________________________
> Users mailing list
> Users at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>
More information about the Users
mailing list