[Asterisk-Users] Re: caller anounce

Miles Scruggs asterisk at garnetweb.com
Sun Apr 2 22:00:15 MST 2006


Great thanks

Steven Job wrote:
> OK, enough of this......  No reason to bicker about something like 
> this.....
>
> Here is the URL. 
> http://www.voip-info.org/tiki-pagehistory.php?page=Asterisk+cmd+Dial&diff=57 
>
>
> For those of you that do not have a working web browser or cand find 
> it with Google here is the text.
>
> Dial macros
> Introduced in/for Asterisk 1.2, see bug/patch 2905
>
> You can now add args to the macro by using a '^' char
>
> Dial(Zap/1|60|M(mymacro^cat^dog^bark))
>
> Also, the macro can set the MACRO_RESULT variable to do the following:
>
> ABORT - Hangup both legs of the call
> BUSY
> CONTINUE - Hangup the called party and continue on in the dialplan 
> from where you called Dial
> GOTO:<context>^<exten>^<priority> - Transfer the call.
>
> Note: If you want the call to be bridged upon completion of the macro, 
> you should NOT set the MACRO_RESULT variable to anything. IF 
> MACRO_RESULT is not defined, the thread of execution falls off the end 
> of the macro and bridges the call. Setting it to CONTINUE causes the 
> call NOT to be bridged, and execution to resume at n+1 priority in the 
> calling context. Of course setting it to BUSY or GOTO has the implied 
> results (and of course the call is not bridged).
> (I found this a bit confusing because my mental model expected some 
> kind of explicit case for "bridge the call", such as setting 
> MACRO_RESULT to "BRIDGE" or "CONNECT" or something like that. It's the 
> ABSENCE of any value that causes the call to be bridged.)
>
> Example 2: Dial macro
>
> screen-record: Please record your name press pound when finished.
> screen-from: You have a call from
> screen-accept: Press 1 to accept this call or any other key to reject.
>
> exten => 890,1,Wait(0.2)
> exten => 890,2,Playback(screen-record)
> exten => 890,3,SetVar(SCREEN_FILE=/tmp/${CALLERIDNUM}-${EPOCH})
> exten => 890,4,Record(${SCREEN_FILE}.gsm|6|25)
> exten => 890,5,Dial(SIP/16|60|gM(screen^${SCREEN_FILE}))
> exten => 890,6,Voicemail(10 at default)
>
> [macro-screen]
> exten => s,1,Wait(0.2)
> exten => s,2,Playback(screen-from)
> exten => s,3,Playback(${ARG1})
> exten => s,4,Read(ACCEPT|screen-accept|1)
> exten => s,5,GotoIf($[${ACCEPT} = 1 ] ?7:6)
> exten => s,6,SetVar(MACRO_RESULT=CONTINUE)
> exten => s,7,System(/bin/rm ${ARG1})
>
>
> Notes:
>
>  a.. Do not put spaces between the arguments to the Dial command, it 
> will not work.
>  b.. When options t, T", "h", "H", "w", "W" or "L" (with multiple 
> arguments) are applied, Asterisk will remain in the media path, even 
> if canreinvite=yes'' (a SIP channel option) has been specified.
>
>
>
> Return codes
>
> Dial sets DIALSTATUS to indicate its success. However, under some 
> circumstances, execution will jump to priority n+101 in the current 
> context. This happens when:
>
>
>  a.. All channels dialed were busy
>  b.. There is exists something at n+101 in the current context
>  c.. You are running asterisk 1.0.x, priorityjumping=yes is set in 
> extensions.conf, or the j option is specificed in the dial command
>
> Note that in Asterisk v1.2+ priorityjumping is considered "off" by 
> default, which is a change from previous versions.
>
> If the g option is specified, and the called party hangs up before the 
> calling party, then Dial continues execution at priority n+1.
>
> Note: The bristuff patches change the dial behaviour slightly and jump 
> to n+201 if the dialed destination isn't connected (e.g. a SIP 
> softphone is not up and running, or hasn't registered).
>
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list