[OpenSER-Users] registrations not saved in the mysql database
Ovidiu Sas
sip.nslu at gmail.com
Tue Nov 6 17:45:05 CET 2007
Hi all,
I was trying to keep persistent registrations in the mysql db, but it
seems that something is broken in the latest svn:
version: openser 1.3.0-pre1-notls (i386/linux)
flags: STATS: Off, EXTRA_DEBUG, USE_IPV6, USE_TCP, DISABLE_NAGLE,
USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC,
FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: 2:3034M
@(#) $Id: main.c 3015 2007-11-05 13:08:50Z henningw $
main.c compiled on 11:41:03 Nov 6 2007 with gcc 4.1.2
The config that I used for testing is pretty simple:
# ----------- global configuration parameters ------------------------
debug=9 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
children=1
disable_tcp=yes
# ------------------ module loading ----------------------------------
mpath="/usr/local/lib/openser/modules/"
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
loadmodule "usrloc.so"
modparam("usrloc", "db_url", "mysql://openser:openserrw@127.0.0.1/openser")
modparam("usrloc", "db_mode", 1)
loadmodule "registrar.so"
#------------------------- request routing logic -------------------
route{
if (!method=="REGISTER")
record_route();
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (!uri==myself) {
append_hf("P-hint: outbound\r\n");
route(1);
};
if (uri==myself) {
if (method=="REGISTER") {
save("location");
exit;
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
if (!t_relay()) {
sl_reply_error();
};
exit;
}
Here are the relevant debug logs:
Nov 6 12:19:04 localhost /usr/local/sbin/openser[8963]:
core:db_double2str: Error in snprintf
Nov 6 12:19:04 localhost /usr/local/sbin/openser[8963]:
mysql:val2str: error while converting string to double
Nov 6 12:19:04 localhost /usr/local/sbin/openser[8963]:
core:db_print_values: Error while converting value to string
Nov 6 12:19:04 localhost /usr/local/sbin/openser[8963]:
usrloc:db_insert_ucontact: inserting contact in db failed
Nov 6 12:19:04 localhost /usr/local/sbin/openser[8963]:
usrloc:insert_ucontact: failed to insert in database
I can see the in memory registration via `openserctl ul show' command,
but the mysql database is not updated (verified via `openserctl db
show location')
Regards,
Ovidiu Sas
More information about the Users
mailing list