[Serusers] Configuration weirdness (after reboot, not working)

ser at geek.be ser at geek.be
Thu Feb 5 11:26:13 CET 2004


Hi all,

I'm having some weird problems.. we had a perfectly working config
(below), that worked for several weeks (sip to sip [even behind nat],
several devices (budgetone, kphone, ata, ..).
Yesterday we rebooted the server, and it seems that nothing works
anymore, both endpoints don't hear any sound/voice, sometimes only one
endpoint.

I see the 2 endpoints/ips connecting to rtpproxy (SERMediaProxy), but no
sound. Even if I force all codecs to e.g. PCMA on both ends.

Can't figure it out, even the example config nathelper.cfg doesn't work
anymore, the same problem, no sound.

Does anyone had the same problem, or knows what I need to look at ?

I know it's little info, but I've no idea what to paste, or even where
to look.

----------

debug=7         # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no	# (cmd line: -E)

check_via=no	# (cmd. line: -v)
dns=no           # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
listen=<ip>

# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
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/textops.so"
loadmodule "/usr/local/lib/ser/modules/group.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/xlog.so"


# ----------------- setting module-specific parameters ---------------

modparam("usrloc", "db_mode", 2)

modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")

modparam("rr", "enable_full_lr", 1)

modparam("registrar", "nat_flag", 6)
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1) 

modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
#modparam("acc", "db_flag", 1)       <-- doens't work anymore with the new SER stable (from cvs)

modparam("group", "use_domain", 0)

modparam("tm", "fr_inv_timer", 15)
modparam("tm", "fr_timer", 10)

route{
	if (!mf_process_maxfwd_header("10")) {
		sl_send_reply("483","Too Many Hops");
		break;
	};

	if (msg:len >=  max_len ) {
		sl_send_reply("513", "Message too big");
		break;
	};


	if (nat_uac_test("3")) {
		if (method == "REGISTER" || ! search("^Record-Route:")) {
		    fix_nated_contact();
		    if (method == "INVITE") {
		        fix_nated_sdp("1");
		    };
		    force_rport();
		    setflag(6);
		};
	};

	if (!method=="REGISTER") record_route();	

	if (loose_route()) {
		append_hf("P-hint: rr-enforced\r\n"); 
		route(1);
		break;
	};

	if (!uri==myself) {
		append_hf("P-hint: outbound\r\n"); 
		route(1);
		break;
	};

	if (uri==myself) {
		if (method=="REGISTER") {
			if (!www_authorize("myhost.com", "subscriber")) {
				www_challenge("myhost.com", "0");
				break;
        		};
			if (!save("location")) {
				sl_reply_error();
			}
			break;
		};

		if (!lookup("location")) {
		 	if (uri=~"^sip:0[1-9]*@*") {
			        rewritehostport("217.22.59.10:5060");
                        } else if (uri=~"^sip:\*99@*" || uri=~"^sip:99[0-9]*@*") {
                                rewritehostport("217.22.59.10:5060");
	                } else {
			    	sl_send_reply("403", "Permission Denied");
			    	break;
			};
	        };
	};

	append_hf("P-hint: usrloc applied\r\n");
	route(1);
}

route[1] 
{
        setflag(1);

	if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" && !search("^Route:")){
	    sl_send_reply("479", "We don't forward to private IP addresses");
	    break;
        };
	
	if (isflagset(6)) {
	    force_rtp_proxy();
	};

	if (!t_relay()) {
		sl_reply_error();
	};
}

onreply_route[1] {
    if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") {
        fix_nated_contact();
	force_rtp_proxy();
    } else if (nat_uac_test("1")) {
        fix_nated_contact();
    };
}




More information about the sr-users mailing list