Hi,<br><br>I'm trying to configure LCR with ser here is my config file. This config is sending the call to my first gateway but when My first gateway is down its not sending the calls to other gateways. Plese help me to make this working.
<br><br>------------------------<br> debug=3<br> fork=no<br> log_stderror=yes<br><br> listen=<a href="http://192.168.2.210">192.168.2.210</a> # INSERT YOUR IP ADDRESS HERE<br> port=5060<br> children=4<br><br> dns=no
<br> rev_dns=no<br> fifo="/tmp/ser_fifo"<br> fifo_db_url="mysql://ser:pass@localhost/ser"<br><br>loadmodule "/usr/local/lib/ser/modules/mysql.so"<br>loadmodule "/usr/local/lib/ser/modules/sl.so"
<br>loadmodule "/usr/local/lib/ser/modules/tm.so"<br>loadmodule "/usr/local/lib/ser/modules/rr.so"<br>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<br>loadmodule "/usr/local/lib/ser/modules/usrloc.so"
<br>loadmodule "/usr/local/lib/ser/modules/registrar.so"<br>loadmodule "/usr/local/lib/ser/modules/auth.so"<br>loadmodule "/usr/local/lib/ser/modules/auth_db.so"<br>loadmodule "/usr/local/lib/ser/modules/uri.so"
<br>loadmodule "/usr/local/lib/ser/modules/uri_db.so"<br>loadmodule "/usr/local/lib/ser/modules/domain.so"<br>loadmodule "/usr/local/lib/ser/modules/nathelper.so"<br>loadmodule "/usr/local/lib/ser/modules/avpops.so"
<br>loadmodule "/usr/local/lib/ser/modules/textops.so"<br>loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"<br>loadmodule "/usr/local/lib/ser/modules/permissions.so"<br>loadmodule "/usr/local/lib/ser/modules/acc.so"
<br>loadmodule "/usr/local/lib/ser/modules/auth_radius.so"<br>loadmodule "/usr/local/lib/ser/modules/lcr.so"<br><br><br> modparam("auth_db|permissions|uri_db|usrloc|domain", "db_url", "
mysql://ser:pass@localhost/ser")<br> modparam("auth_db", "calculate_ha1", 1)<br> modparam("auth_db", "password_column", "password")<br> modparam("nathelper", "rtpproxy_disable", 1)
<br> modparam("nathelper", "natping_interval", 0)<br><br> modparam("mediaproxy","natping_interval", 30)<br> modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
<br># modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients")<br># modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients")<br>
<br> modparam("usrloc", "db_mode", 2)<br><br> modparam("registrar", "nat_flag", 6)<br><br> modparam("rr", "enable_full_lr", 1)<br><br> modparam("tm", "fr_inv_timer", 120)
<br> modparam("tm", "fr_inv_timer_avp", "inv_timeout")<br><br> modparam("permissions", "db_mode", 1)<br> modparam("permissions", "trusted_table", "trusted")
<br><br> modparam("lcr","db_url", "mysql://ser:pass@localhost/ser")<br> modparam("lcr","gw_table","gw")<br> modparam("lcr","gw_name_column","gw_name")
<br> modparam("lcr","ip_addr_column","ip_addr")<br> modparam("lcr","port_column","port")<br> modparam("lcr","grp_id_column","grp_id")
<br> modparam("lcr","lcr_table","lcr")<br> modparam("lcr","prefix_column","prefix")<br> modparam("lcr","from_uri_column","from_uri")
<br> modparam("lcr","priority_column","priority")<br> modparam("lcr","contact_avp","1401")<br> modparam("lcr","fr_inv_timer_avp","fr_inv_timer_avp")
<br> modparam("lcr","fr_inv_timer",90)<br> modparam("lcr","fr_inv_timer_next",60)<br># ------ Account and Radius modules--------------<br>modparam("acc", "db_url", "
mysql://ser:pass@localhost/ser")<br><br>modparam("acc","log_level",1)<br>modparam("acc","log_flag",1)<br>modparam("acc", "db_flag", 1)<br><br>modparam("acc","radius_flag",1)
<br>modparam("acc","service_type",15)<br>#modparam("acc","radius_config","/usr/local/etc/radiusclient-ng/radiusclient.conf")<br><br><br> route {<br><br> # -----------------------------------------------------------------
<br> # Sanity Check Section<br> # -----------------------------------------------------------------<br> if (!mf_process_maxfwd_header("10")) {<br> sl_send_reply("483", "Too Many Hops");
<br> break;<br> };<br><br> if (msg:len > max_len) {<br> sl_send_reply("513", "Message Overflow");<br> break;<br> };<br><br> # -----------------------------------------------------------------
<br> # Record Route Section<br> # -----------------------------------------------------------------<br> if (method=="INVITE" && client_nat_test("3")) { # setflag(1);<br> # INSERT YOUR IP ADDRESS HERE
<br> record_route_preset("<a href="http://192.168.2.210:5060">192.168.2.210:5060</a>;nat=yes");<br> } else if (method!="REGISTER") {<br> record_route();<br> };<br> # -----------------------------------------------------------------
<br> # Call Tear Down Section<br> # -----------------------------------------------------------------<br> if (method=="BYE" || method=="CANCEL") { setflag(1);<br> end_media_session();<br>
};<br><br> # -----------------------------------------------------------------<br> # Loose Route Section<br> # -----------------------------------------------------------------<br> if (loose_route()) {<br>
<br> if ((method=="INVITE" || method=="REFER") && !has_totag()) {<br> sl_send_reply("403", "Forbidden Cant cross 1st bridge");<br> break;<br> };<br><br>
if (method=="INVITE") {<br><br> if (!allow_trusted()) {<br><br> if (!proxy_authorize("","subscriber")) {<br> proxy_challenge("","0");<br> break;
<br> } else if (!check_from()) {<br> sl_send_reply("403", "Use From=ID");<br> break;<br> };<br><br> consume_credentials();<br> };<br><br> if (client_nat_test("3")||search("^Route:.*;nat=yes")){
<br> setflag(6);<br> use_media_proxy();<br> };<br> };<br><br> route(1);<br> break;<br> };<br> # -----------------------------------------------------------------<br> # Call Type Processing Section
<br> # -----------------------------------------------------------------<br> if (!is_uri_host_local()) {<br> if (is_from_local() || allow_trusted()) {<br> sl_send_reply("404", "I am trusted host, ");
<br> route(4);<br> route(1);<br> } else {<br> sl_send_reply("403", "Forbidden, I am here");<br> };<br> break;<br> };<br><br> if (method=="ACK") { setflag(1);<br> route(1);
<br> break;<br> } if (method=="CANCEL") { setflag(1);<br> route(1);<br> break;<br> } else if (method=="INVITE") { setflag(1);<br># sl_send_reply("410", "I am sending your call, ");
<br> route(3);<br> break;<br> } else if (method=="REGISTER") {<br> route(2);<br> break;<br> };<br><br> lookup("aliases");<br> if (!is_uri_host_local()) {<br> route(4);<br> route(1);
<br> break;<br> };<br><br> if (!lookup("location")) {<br> sl_send_reply("404", "User Not Found");<br> break;<br> };<br><br> route(1);<br>}<br><br>route[1] {<br><br> # -----------------------------------------------------------------
<br> # Default Message Handler<br> # -----------------------------------------------------------------<br><br> t_on_reply("1");<br><br> if (!t_relay()) {<br><br> if (method=="INVITE" || method=="ACK") { setflag(1);
<br> end_media_session();<br> };<br><br> sl_reply_error();<br> };<br>}<br><br>route[2] {<br><br> # -----------------------------------------------------------------<br> # REGISTER Message Handler<br> # -----------------------------------------------------------------
<br><br> sl_send_reply("100", "Trying");<br><br> if (!search("^Contact:[ ]*\*") && client_nat_test("7")) {<br> setflag(6);<br> fix_nated_register();<br> force_rport();
<br> };<br><br> if (!www_authorize("","subscriber")) {<br> www_challenge("","0");<br> break;<br> };<br> if (!check_to()) {<br> sl_send_reply("401", "Unauthorized");
<br> break;<br> };<br><br> consume_credentials();<br><br> if (!save("location")) {<br> sl_reply_error();<br> };<br>}<br><br>route[3] {<br><br> # -----------------------------------------------------------------
<br> # INVITE Message Handler<br> # -----------------------------------------------------------------<br><br> if (client_nat_test("3")) {<br> setflag(7);<br> force_rport();<br> fix_nated_contact();<br>
};<br><br> if (!allow_trusted()) {<br><br> if (!proxy_authorize("","subscriber")) {<br> proxy_challenge("","0");<br> break;<br> } else if (!check_from()) {<br> sl_send_reply("403", "Use From=ID");
<br> break;<br> };<br><br> consume_credentials();<br> };<br><br>route(4);<br><br>if(!load_gws()){<br> sl_send_reply("500", "Internal server error, unable to load gateways");<br> break;<br>
}<br> if(!next_gw()){<br> sl_send_reply("503", "Service not available, no gateways found");<br> break;<br> };<br><br> if (!is_uri_host_local()) {<br> route(4);<br> route(1);<br> break;<br>
};<br><br><br># route(1);<br>}<br><br>route[4] {<br><br> # -----------------------------------------------------------------<br> # NAT Traversal Section<br> # -----------------------------------------------------------------
<br><br> if (isflagset(6) || isflagset(7)) {<br> if (!isflagset(8)) {<br> setflag(8);<br> use_media_proxy();<br> };<br> };<br>}<br><br>onreply_route[1] {<br><br> if ((isflagset(6) || isflagset(7)) &&
<br> (status=~"(180)|(183)|2[0-9][0-9]")) {<br><br> if (!search("^Content-Length:[ ]*0")) {<br> use_media_proxy();<br> };<br> };<br><br> if (client_nat_test("1")) {<br> fix_nated_contact();
<br> };<br>}<br><br>-------------------------------<br><br>thanks<br>arun<br>