[asterisk-users] Simple(?) dialplan question.
Gordon Henderson
gordon+asterisk at drogon.net
Sun Mar 22 05:56:30 CDT 2009
On Sun, 22 Mar 2009, Asterisk wrote:
> Hi List,
>
> I have a nice simple dialplan question for you.... Currently, I have
> definitions similar to the following in my extensions.conf file, to allow me
> to dial out using a variety of channels:
>
> ; Direct dial (number starts with zero), use 0151 xxx xxxx:
> exten => _0.,1,Set(CALLERID(number)=0845xxxxxxx)
> exten => _0.,n,Dial(SIP/${EXTEN}@sipgate,90,t)
> exten => _0.,n,Playback(invalid)
> exten => _0.,n,Hangup[/code]
>
> (I've munged some of the numbers, hence the x's)
>
> Now, this works fine provided the person answers in 90 seconds or less: If
> not, I get "that option is invalid" announced, and it hangs up. I want to do
> this:
It's easy to do in dialplan - you just need to know the status codes
returned by Dial (and hope that sipgate return the correct codes too)
You can simply:
exten => _0.,n,Goto(${DIALSTATUS})
(before the playback)
Use the labels as the destinations - eg.
exten => _0.,n(BUSY),Noop()
exten => _0.,n(CONGESTION),Noop()
then you could at this point, insert a Wait(1) then a Goto back to your
Dial line.
See the helpfile on the Dial command for all possible status messages -
ie.
DIALSTATUS - This is the status of the call:
CHANUNAVAIL | CONGESTION | NOANSWER | BUSY | ANSWER | CANCEL
DONTCALL | TORTURE | INVALIDARGS
> If DIAL fails because I got the number wrong, then a PLAYBACK to that effect
> would be useful... I can record my own soundfile if there isn't a standard
> one. By wrong, I mean the exchange would return number unavailable, rather
> than I get the wrong person!
I used to play messages back, but resorted to just returning the codes to
the phone.
> If DIAL fails after it's been ringing for ages (e.g. when calling the local
> Post Office sorting office, who only answer 1 in 5 calls), I'd like it to
> retry, ala the busy response.
> IF DIAL exits because the other party hung up, I'd want it to simply hang up
> on me like it does now. I suspect this is standard behaviour? But maybe it
> tries to read the invalid announce to a closed channel with my dialplan, I'm
> not sure.
that's standard, or implement a 'h' priority.
Does sipgate let you change outgoing caller ID these days now?
Gordon
More information about the asterisk-users
mailing list