<br><br><span class="gmail_quote"><br></span><div>Hi users ,<br>
<br>
I am using ser.cfg from <a href="http://onsip.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">onsip.org</a> and because i am not a programmer
(means i dont understand the language)I am using the config file as i
downloaded , before i gave a lot messages regarding this getting of
multiple records in radius database as well as in SER mysql(ac)
database also ; i am attaching the ser.cfg below please let me
know where to set flag so that i can get single record per call ;-)
thank you.<br>
<br>
<br>
<br>
debug=4<br>
fork=yes<br>
log_stderror=yes<br>
<br>
listen=My Ip address # INSERT YOUR IP ADDRESS HERE<br>
port=5060<br>
children=5<br>
<br>
<br>
<br>
dns=no<br>
rev_dns=no<br>
fifo="/tmp/ser_fifo"<br>
fifo_mode=766<br>
fifo_db_url="mysql://ser:heslo@localhost/ser"<br>
<br>
sip_warning=yes<br>
server_signature=no<br>
<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/mediaproxy.so"<br>
loadmodule "/usr/local/lib/ser/modules/nathelper.so"<br>
loadmodule "/usr/local/lib/ser/modules/textops.so"<br>
loadmodule "/usr/local/lib/ser/modules/xlog.so"<br>
loadmodule "/usr/local/lib/ser/modules/avpops.so"<br>
loadmodule "/usr/local/lib/ser/modules/permissions.so"<br>
loadmodule "/usr/local/lib/ser/modules/acc.so"<br>
<br>
modparam("auth_db|permissions|domain|uri_db|usrloc", "db_url", "mysql://ser:heslo@localhost/ser")<br>
modparam("auth_db", "calculate_ha1", 1)<br>
modparam("auth_db", "password_column", "password")<br>
<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("xlog", "buf_size", 8192)<br>
<br>
modparam("tm", "fr_inv_timer", 27)<br>
modparam("tm", "fr_inv_timer_avp", "inv_timeout")<br>
modparam("permissions", "db_mode", 1)<br>
modparam("permissions", "trusted_table", "trusted")<br>
modparam("avpops", "avp_url", "mysql://ser:heslo@localhost/ser")<br>
modparam("avpops", "avp_table", "usr_preferences")<br>
<br>
# -- acc params --<br>
# set the reporting log level<br>
modparam("acc", "log_level", 1)<br>
# number of flag, which will be used for accounting; if a message is<br>
# labeled with this flag, its completion status will be reported<br>
modparam("acc", "radius_flag", 11 )<br>
modparam("acc", "radius_missed_flag",12)<br>
modparam("acc", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf")<br>
modparam("acc", "service_type", 15)<br>
modparam("acc", "db_flag",13)<br>
modparam("acc", "db_table_acc", "acc")<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")) {<br>
# INSERT YOUR IP ADDRESS HERE<br>
record_route_preset("<a href="http://81.21.33.35:5060" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">81.21.33.35: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") {<br>
end_media_session();<br>
};<br>
# -----------------------------------------------------------------<br>
# Loose Route Section<br>
# -----------------------------------------------------------------<br>
<span style="font-weight: bold; font-style: italic;">setflag(11);</span>
if (loose_route()
){
------------------------------------------------------>>>>>>>>>>here
i set flag for radius accounting ;<br>
<br>
# mark routing logic in request<br>
#append_hf("P-hint: rr-enforced\r\n"); <br>
<br>
t_relay();<br>
route(1);<br>
break;<br>
<br>
};<br>
<br>
<br>
<br>
<br>
# -----------------------------------------------------------------<br>
# Call Type Processing Section<br>
# -----------------------------------------------------------------<br>
if (!is_uri_host_local()) {<br>
if (is_from_local() || allow_trusted()) {<br>
route(4);<br>
route(1);<br>
} else {<br>
sl_send_reply("403", "Forbidden");<br>
};<br>
break;<br>
};<br>
<br>
<br>
if (method=="CANCEL") {<br>
route(1);<br>
break;<br>
} else if (method=="INVITE") {<br>
route(3);<br>
break;<br>
} else if (method=="REGISTER") {<br>
route(2);<br>
break;<br>
};<br>
<br>
lookup("aliases");<br>
if (uri!=myself) {<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>
# send it out now; use stateful forwarding as it works reliably<br>
# even for UDP2TCP<br>
<br>
t_on_reply("1");<br>
<br>
if (!t_relay()) {<br>
<br>
if (method=="INVITE" || method=="ACK") {<br>
end_media_session();<br>
};<br>
<br>
sl_reply_error();<br>
};<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>
<br>
if (!check_to()) {<br>
xlog("L_WARN", "[%Tf]:
possible uri spoofing attempt!; method=%rm; IP=%is; from=%fu;<br>
to=%tu\n");<br>
<br>
sl_send_reply("403", "Forbidden");<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>
if (!allow_trusted()) {<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>
consume_credentials();<br>
};<br>
if (client_nat_test("3")) {<br>
setflag(7);<br>
force_rport();<br>
fix_nated_contact();<br>
};<br>
if (uri=~"^sip:1[0-9]{8}@") {<br>
strip(1);<br>
};<br>
lookup("aliases");<br>
if (uri!=myself) {<br>
route(4);<br>
route(1);<br>
break;<br>
};<br>
if (uri=~"^sip:00[0-9]*@") {<br>
route(4);<br>
route(5);<br>
break;<br>
};<br>
if (avp_db_load("$ruri/username", "s:callfwd")) {<br>
setflag(22);<br>
avp_pushto("$ruri", "s:callfwd");<br>
route(6);<br>
break;<br>
};<br>
if (!lookup("location")) {<br>
if (uri=~"^sip:[0-9]{8}@") {<br>
route(4);<br>
route(5);<br>
break;<br>
};<br>
sl_send_reply("404", "User Not Found");<br>
break;<br>
};<br>
if (avp_db_load("$ruri/username", "s:fwdbusy")) {<br>
if (!avp_check("s:fwdbusy", "eq/$ruri/i")) {<br>
setflag(26);<br>
};<br>
};<br>
if (avp_db_load("$ruri/username", "s:fwdnoanswer")) {<br>
if (!avp_check("s:fwdnoanswer", "eq/$ruri/i")) {<br>
setflag(27);<br>
};<br>
};<br>
t_on_failure("1");<br>
route(4);<br>
route(1);<br>
}<br>
<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>
route[5] {<br>
# -----------------------------------------------------------------<br>
# PSTN Handler<br>
# -----------------------------------------------------------------<br>
rewritehost("pstn gateway ip"); <br>
avp_write("i:30", "inv_timeout");<br>
t_on_failure("1");<br>
route(4);<br>
route(1);<br>
}<br>
route[6] {<br>
# ----------------------------------------------------------<br>
# Call Forwarding Handler<br>
#<br>
# This must be done as a route block because sl_send_reply() cannot be<br>
# called from the failure_route block<br>
# ----------------------------------------------------------<br>
if (uri=~"^sip:1[0-9]{8}@") {<br>
strip(1);<br>
};<br>
lookup("aliases");<br>
if (uri!=myself) {<br>
if (!isflagset(22)) {<br>
append_branch();<br>
};<br>
route(4);<br>
route(1);<br>
break;<br>
};<br>
if (uri=~"^sip:00[0-9]*@") {<br>
route(4);<br>
route(5);<br>
break;<br>
}<br>
if (uri=~"^sip:+[0-9]{3}[0-9]*@") {<br>
route(4);<br>
route(5);<br>
break;<br>
};<br>
if (!lookup("location")) {<br>
if (uri=~"^sip:[0-9]{8}@") { #local pstn<br>
route(4);<br>
route(1);<br>
break;<br>
};<br>
<br>
sl_send_reply("404", "User Not Found");<br>
};<br>
route(4);<br>
route(1);<br>
}<br>
<br>
<br>
<br>
onreply_route[1] {<br>
<br>
<br>
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {<br>
<br>
if (!search("^Content-Length:[ ]*0")) {<br>
use_media_proxy();<br>
};<br>
};<br>
<br>
<br>
<br>
if (client_nat_test("1")) {<br>
fix_nated_contact();<br>
};<br>
}<br>
<br></div>.........................) <br>