[Users] Call forward when no answer

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu May 17 11:32:29 CEST 2007


Hi Howard,

I guess you do not arm the failure route - use t_on_failure("1"); before 
relaying the request.

regards,
bogdan

Howard Tang wrote:
> Hi All,
>
> I have followed a tutorial and set up Asterisk as a voice mail server.
>
> http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER 
> <http://www.voip-info.org/wiki/view/Realtime+Integration+Of+Asterisk+With+OpenSER>
>
> It works fine when the UA is offline. Now, I want a call forwarded to 
> the Voice mail server when there is no answer from the UA after 60 
> seconds(UA is registered on the openser).
>
> What should I do? Below is my config (copy from the above link).
>
>
> 		# requests for Media server
> 		if(is_method("INVITE") && !has_totag() && uri=~"sip:\*9") {
> 			route(3);
> 			exit;
> 		}
>
> 		# mark transaction if user is in voicemail group
>
> 		if(is_method("INVITE") && !has_totag()
> 			&& is_user_in("Request-URI","voicemail"))
> 		{
> 			xdbg("user [$ru] has voicemail redirection enabled\n");
>
> 			# backup R-URI
> 			avp_write("$ruri", "i:10");
> 			setflag(2);
> 		};
>
> 		# native SIP destinations are handled using our USRLOC DB
> 		if (!lookup("location")) {
> 			if(isflagset(2)) {
>
> 				# route to Asterisk Media Server
> 				prefix("1");
> 				rewritehostport("10.10.10.11:5060 <http://10.10.10.11:5060>");
> 				route(1);
> 			} else {
> 				sl_send_reply("404", "Not Found");
>
> 				exit;
> 			}
> 		};
>
> # voicemail access
> # - *98 - listen caller's voice messages, being prompted for pin
> # - *981 - listen voice messages, being promted for mailbox and pin
> # - *98XXXX - leave voice message to XXXX
>
> #
> route[3] {
>   	# direct voicemail
> 	if (uri =~ "sip:\*98@" ) {
>         	rewriteuser("1");
> 		xdbg("voicemail access\n");
> 	} else if (uri =~ "sip:\*981@" ) {
>
>  		strip(4);
> 		rewriteuser("11");
> 	} else if (uri =~ "sip:\*98.+@" ) {
>  		strip(3);
> 		prefix("1");
> 	} else {
> 		xlog("unknown media extension $rU\n");
> 		sl_send_reply("404", "Unknown media service");
>
> 		exit;
> 	}
>
> 	# route to Asterisk Media Server
> 	rewritehostport("10.10.10.11:5060 <http://10.10.10.11:5060>");
> 	route(1);
> }
>
> failure_route[1] {
> 	if (t_was_cancelled()) {
>
> 		xdbg("transaction was cancelled by UAC\n");
> 		return;
> 	}
> 	# restore initial uri
> 	avp_pushto("$ruri", "i:10");
> 	prefix("1");
> 	# route to Asterisk Media Server
>
> 	rewritehostport("10.10.10.11:5060 <http://10.10.10.11:5060>");
> 	resetflag(2);
> 	route(1);
>
> }
>   
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>   







More information about the Users mailing list