Hi!
I'm using the 0.8.12_stable from cvs from 10. december 2003 and pinging
works fine.
regards,
klaus
...
# special NAT flag indicates that a registered client is behind NAT
modparam("registrar", "nat_flag", 6)
...
# -- nathelper params --
modparam("nathelper", "natping_interval", 60)
modparam("nathelper", "ping_nated_only", 1)
....
Vitali Nikolaev wrote:
Hello,
I have problem with natping_interval.. it is not pinging at all and
look like it just doesnot aware that I have something registered
I use lates table release: 0.8.12
I added some more debugging in nathelper.c to timer function:
DBG("DEBUG: nathelper buff != NULL\n");
cp = buf;
while (1) {
memcpy(&(c.len), cp, sizeof(c.len));
if (c.len == 0) {
LOG(L_ERR, "ERROR: nathelper::c.len == 0\n");
break;
}
and can see that it break from the loop with c.len = 0. but when i
look at location table in mysql there is few devices registered.
probably something with ul_get_all_ucontact from usrloc..
please advise
here is config:
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/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/auth_mssql.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/exec.so"
modparam("nathelper", "natping_interval", 10)
modparam("registrar", "nat_flag", 6)
# modparam("nathelper", "ping_nated_only", 1) # Ping only clients
behind NAT
modparam("auth_db",
"db_url","sql://ser:XXX@localhost/ser")
modparam ("usrloc", "db_mode", 1)
modparam("usrloc", "use_domain", 0)
modparam("usrloc", "db_url",
"sql://ser:XXX@localhost/ser")
modparam("rr", "enable_full_lr", 1)
force_rport();
fix_nated_contact();
setflag(6); # Mark as natted all clients
if (!(method=="REGISTER")) record_route(); # 1=loose routing
# loose-route processing
if (loose_route()) {
log(1, "LOOSE ROUTE\n");
t_relay();
break;
};
if(!uri==myself) {
log(1, "URI!=myself");
t_relay();
break;
};
if (method=="REGISTER") {
log(1, "REGISTER REQUEST RECEIVED\n");
if (!mssql_authorize("209.227.183.21", "subscriber"))
{
log(1, "AUTH FAILED, REQUESTED\n");
www_challenge("", "1");
break;
};
log(1, "AUTH OK, REGISTER\n");
save("location");
break;
};
.....