On 9/21/06, Steve Blair <[EMAIL PROTECTED]> wrote:


Hi Steve,

In the proxy you can check the status of the t_relay and take corrective
action based on the result. Something like "if (t_check_status("403"))
... do something... " should work. What action you take will depend upon
the desired outcome. You could send the call to voicemail, a greeting
server, a different gateway, etc.


Yes, that's exactly what I'm looking for. But there are some problems I'm
facing, which most probably is due to my own lack of understanding about
the available knobs:

1- When t-relay() return, the proxy already send the failure notice to
the client. This is not what I want, the "corrective action" must be
transparant
to the user.

2-  I have two SRV's with the same weight, I do not see any kind of round-robin.
The request goes to only one of them.

Here is the (probably faulty) config:

route {
 ...
               rewriteport ("");
               #t_on_failure("1");
               xlog("L_INFO", "Got the call\n");
               if (! t_relay()) {
                      if (t_check_status("(403|487)|(408|477)")) {
                          xlog("L_ERR", "initial call failed\n");
                          if (t_newtran()) {
                            xlog("L_ERR", "Let's try again\n");
                            t_relay();
                          }
                      }
               }
...
}

Can you help?

Ramin

In the phones you can use SRV records to present a weighted list of
proxy servers. The phone would register to a domain name which is a SRV
record. This record resolves into the A records for each viable proxy.
You could weight and prioritize the A records thereby giving the phones
an ordered list of servers to try.

-Steve

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

Reply via email to