[Serusers] PSTN => SER => PSTN

Mik Cheez michael_bulk at wildgate.com
Thu Apr 21 23:07:54 CEST 2005


I'm having an issue where my OUT PSTN is not getting a signal that a 
call has ended.

My setup is as follows:

IN                   OUT
PSTN  ==>  SER  ==>  PSTN

If I place a call and the person hangs up before the callee answers, the 
callee's phone just keeps ringing.

I see a CANCEL event on the SER box, but nothing on the OUT PSTN.

Here's a sample of my ser.cfg script:
------------------------------------

debug=3
fork=yes
log_stderror=yes

sip_warning=no

check_via=no
dns=no
rev_dns=no
port=5060
#children=4
fifo="/tmp/ser_fifo"

loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/exec.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"
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"


modparam("usrloc", "db_mode",   0)
modparam("rr", "enable_full_lr", 1)

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 (method!="REGISTER") {
		record_route();
	};

	xlog("L_INFO", "#INFO# %rm\n");

	if (loose_route()) { t_relay(); break; };

	setflag(1);

	if (method=="CANCEL"){
		sl_send_reply("487", "Terminated");
		break;
	};


	if (method=="INVITE") {
		if (uri=~"sip:[0-9]+ at .*") {
			xlog("L_INFO", "Original URI: %ru \n");
			exec_dset("insert script here");
			xlog("L_INFO", "Relay URI = %ru\n");
			if (!t_relay()) {
				sl_reply_error();
				break;
			};

		};
	};


}




More information about the sr-users mailing list