Philip Prindeville wrote:
> Philip Prindeville wrote:
>   
>> Darrick Hartman (lists) wrote:
>>   
>>     
>>> Philip Prindeville wrote:
>>>   
>>>     
>>>       
>>>> I'm trying to do something like:
>>>>
>>>> [macro-stdexten];
>>>> exten => s,1,Dial(${ARG2},20)
>>>> exten => s,2,Goto(s-${DIALSTATUS},1)
>>>>
>>>> exten => s-NOANSWER,1,Voicemail(u${ARG1}$["${ARG3}" != ""[EMAIL PROTECTED])
>>>> ...
>>>>
>>>>
>>>> but I'm seeing messages like:
>>>>
>>>> Feb 10 19:13:52 pbx local0.warn asterisk[19311]: WARNING[19311]: 
>>>> app_voicemail.c:2461 in leave_voicemail: No entry in voicemail config file 
>>>> for '1121?' 
>>>>
>>>>
>>>> If I change it to:
>>>>
>>>> exten => s-NOANSWER,1,Voicemail(u${ARG1}$["${ARG3}" != ""]?"@${ARG3}")
>>>>
>>>> then I get:
>>>>
>>>> Feb 10 19:29:17 pbx local0.warn asterisk[19347]: WARNING[19347]: 
>>>> app_voicemail.c:2461 in leave_voicemail: No entry in voicemail config file 
>>>> for '1121?"'
>>>>
>>>>
>>>> I'm a bit flummoxed.
>>>>
>>>> What am I doing wrong?  I'm hoping that if ${ARG3} is set, it will be 
>>>> appended (with a '@' before it).
>>>>     
>>>>       
>>>>         
>>> Silly question, but does 1121 exist in your voicemail.conf file?
>>>
>>>
>>>   
>>>     
>>>       
>> No.  But [EMAIL PROTECTED] does, and ${ARG3} = redfish
>>
>>   
>>     
>
> Oh, never mind.  Turns out that ?: is a special syntax that only works 
> in GotoIf.
>
> That blows.
>
> Had to write things out as:
>
> exten => s,1,Set(MAILBOX=${ARG1})
> exten => s,n,GotoIf($["${ARG3}" != ""]?:jump)
> exten => s,n,Set([EMAIL PROTECTED])
> exten => s,n(jump),Goto(s-${DIALSTATUS},1)
>
> exten => s-NOANSWER,1,Voicemail(u${MAILBOX})
>
>
> instead.  But...hey... it works, and it's reasonably easy to read.
>
> -Philip
>   

Actually, there is a tertiary operator, but it's ? :: .... go figure.

[macro-stdexten];
;
; Standard extension macro:
;   ${ARG1} - Extension  (we could have used ${MACRO_EXTEN} here as well
;   ${ARG2} - Device(s) to ring
;   ${ARG3} - Optional context in Voicemail (if empty, then "default")
;
exten => s,1,Set(MAILBOX=$["${ARG3}" ? [EMAIL PROTECTED] :: ${ARG1}])
exten => s,n,Dial(${ARG2},20)                   ; Ring the interface, 20 
seconds  maximum
exten => s,n,Goto(s-${DIALSTATUS},1)            ; Jump based on status 
(NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)

exten => s-NOANSWER,1,Voicemail(${MAILBOX},u)   ; If unavailable, send to 
voicemail w/ unavail announce
exten => s-NOANSWER,n,MacroExit()               ; If they press #, return to 
start




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Astlinux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/astlinux-users

Donations to support AstLinux are graciously accepted via PayPal to [EMAIL 
PROTECTED]

Reply via email to