[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