examples/voicemail.cfg
fe81a67e
 #
 # $Id$
 #
 # 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)
 
 
 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 "/home/srouter/sip_router/modules/sl/sl.so"
 loadmodule "/home/srouter/sip_router/modules/tm/tm.so"
 loadmodule "/home/srouter/sip_router/modules/maxfwd/maxfwd.so"
 loadmodule "/home/srouter/sip_router/modules/mysql/mysql.so"
 loadmodule "/home/srouter/sip_router/modules/vm/vm.so"
 	    
 # ----------------- setting module-specific parameters ---------------
 
192d829a
 modparam("vm", "db_url","mysql://ser:heslo@dbhost/ser")
fe81a67e
 
 # -------------------------  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 (len_gt( 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");
5ee0499d
 			if(!vm("/tmp/am_fifo","voicemail")){
 				log("could not contact the answer machine\n");
 				t_reply("500","could not contact the answer machine");
fe81a67e
 			};
 			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");
 }