Do you need to proxy calls to asterisk? If that is the case, you need to
make sure that the NAT flag is set.
g-)
Arun Kumar wrote:
Hi,
I've configured my SER to send calls to my Asterisk server when user
connects to ser and dial a number ser forwards this to my Asterisk
server and my asterisk server ask for my pin number saying "Please
enter your pin number". In this config I'm using
rewritehostport(ip:port) to forward the calls and its working fine.
But, Now I've implemented the LCR when I see ngrep calls are going to
my asterisk server but I'm not able to hear any sound from my asterisk
server saying "enter your pin number". Please help in this issue. Here
is my ser.cfg 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:arun@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"
loadmodule "/usr/local/lib/ser/modules/xlog.so"
modparam("auth_db|permissions|uri_db|usrloc|domain", "db_url",
"
mysql://ser:arun@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:arun@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:arun@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;
};
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");
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method=="INVITE" && client_nat_test("3")) {
# 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);
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();
};
if (!is_uri_host_local()) {
route(4);
route(1);
break;
};
if (!next_gw()) {
t_reply("503", "Service not available - No more gateways");
break;
} else {
t_on_failure("2");
t_relay();
break;
};
route(4);
route(1);
}
route[4] {
# -----------------------------------------------------------------
# NAT Traversal Section
# -----------------------------------------------------------------
if (isflagset(6) || isflagset(7)) {
if (!isflagset(8)) {
setflag(8);
use_media_proxy();
};
};
}
#route[5] {
# -----------------------------------------------------------------
# PSTN Handler
# -----------------------------------------------------------------
# rewritehostport(" 192.168.2.202:5060 <http://192.168.2.202:5060>");
# INSERT YOUR PSTN GATEWAY IP ADDRESS
# avp_write("i:45", "inv_timeout");
# route(1);
#}
onreply_route[1] {
xlog("L_INFO", "In onreply route");
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();
};
}
failure_route[2] {
if (!next_gw()) {
t_reply("503", "Service not available - No more gateways");
break;
} else {
t_on_failure("2");
t_relay();
break;
}
}
thanks
arun
------------------------------------------------------------------------
_______________________________________________
Serusers mailing list
Serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers