[Serusers] ops i forget to say voicemail

Welesley Sibelson Dias leley.dias at redevox.com.br
Wed Mar 3 13:31:48 CET 2004


voicemail and sems works fine  because when log direct em voicemail
server, i receive msg and receive email correct. 
# 
# $Id: voicemail.cfg,v 1.2 2003/10/10 06:27:18 jiri Exp $ 
# 
# this script is configured for use as voicemail UAS; it processes 
# INVITEs and BYEs and asks SEMS to record media via "vm"; in this 
# script, all record-routing and other constructs known from proxy 
# scripts are not present  -- it is a simple UAS  
# 
 
# ----------- global configuration parameters ------------------------ 
 
#debug=		        # debug level (cmd line: -dddddddddd) 
#fork=no 
#log_stderror=yes 	# (cmd line: -E) 
debug=7 
fork=no 
log_stderror=yes 
 
 
check_via=no		# (cmd. line: -v) 
dns=no			# (cmd. line: -r) 
rev_dns=no		# (cmd. line: -R) 
port=5090 
children=4 
fifo="/tmp/vm_ser_fifo" 
 
# ------------------ module loading ---------------------------------- 
 
loadmodule "/usr/local/lib/ser/modules/sl.so" 
loadmodule "/usr/local/lib/ser/modules/tm.so" 
loadmodule "/usr/local/lib/ser/modules/maxfwd.so" 
loadmodule "/usr/local/lib/ser/modules//mysql.so" 
loadmodule "/usr/local/lib/ser/modules/vm.so" 
 
# ----------------- setting module-specific parameters --------------- 
 
modparam("voicemail", "db_url","mysql://ser:heslo@localhost/ser") 
 
# -------------------------  request routing logic ------------------- 
 
# main routing logic 
 
route{ 
 
 
	# initial sanity checks -- messages with 
	# max_forwars==0, or excessively long requests 
	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 (!uri==myself) { 
		sl_send_reply("404", "not reponsible for host in r-uri"); 
		break; 
	}; 
 
 
	# Voicemail specific configuration - begin 
 
	if(method=="ACK" || method=="INVITE" || method=="BYE"){ 
 
		if (!t_newtran()) { 
			log("could not create new transaction\n"); 
			sl_send_reply("500","could not create new transaction"); 
			break; 
		}; 
 
		t_reply("100","Trying -- just wait a minute !"); 
		if(method=="INVITE"){ 
			log("**************** vm start - begin ******************\n"); 
			if (uri=~"sip:as_welcome at .*" || uri=~"sip:as_nomoney at .*") { 
	               		if (!vm("/tmp/am_fifo", "announcement")) { 
			        	log("couldn't contact announcement server\n"); 
					t_reply("500", "couldn not contact announcement server"); 
				}; 
			} else { 
				if(!vm("/tmp/am_fifo","voicemail")){ 
					log("could not contact the answer machine\n"); 
					t_reply("500","could not contact the answer machine"); 
				}; 
			}; 
			log("**************** vm start - end ******************\n"); 
		} else if(method=="BYE"){ 
			log("**************** vm end - begin ******************\n"); 
			if(!vm("/tmp/am_fifo","bye")){ 
				log("could not contact the answer machine\n"); 
				t_reply("500","could not contact the answer machine"); 
			}; 
			log("**************** vm end - end ******************\n"); 
		}; 
		break; 
	}; 
	if (method=="CANCEL") { 
		sl_send_reply("200", "cancels are junked here"); 
		break; 
	}; 
	sl_send_reply("501", "method not understood here"); 
}




More information about the sr-users mailing list