hello
hello can any one tell me what could be the problem
with my config. I am having problem in PublicIP to
PrivateIP call through SER.
this is the case
1:
PublicIP-------->SER(publicIP)-------->PrivateIP
PublicIP------>RTPProxy----->PrivateIP(Here i am not
getting ack and after 30 seconds my session is closed
an my SJPhone on privateIP is saying ACK timeOUT)
2:
UA(privateIP)--------->SER(publicIP)------>UA(privateIP)(both
UA on behind same NAT)
UA<-----------------RTPProxy-------------->UA(Here UAS
is not getting ack and after 30 seconds session is
closed an my SJPhone on privateIP is saying ACK
timeOUT)
when ever there is Call to PrivateIP there is the
problem. UAS on PrivateIP is waiting for Ack and after
30 sec session is droped. in this 30 seconds both UAC
and UAS can listen.
PublicIP(UAC)------------>PrivateIP(UAS)(ACKProblem)
PrivateIP(UAC)----------->PrivateIP(UAS)(ACKProblem)
PublicIP(UAC)------------>PublicIP(UAS)working
PrivateIP(UAS)----------->PublicIP(UAS)working
i am using RTPProxy. should i use MediaProxy or stun
server.
ser.cfg
debug=3
fork=yes
log_stderror=no
dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
#fifo_db_url="mysql://ser:heslo@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/xlog.so"
#radius configuration
loadmodule "/usr/local/lib/ser/modules/auth.so"
#loadmodule
"/usr/local/lib/ser/modules/auth_radius.so"
#loadmodule "/usr/local/lib/ser/modules/acc.so"
#loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
#loadmodule "/usr/local/lib/ser/modules/domain.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
#loadmodule "/usr/local/lib/ser/modules/uri_db.so"
#loadmodule "/usr/local/lib/ser/modules/uri_radius.so"
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "rtpproxy_sock",
"unix:/var/run/rtpproxy.sock")
modparam("usrloc", "db_mode", 0)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
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!="REGISTER") {
record_route();
};
if (method=="BYE" || method=="CANCEL") {
unforce_rtp_proxy();
}
#
-----------------------------------------------------------------
# Loose Route Section
#
-----------------------------------------------------------------
if (loose_route()) {
if (has_totag() && method=="INVITE") {
if (nat_uac_test("19")) {
setflag(6);
force_rport();
fix_nated_contact();
};
force_rtp_proxy("l");
};
route(1);
break;
};
#
-----------------------------------------------------------------
# Call Type Processing Section
#
-----------------------------------------------------------------
if (uri==myself) {
if (method=="INVITE") {
route(3);
break;
} else if (method=="REGISTER") {
route(2);
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" && isflagset(6)) {
unforce_rtp_proxy();
};
sl_reply_error();
};
}
route[2] {
#
-----------------------------------------------------------------
# REGISTER Message Handler
#
----------------------------------------------------------------
if (!search("^Contact: \*") &&
nat_uac_test("19")) {
setflag(6);
fix_nated_register();
# fix_nated_contact();
force_rport();
};
sl_send_reply("100", "Trying");
#radius config
#end of radius config
# 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 (nat_uac_test("19")) {
setflag(6);
}
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
# if (!proxy_authorize("","subscriber")) {
# proxy_challenge("","0");
# break;
# } else if (!check_from()) {
# if(!check_from()) {
# sl_send_reply("403", "Use From=ID");
# break;
# };
consume_credentials();
if (isflagset(6)) {
# if (uri=~"^sip:9[0-9]*@.*") {
# prefix, strip prefix & shunt our
call to the local access PSTN gateway
# strip(1);
# xlog("L_DBG","prefix 9
detected... entering route 3");
# route(3); #PSTN gateway
# break;
# }
force_rport();
# xlog("L_DBG","going for fixnated and forcertp
%fu");
log("hello");
fix_nated_contact();
force_rtp_proxy();
};
t_on_reply("1");
if (!t_relay()) {
if(isflagset(6)) {
unforce_rtp_proxy();
}
sl_reply_error();
};
}
onreply_route[1] {
if (isflagset(6) &&
status=~"(180)|(183)|2[0-9][0-9]") {
if (!search("^Content-Length:\ 0")) {
force_rtp_proxy();
};
}
else if (nat_uac_test("1")) {
fix_nated_contact();
};
}
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
_______________________________________________
Serusers mailing list
serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Send instant messages to your online friends http://uk.messenger.yahoo.com