[Serusers] Exec_msg ERROR

Michel Zenone zenone at telip.com
Fri Jul 7 15:15:53 CEST 2006


Hi!
Since I have added an exec_msg in my ser.cfg I have an error in my logs:
Jul  7 14:59:31 localhost /usr/local/ser_directory/sbin/ser[25318]:
ERROR: exec_msg: cmd echo hello: [$SIP_TID] from $SIP_SRCIP to $SIP_RURI
>> /root/memos/ser.txt; failed. exit_status=-1, errno=32: Broken pipe 

My 'ser.cfg' is :

#
# $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp $
#
# simple quick-start config script
#

# ----------- global configuration parameters ------------------------

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

/* Uncomment these lines to enter debugging mode 
fork=no
log_stderror=yes
*/

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"

# ------------------ module loading ----------------------------------

# Uncomment this if you want to use SQL database
loadmodule "/usr/local/ser_directory/lib/ser/modules/mysql.so"

loadmodule "/usr/local/ser_directory/lib/ser/modules/sl.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/tm.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/rr.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/registrar.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/textops.so"

# Modules allowing digest authentication
loadmodule "/usr/local/ser_directory/lib/ser/modules/auth.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/auth_db.so"

# Modules allowing to check groups and identity:
loadmodule "/usr/local/ser_directory/lib/ser/modules/group.so"
loadmodule "/usr/local/ser_directory/lib/ser/modules/uri_db.so"

# Module allowing shell command execution
loadmodule "/usr/local/ser_directory/lib/ser/modules/exec.so"

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

# -- usrloc params --

#modparam("usrloc", "db_mode",   0)

# Uncomment this if you want to use SQL database 
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)

# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this
config), 
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)

#Added on July4
modparam("tm", "fr_inv_timer", 15 )
modparam("tm", "fr_timer", 10 ) 


# -------------------------  request routing logic -------------------

# main routing logic

route{

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

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

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

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

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

	if (uri=~"192.168.0.120") {

		if (method=="REGISTER") {
			if (!www_authorize("192.168.0.120", "subscriber")) {
				www_challenge("192.168.0.120", "0");
				break;
			};   
			save("location");
			break;
		};
		
		lookup("aliases");

		if (method == "INVITE") {
			log(1,"invite");
			if ((uri=~"^sip:0[0-9]*@192.168.0.120")&&(!is_user_in("From","int")))
{
				sl_send_reply("403", "You can't go out!!");
				break;
			};

			if (!((does_uri_exist())|(uri=~"^sip:0[0-9]*@192.168.0.120"))) {
				sl_send_reply("403", "Who is it??");
				break;
			};
		};
		
		if (!uri=~"192.168.0.120") {
			append_hf("P-hint: outbound alias\r\n"); 
			route(2);
			break;
		};

		if (!lookup("location"))
		{
			log(1,"lookup");
			forward(192.168.0.120,5070);
			break;
		};
	};
	log(1,"hello!!");
	exec_msg("echo hello: [$SIP_TID] from $SIP_SRCIP to $SIP_RURI
>> /root/memos/ser.txt;");
	append_hf("P-hint: usrloc applied\r\n"); 
	route(1);
}



route[1] 
{
	log(1,"route1");
	t_on_failure("1");
	t_relay();
}


route[2]	
{
	log(1,"route2");
	if (!t_relay()) {
		sl_reply_error();
	};
}


failure_route[1] {
	log(1,"failureroute");
	rewriteport("5070");
	append_branch();
	t_relay_to_udp("192.168.0.120","5070");
}

I don't know what to do...Can somebody help me?
Thanks in advance!
Michel




More information about the sr-users mailing list