[OpenSER-Users] OpenSER - a slow starter?

Klaus Darilion klaus.mailinglists at pernau.at
Wed Feb 13 08:13:36 CET 2008


MAybe openser tries t do some DNS lookups which may take long time.

The best would be to set debug=4 and "tail" to the logfile 
(default=/var/log/syslog (or /var/log/messages on RedHat&co)).

Then start openser and watch the logfile.....

klaus

Lars Skjærlund schrieb:
> Hi list,
> 
> I'm struggling to learn OpenSER, but I've come across a weird problem:
> 
> OpenSER seems to be a slow starter! My initial tests on the internal
> network worked fine, but now I've moved the server to our hosting and
> public IPs. I'm testing using OpenSER 1.3.0 and a Twinkle softphone on
> Linux. The softphone is behind NAT, OpenSER absolutely not.
> 
> When I start OpenSER, Twinkle cannot register and returns the error
> "you are not registered". However, looking at the traffic using tcpdump,
> everything looks normal to me.
> 
> The weird thing is that if I leave the software running for about an
> hour or so, everything starts working. After the timeout period (default
> 3600 seconds), the phone re-registers and succeeds? It's not just a
> startup problem - if I try to re-register after having both systems
> running for, say, 15 min., it still doesn't work. But after about an
> hour, it works.
> 
> What am I doing wrong here?
> 
> Actually, it only works sort of: If I use 'openserctl online', it still
> claims that no users are registered even though the softphone claims to
> be. If I switch on MySQL support, the database isn't updated.
> 
> I'm testing with a very basic setup - no authentication at all, as a
> first measure I simply want the phone to register - and to be able to se
> it reflected in the database.
> 
> I must be missing something - but what?
> 
> My present openser.cfg is here - but I've tried several other tutorial
> configs:
> 
> listen=udp:x.x.x.x:5060
> 
> debug=6
> fork=no
> log_stderror=yes
> 
> check_via=no
> dns=no
> rev_dns=no
> 
> mpath="/lib64/openser/modules"
> 
> loadmodule "xlog.so"
> loadmodule "mysql.so"
> loadmodule "sl.so"
> loadmodule "tm.so"
> loadmodule "rr.so"
> loadmodule "maxfwd.so"
> loadmodule "usrloc.so"
> loadmodule "registrar.so"
> loadmodule "nathelper.so"
> 
> modparam("usrloc", "db_mode", 3)
> modparam("usrloc", "db_url",
> "mysql://openser:xxxxxxxx@mysql.mydomain.org/openser")
> 
> modparam("rr", "enable_full_lr", 1)
> 
> modparam("nathelper", "natping_interval", 10)
> 
> 
> 
> route {
> 	if (!mf_process_maxfwd_header("10")) {
> 		sl_send_reply("483", "Too many hops");
> 		exit;
> 	}
> 
> 	if (msg:len > max_len) {
> 		sl_send_reply("513", "Message overflow");
> 		exit;
> 	}
> 
> 	if (method!="REGISTER") {
> 		record_route();
> 	}
> 
> 	if (loose_route()) {
> 		route(1);
> 		exit;
> 	}
> 
> 	if (uri!=myself) {
> 		route(1);
> 		exit;
> 	}
> 
> 	if (method=="ACK") {
> 		route(1);
> 		exit;
> 	}
> 
> 	if (method=="REGISTER") {
> 		route(2);
> 		exit;
> 	}
> 
> 	lookup("aliases");
> 
> 	if (uri!=myself) {
> 		route(1);
> 		exit;
> 	}
> 
> 	if (!lookup("location")) {
> 		sl_send_reply("404", "User not found");
> 		exit;
> 	}
> 
> 	route(1);
> }
> 
> 
> 
> route[1] {
> 	if (!t_relay()) {
> 		sl_reply_error();
> 	}
> }
> 
> 
> 
> route[2] {
> 	xdbg("Reached route[2]\n");
> 
> 	if (!save("location")) {
> 		xdbg("Error in save(location)\n");
> 
> 		sl_reply_error();
> 	}
> }
> 
> Regards,
> Lars




More information about the Users mailing list