[Serusers] Error with voicemail echo and conference modules, help pls.

Antonio Membrives antonio.membrives at telintcable.es
Tue Nov 8 16:56:34 CET 2005


Hi to all, when I try to contact with echo or conference module I received
some errors in log, the next is error of conference call, the eco received
same error, any idea.

Nov  8 16:49:25 dns2 Sems[30911]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: 18989:863098006 
Nov  8 16:49:25 dns2 Sems[30911]: Error:
(AmServer.cpp)(consume_request)(88): Consumed:
<sip:192.168.10.240;ftag=4478083b;lr=on>,<sip:192.168.10.240;ftag=4478083b;l
r=on> 
Nov  8 16:49:25 dns2 Sems[30911]: Error:
(AmServer.cpp)(consume_request)(88): Consumed:
sip:192.168.10.240;ftag=4478083b;lr=on 
Nov  8 16:49:25 dns2 Sems[30911]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: P-MsgFlags: 0 
Nov  8 16:49:25 dns2 Sems[30911]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: . 
Nov  8 16:49:25 dns2 Sems[30911]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: . 
Nov  8 16:50:04 dns2 ser[31283]: LOG: Contactando con el modulo de
conferencia 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: 0.3 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: sip_request.conference 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: INVITE 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: 100 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: telintcable.es 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: 192.168.10.240 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: . 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: sip:100 at telintcable.es 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed:
sip:amembrives at 192.168.10.10:8394 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: Antonio
Membrives<sip:amembrives at 192.168.10.240> 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: <sip:100 at telintcable.es> 
Nov  8 16:50:04 dns2 ser[31283]: LOG: Saliendo del modulo de conferencia 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: d93fa222d25a8104 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: 4d5c7852 
Nov  8 16:50:04 dns2 Sems[29810]: Error: (AmServer.cpp)(run)(191): wrong
FIFO Interface version:2 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: 47710:637038812 
Nov  8 16:50:04 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: . 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: . 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: P-MsgFlags: 1 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: . 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: v=0 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: o=- 111742627 111742720 IN
IP4 192.168.10.10 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: s=eyeBeam 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: c=IN IP4 192.168.10.10 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: t=0 0 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: m=audio 8486 RTP/AVP 100 6 0
8 3 18 5 101 
Nov  8 16:50:05 dns2 ser[31284]: LOG: Contactando con el modulo de
conferencia 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: a=alt:1 1 : DDA3FD3D 000000C3
192.168.10.10 8486 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: a=fmtp:101 0-15 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: a=rtpmap:100 speex/16000 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: a=rtpmap:101
telephone-event/8000 
Nov  8 16:50:05 dns2 Sems[29810]: Error:
(AmServer.cpp)(consume_request)(88): Consumed: a=sendrecv 
Nov  8 16:50:07 dns2 ser[31281]: LOG: Contactando con el modulo de
conferencia


This is the ser version i have:

ser -V
version: ser 0.9.3 (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK,
SHM_MEM, SHM_MMAP, PKG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535
@(#) $Id: main.c,v 1.197 2004/12/03 19:09:31 andrei Exp $
main.c compiled on 20:51:59 Jun 28 2005 with gcc 3.3


------------------- ser.cfg ------------------------------

# $Id: nat-mediaproxy.cfg 9 2005-08-19 15:30:55Z /CN=Greger V.
Teigre/emailAddress=greger at onsip.org $
debug=3
fork=yes
log_stderror=no

listen=82.159.201.35           # INSERT YOUR IP ADDRESS HERE
listen=192.168.10.240
alias=telintcable.es
alias=dns2.telintcable.es
alias=82.159.201.35
port=5060
children=4

dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
fifo_mode=0666
fifo_db_url="mysql://ser:heslo@localhost/ser"

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/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/domain.so"
loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/msilo.so"
#loadmodule "/usr/local/lib/ser/modules/vm.so"


modparam("auth_db|domain|uri_db|usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("auth_db","use_domain",1)

modparam("domain", "db_mode", 1)
modparam("domain", "domain_table", "domain") 
modparam("domain", "domain_col", "domain")

modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "natping_interval", 0)

modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients")
modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients")

modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser")
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", 1)

modparam("registrar", "nat_flag", 6)
modparam("registrar", "use_domain", 1)

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

modparam("msilo", "registrar", "sip:registar at telintcable.es")
modparam("msilo", "db_url", "mysql://ser:heslo@localhost/ser")

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

## modulos para la gestion de perdidas de llamadas y reflejarse
## despues en el serweb
modparam("acc", "log_flag", 2) #1
modparam("acc", "log_level", 2) 
modparam("acc", "db_flag", 2) #1
modparam("acc", "db_missed_flag", 3) 
modparam("acc", "log_missed_flag", 3) 
modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser")
#modparam("acc", "report_ack", 0)
modparam("acc", "log_fmt", "miocfsp")

route {

	# -----------------------------------------------------------------
	# Sanity Check Section
	# -----------------------------------------------------------------
	if (!mf_process_maxfwd_header("10")) {
		sl_send_reply("483", "Too Many Hops");
		break;
	};

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

	# -----------------------------------------------------------------
	# Record Route Section
	# -----------------------------------------------------------------
	if (method=="INVITE" && client_nat_test("3")) {
		# INSERT YOUR IP ADDRESS HERE
		record_route_preset("82.159.201.35:5060;nat=yes"); 
	} else if (method!="REGISTER") {        
		record_route(); 
	};

	# -----------------------------------------------------------------
	# Call Tear Down Section
	# -----------------------------------------------------------------
	if (method=="BYE" || method=="CANCEL") {
		end_media_session();
	};

	# -----------------------------------------------------------------
	# Loose Route Section
	# -----------------------------------------------------------------
	if (loose_route()) {

		if (has_totag() && (method=="INVITE" || method=="ACK")) {

			if (client_nat_test("3") ||
search("^Route:.*;nat=yes")) {
				setflag(6);
				use_media_proxy();
			};
		};

		route(1);
		break;
	};
	setflag(1);
	# -----------------------------------------------------------------
	# Call Type Processing Section
	# -----------------------------------------------------------------
	if (uri!=myself) {
		route(4);
		route(1);
		break;
	};

	if (method=="CANCEL") {
		route(1);
		break;
	} else if (method=="INVITE") {
		route(3);
		break;
	} else if (method=="REGISTER") {
		route(2);
		break;
	} else if (method=="BYE" || method=="CANCEL"){
		route(5);
		break;
	
	};

	lookup("aliases");
	if (uri!=myself) {
		route(4);
		route(1);
		break;
	};

	if (!lookup("location")) {
		if (method == "MESSAGE") {
			if (!t_newtran()) {
				sl_reply_error();
			break;
			};
			if (m_store("0")) {
			t_reply("202", "Accepted for Later Delivery");
			break;
			};
			t_reply("503", "Service Unavailable");
			break;
		};
		#
		if (!t_newtran()){
			sl_send_reply("500","could not create transaction");
			break;
		};
		# no service number, redirect to voicemail
		if(!t_write_req("/tmp/am_fifo","voicemail")){
			t_reply("500","error contacting sems");
		};
		break;
	#
	}#;
	#
	setflag(3);
	#t_relay();
	## fin de registro de mensajes.
	route(1);
}

route[1] {

	# -----------------------------------------------------------------
	# Default Message Handler
	# -----------------------------------------------------------------

	t_on_reply("1");

	if (!t_relay()) {

		if (method=="INVITE" || method=="ACK") {
			end_media_session();
		};

		sl_reply_error();
	};
}

route[2] {

	# -----------------------------------------------------------------
	# REGISTER Message Handler
	# ----------------------------------------------------------------

	sl_send_reply("100", "Trying");

	if (!search("^Contact:[ ]*\*") && client_nat_test("7")) {
		setflag(6);
		fix_nated_register();
		force_rport();
	};

	if (!www_authorize("telintcable.es","subscriber")) {
		www_challenge("telintcable.es","0");
		break;
	};

	if (!check_to()) {
		sl_send_reply("401", "Unauthorized");
		break;
	};

	consume_credentials();

	if (!save("location")) {
		sl_reply_error();
	};
	m_dump(); #msilo.so
}

route[3] {

	# -----------------------------------------------------------------
	# INVITE Message Handler
	# -----------------------------------------------------------------

	if (!proxy_authorize("telintcable.es","subscriber")) {
		proxy_challenge("telintcable.es","0");
		break;
	} else if (!check_from()) {
		sl_send_reply("403", "Use From=ID");
		break;
	};

	consume_credentials();

	if (client_nat_test("3")) {
		setflag(7);
		force_rport();
		fix_nated_contact();
	};

	lookup("aliases");
	if (uri!=myself) {
		route(4);
		route(1);
		break;
	};

	##modulo de eco
	#setflag(1);	
	# funciona el eco
	if (uri=~"sip:echo.*@telintcable.es" ||
uri=~"sip:echo.*@82.159.201.35") {
		#switch to statefull mode and redirect to echo plugin
		log(1, "LOG: Contactando con el modulo de eco\n");
		if (!t_newtran()){
			sl_send_reply("500","could not create transaction");
			break;
		};
		if(!t_write_req("/tmp/am_fifo","echo")){
			t_reply("500","error contacting sems");
		};
		log(1, "LOG: Saliendo del modulo de eco\n");
		break;
	}

	if (uri=~"sip:100.*@telintcable.es" ||
uri=~"sip:100.*@82.159.201.35") {
		#switch to statefull mode and redirect to conferenze plugin
		log(1, "LOG: Contactando con el modulo de conferencia\n");
		if (!t_newtran()){
			sl_send_reply("500","could not create transaction");
			break;
		};
		if(!t_write_req("/tmp/am_fifo","conference")){
			t_reply("500","error contacting sems");
		};
		log(1, "LOG: Saliendo del modulo de conferencia\n");
		break;
	}	
		
	#
	# Codigo para almacenar las llamadas no atendidas y mostrarlas por
serweb
	#

	if (!lookup("location")) {
		if ((method=="INVITE" || method=="ACK") && t_newtran() ) {
			t_reply("404", "Usuario no conectado");
			acc_db_request("Llamada perdida","missed_calls");
			break;
		};
		sl_send_reply("404", "Usuario no encontrado");
		break;
	}
	#
	setflag(3);
	#t_relay();
	#fin del codigo
	route(4);
	route(1);
}

route[4] {

	# -----------------------------------------------------------------
	# NAT Traversal Section
	# -----------------------------------------------------------------

	if (isflagset(6) || isflagset(7)) {
		use_media_proxy();
	};
}

route[5] {
	
	log(1,"LOG: vm end - inicio\n");
	if(!t_write_req("/tmp/am_fifo","bye")){
		log(1,"LOG: No se ha podido contactar con vm\n");
		t_reply("500","Error contacting sems");
	};
	log(1,"LOG: vm end - final\n");
	route(1);	
}

onreply_route[1] {

	if ((isflagset(6) || isflagset(7)) &&
(status=~"(180)|(183)|2[0-9][0-9]")) {

		if (!search("^Content-Length:[ ]*0")) {
			use_media_proxy();
		};
	};

	if (client_nat_test("1")) {
		fix_nated_contact();
	};
}

failure_route[1]{
	if(t_check_status("487")){
	        break;
	}
	else{
		# no service number, redirect to voicemail
		if(!t_write_req("/tmp/am_fifo","voicemail")){
			t_reply("500","error contacting sems");
		};	
	}
	break;
}




More information about the sr-users mailing list