Quoting Philipp Kempgen <[EMAIL PROTECTED]>:
>> exten => s,1,Answer()
>> exten => s,n,Goto(s-${DIALSTATUS},1)
>
> This still doesn't make sense because you did not Dial()
> before jumping based on ${DIALSTATUS}.
Ok, make sense. But still no go:
----- s n i p -----
[default]
exten => s,1,Answer()
exten => s,2,Dial(SIP/${EXTEN},20,t)
exten => s,4,Goto(default,s-${DIALSTATUS},1)
exten => s-CANCEL,1,Hangup()
exten => s-DONTCALL,1,Voicemail(${EXTEN},u)
exten => s-NOANSWER,1,Voicemail(${EXTEN},u)
exten => s-BUSY,1,Voicemail(${EXTEN},b)
exten => 2403,1,Hangup()
exten => _X.,1,Playback(pbx-invalid)
exten => _X.,2,Hangup()
----- s n i p -----
If I didn't have the '2403,1,Hangup()' line, I just got
'No such extension'. If I instead put:
----- s n i p -----
exten => 2403,1,Dial(SIP/${EXTEN},20,t)
exten => 2403,2,Set(GLOBAL(ORIGEXTEN)=${EXTEN})
exten => 2403,3,Goto(default,s-${DIALSTATUS},1)
----- s n i p -----
And changed the 'EXTEN' to 'ORIGEXTEN' in some places,
added the 'Set()' in some other (mainly as prio 3
in the 's,...' lines) it works. But the whole idea
here was so that I wouldn't have to use so many
lines...
The 's,...' part is STILL not 'executed'...!
>>> exten => _X.,1,Dial(SIP/${EXTEN},20)
>>> exten => _X.,n,Goto(s-${DIALSTATUS},1)
>>
>> > Well, I don't want the first part
>
> Then maybe
>
> [default]
> exten => _X.,1,Dial(SIP/${EXTEN},20)
> exten => _X.,n,Goto(s-${DIALSTATUS},1)
How are these different?
> Or you could define every extension and use a macro. There's an example
> in the default extensions.conf file (if you ran `make samples`).
Ah, got it... A little modifications for my need, and of I went!
For the archive:
----- s n i p -----
[macro-catchstatus]
exten => s,1,Dial(SIP/${ARG1},20,t) ; Dial the extension,
maximum 20 seconds
exten => s,2,Goto(s-${DIALSTATUS},1) ; Go to relevant dial
status
exten => s-CANCEL,1,Hangup()
exten => s-DONTCALL,1,Voicemail(${ARG2},u) ; Direct caller to the
voicemail w/ unavailible
exten => s-NOANSWER,1,Voicemail(${ARG2},u) ; Direct caller to the
voicemail w/ unavailible
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #,
return to start
exten => s-BUSY,1,Voicemail(${ARG2},b) ; Direct caller to the
voicemail w/ busy
exten => s-BUSY,2,Goto(default,s,1) ; If they press #,
return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else
as no answer
exten => a,1,VoicemailMain(${ARG2}) ; If they press *, send
the user into VoicemailMain
[default]
exten => s,1,Answer() ; Can't Playtones
unless we answer the line first
exten => 2403,1,Macro(catchstatus,${EXTEN},${EXTEN})
----- s n i p -----
One line per extension, exactly how I wanted it originally.
Thanx for the pointers!
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users