Hi
please help with LCR can some one show his lcr config file please. I'm not able to make it working.
please help
thanks arun
A quick search on iptel.org would have given you these: http://www.iptel.org/lcr_module_drop_in_for_0_9_x http://www.iptel.org/lcr_with_mysql_accounting
Arun Kumar wrote:
Hi
please help with LCR can some one show his lcr config file please. I'm not able to make it working.
please help
thanks arun
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hi
thanks for your prompt reply but I've already checked and I'm not able to make my lcr working by seeing these two pages I got this conf but
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. Here is my config file.
------------------------ debug=3 fork=no log_stderror=yes
listen=192.168.2.210 # INSERT YOUR IP ADDRESS HERE port=5060 children=4
dns=no rev_dns=no fifo="/tmp/ser_fifo" fifo_db_url="mysql://ser:pass@localhost/ser"
loadmodule "/usr/local/lib/ser/modules/mysql.so" loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so" loadmodule "/usr/local/lib/ser/modules/uri.so" loadmodule "/usr/local/lib/ser/modules/uri_db.so" loadmodule "/usr/local/lib/ser/modules/domain.so" loadmodule "/usr/local/lib/ser/modules/nathelper.so" loadmodule "/usr/local/lib/ser/modules/avpops.so" loadmodule "/usr/local/lib/ser/modules/textops.so" loadmodule "/usr/local/lib/ser/modules/mediaproxy.so" loadmodule "/usr/local/lib/ser/modules/permissions.so" loadmodule "/usr/local/lib/ser/modules/acc.so" loadmodule "/usr/local/lib/ser/modules/auth_radius.so" loadmodule "/usr/local/lib/ser/modules/lcr.so"
modparam("auth_db|permissions|uri_db|usrloc|domain", "db_url", " mysql://ser:pass@localhost/ser") modparam("auth_db", "calculate_ha1", 1) modparam("auth_db", "password_column", "password") modparam("nathelper", "rtpproxy_disable", 1) modparam("nathelper", "natping_interval", 0)
modparam("mediaproxy","natping_interval", 30) modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock") # modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients") # modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients")
modparam("usrloc", "db_mode", 2)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
modparam("tm", "fr_inv_timer", 120) modparam("tm", "fr_inv_timer_avp", "inv_timeout")
modparam("permissions", "db_mode", 1) modparam("permissions", "trusted_table", "trusted")
modparam("lcr","db_url", "mysql://ser:pass@localhost/ser") modparam("lcr","gw_table","gw") modparam("lcr","gw_name_column","gw_name") modparam("lcr","ip_addr_column","ip_addr") modparam("lcr","port_column","port") modparam("lcr","grp_id_column","grp_id") modparam("lcr","lcr_table","lcr") modparam("lcr","prefix_column","prefix") modparam("lcr","from_uri_column","from_uri") modparam("lcr","priority_column","priority") modparam("lcr","contact_avp","1401") modparam("lcr","fr_inv_timer_avp","fr_inv_timer_avp") modparam("lcr","fr_inv_timer",90) modparam("lcr","fr_inv_timer_next",60) # ------ Account and Radius modules-------------- modparam("acc", "db_url", " mysql://ser:pass@localhost/ser")
modparam("acc","log_level",1) modparam("acc","log_flag",1) modparam("acc", "db_flag", 1)
modparam("acc","radius_flag",1) modparam("acc","service_type",15) #modparam("acc","radius_config","/usr/local/etc/radiusclient-ng/radiusclient.conf")
route {
# ----------------------------------------------------------------- # Sanity Check Section # ----------------------------------------------------------------- if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); break; };
if (msg:len > max_len) { sl_send_reply("513", "Message Overflow"); break; };
# ----------------------------------------------------------------- # Record Route Section # ----------------------------------------------------------------- if (method=="INVITE" && client_nat_test("3")) { # setflag(1); # INSERT YOUR IP ADDRESS HERE record_route_preset("192.168.2.210:5060;nat=yes"); } else if (method!="REGISTER") { record_route(); }; # ----------------------------------------------------------------- # Call Tear Down Section # ----------------------------------------------------------------- if (method=="BYE" || method=="CANCEL") { setflag(1); end_media_session(); };
# ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) {
if ((method=="INVITE" || method=="REFER") && !has_totag()) { sl_send_reply("403", "Forbidden Cant cross 1st bridge"); break; };
if (method=="INVITE") {
if (!allow_trusted()) {
if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); break; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); break; };
consume_credentials(); };
if (client_nat_test("3")||search("^Route:.*;nat=yes")){ setflag(6); use_media_proxy(); }; };
route(1); break; }; # ----------------------------------------------------------------- # Call Type Processing Section # ----------------------------------------------------------------- if (!is_uri_host_local()) { if (is_from_local() || allow_trusted()) { sl_send_reply("404", "I am trusted host, "); route(4); route(1); } else { sl_send_reply("403", "Forbidden, I am here"); }; break; };
if (method=="ACK") { setflag(1); route(1); break; } if (method=="CANCEL") { setflag(1); route(1); break; } else if (method=="INVITE") { setflag(1); # sl_send_reply("410", "I am sending your call, "); route(3); break; } else if (method=="REGISTER") { route(2); break; };
lookup("aliases"); if (!is_uri_host_local()) { route(4); route(1); break; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); break; };
route(1); }
route[1] {
# ----------------------------------------------------------------- # Default Message Handler # -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") { setflag(1); end_media_session(); };
sl_reply_error(); }; }
route[2] {
# ----------------------------------------------------------------- # REGISTER Message Handler # -----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!search("^Contact:[ ]**") && client_nat_test("7")) { setflag(6); fix_nated_register(); force_rport(); };
if (!www_authorize("","subscriber")) { www_challenge("","0"); break; }; if (!check_to()) { sl_send_reply("401", "Unauthorized"); break; };
consume_credentials();
if (!save("location")) { sl_reply_error(); }; }
route[3] {
# ----------------------------------------------------------------- # INVITE Message Handler # -----------------------------------------------------------------
if (client_nat_test("3")) { setflag(7); force_rport(); fix_nated_contact(); };
if (!allow_trusted()) {
if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); break; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); break; };
consume_credentials(); };
route(4);
if(!load_gws()){ sl_send_reply("500", "Internal server error, unable to load gateways"); break; } if(!next_gw()){ sl_send_reply("503", "Service not available, no gateways found"); break; };
if (!is_uri_host_local()) { route(4); route(1); break; };
# route(1); }
route[4] {
# ----------------------------------------------------------------- # NAT Traversal Section # -----------------------------------------------------------------
if (isflagset(6) || isflagset(7)) { if (!isflagset(8)) { setflag(8); use_media_proxy(); }; }; }
onreply_route[1] {
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:[ ]*0")) { use_media_proxy(); }; };
if (client_nat_test("1")) { fix_nated_contact(); }; }
thanks very much
arun
On 1/10/07, Greger V. Teigre greger@teigre.com wrote:
A quick search on iptel.org would have given you these: http://www.iptel.org/lcr_module_drop_in_for_0_9_x http://www.iptel.org/lcr_with_mysql_accounting
Arun Kumar wrote:
Hi
please help with LCR can some one show his lcr config file please. I'm not able to make it working.
please help
thanks arun
Serusers mailing list Serusers@lists.iptel.orghttp://lists.iptel.org/mailman/listinfo/serusers
Arun:
I would try something like the following:
if (!load_gws()) { sl_send_reply("500", "Server Internal Error - Cannot load gateways"); break; } else { xlog("L_INFO", "\n[SER]: - [$Tf] Method: <$rm> R-uri: <$ru> From: <$fu> To <$tu> : Successfully Loaded Gateway List\n"); };
......
if (!next_gw()) { t_reply("503", "Service not available - No more gateways"); break; } else { t_on_failure("2"); <--- This will be where you load the next gateway t_relay(); break; };
failure_route[2] {
if (!next_gw()) { xlog("L_CRIT","No more gateways for <$tu>\n"); t_reply("503", "Service not available - No more gateways"); break; } else { t_on_failure("2"); t_relay(); break; } }
-Steve
Arun Kumar wrote:
Hi
thanks for your prompt reply but I've already checked and I'm not able to make my lcr working by seeing these two pages I got this conf but
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. Here is my config file.
debug=3 fork=no log_stderror=yes
listen= 192.168.2.210 http://192.168.2.210/ # INSERT YOUR IP ADDRESS HERE port=5060 children=4
dns=no rev_dns=no fifo="/tmp/ser_fifo" fifo_db_url="mysql://ser:pass@localhost/ser"
loadmodule "/usr/local/lib/ser/modules /mysql.so" loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so" loadmodule "/usr/local/lib/ser/modules/uri.so" loadmodule "/usr/local/lib/ser/modules/uri_db.so" loadmodule "/usr/local/lib/ser/modules/domain.so" loadmodule "/usr/local/lib/ser/modules/nathelper.so" loadmodule "/usr/local/lib/ser/modules/avpops.so" loadmodule "/usr/local/lib/ser/modules/textops.so" loadmodule "/usr/local/lib/ser/modules/mediaproxy.so" loadmodule "/usr/local/lib/ser/modules/permissions.so" loadmodule "/usr/local/lib/ser/modules/acc.so" loadmodule "/usr/local/lib/ser/modules/auth_radius.so" loadmodule "/usr/local/lib/ser/modules/lcr.so"
modparam("auth_db|permissions|uri_db|usrloc|domain", "db_url", " mysql://ser:pass@localhost/ser") modparam("auth_db", "calculate_ha1", 1) modparam("auth_db", "password_column", "password") modparam("nathelper", "rtpproxy_disable", 1) modparam("nathelper", "natping_interval", 0)
modparam("mediaproxy","natping_interval", 30) modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock") # modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients") # modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients")
modparam("usrloc", "db_mode", 2)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
modparam("tm", "fr_inv_timer", 120) modparam("tm", "fr_inv_timer_avp", "inv_timeout")
modparam("permissions", "db_mode", 1) modparam("permissions", "trusted_table", "trusted")
modparam("lcr","db_url", "mysql://ser:pass@localhost/ser") modparam("lcr","gw_table","gw") modparam("lcr","gw_name_column","gw_name") modparam("lcr","ip_addr_column","ip_addr") modparam("lcr","port_column","port") modparam("lcr","grp_id_column","grp_id") modparam("lcr","lcr_table","lcr") modparam("lcr","prefix_column","prefix") modparam("lcr","from_uri_column","from_uri") modparam("lcr","priority_column","priority") modparam("lcr","contact_avp","1401") modparam("lcr","fr_inv_timer_avp","fr_inv_timer_avp") modparam("lcr","fr_inv_timer",90) modparam("lcr","fr_inv_timer_next",60) # ------ Account and Radius modules-------------- modparam("acc", "db_url", " mysql://ser:pass@localhost/ser")
modparam("acc","log_level",1) modparam("acc","log_flag",1) modparam("acc", "db_flag", 1)
modparam("acc","radius_flag",1) modparam("acc","service_type",15) #modparam("acc","radius_config","/usr/local/etc/radiusclient-ng/radiusclient.conf")
route {
# ----------------------------------------------------------------- # Sanity Check Section # ----------------------------------------------------------------- if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); break; }; if (msg:len > max_len) { sl_send_reply("513", "Message Overflow"); break; }; # ----------------------------------------------------------------- # Record Route Section # ----------------------------------------------------------------- if (method=="INVITE" && client_nat_test("3")) { # setflag(1); # INSERT YOUR IP ADDRESS HERE record_route_preset("192.168.2.210:5060
http://192.168.2.210:5060/;nat=yes"); } else if (method!="REGISTER") { record_route(); }; # ----------------------------------------------------------------- # Call Tear Down Section # ----------------------------------------------------------------- if (method=="BYE" || method=="CANCEL") { setflag(1); end_media_session(); };
# ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) { if ((method=="INVITE" || method=="REFER") && !has_totag()) { sl_send_reply("403", "Forbidden Cant cross 1st bridge"); break; }; if (method=="INVITE") { if (!allow_trusted()) { if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); break; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); break; }; consume_credentials(); }; if (client_nat_test("3")||search("^Route:.*;nat=yes")){ setflag(6); use_media_proxy(); }; }; route(1); break;
}; # ----------------------------------------------------------------- # Call Type Processing Section # ----------------------------------------------------------------- if (!is_uri_host_local()) { if (is_from_local() || allow_trusted()) { sl_send_reply("404", "I am trusted host, "); route(4); route(1); } else { sl_send_reply("403", "Forbidden, I am here"); }; break; };
if (method=="ACK") { setflag(1); route(1); break; } if (method=="CANCEL") { setflag(1); route(1); break; } else if (method=="INVITE") { setflag(1); # sl_send_reply("410", "I am sending your call, "); route(3); break; } else if (method=="REGISTER") { route(2); break; };
lookup("aliases"); if (!is_uri_host_local()) { route(4); route(1); break; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); break; };
route(1); }
route[1] {
# ----------------------------------------------------------------- # Default Message Handler # -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") { setflag(1); end_media_session(); }; sl_reply_error();
}; }
route[2] {
# ----------------------------------------------------------------- # REGISTER Message Handler # -----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!search("^Contact:[ ]**") && client_nat_test("7")) { setflag(6); fix_nated_register(); force_rport(); };
if (!www_authorize("","subscriber")) { www_challenge("","0"); break; }; if (!check_to()) { sl_send_reply("401", "Unauthorized"); break; };
consume_credentials();
if (!save("location")) { sl_reply_error(); }; }
route[3] {
# ----------------------------------------------------------------- # INVITE Message Handler # -----------------------------------------------------------------
if (client_nat_test("3")) { setflag(7); force_rport(); fix_nated_contact(); };
if (!allow_trusted()) {
if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); break; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); break; }; consume_credentials();
};
route(4);
if(!load_gws()){ sl_send_reply("500", "Internal server error, unable to load gateways"); break; } if(!next_gw()){ sl_send_reply("503", "Service not available, no gateways found"); break; };
if (!is_uri_host_local()) { route(4); route(1); break; };
# route(1); }
route[4] {
# ----------------------------------------------------------------- # NAT Traversal Section # -----------------------------------------------------------------
if (isflagset(6) || isflagset(7)) { if (!isflagset(8)) { setflag(8); use_media_proxy(); }; }; }
onreply_route[1] {
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:[ ]*0")) { use_media_proxy(); };
};
if (client_nat_test("1")) { fix_nated_contact(); }; }
thanks very much
arun
On 1/10/07, * Greger V. Teigre* <greger@teigre.com mailto:greger@teigre.com> wrote:
A quick search on iptel.org <http://iptel.org> would have given you these: http://www.iptel.org/lcr_module_drop_in_for_0_9_x http://www.iptel.org/lcr_with_mysql_accounting Arun Kumar wrote:
Hi please help with LCR can some one show his lcr config file please. I'm not able to make it working. please help thanks arun ------------------------------------------------------------------------ _______________________________________________ Serusers mailing list Serusers@lists.iptel.org <mailto:Serusers@lists.iptel.org> http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers