ok ... these are my speed dial routines ... I got the idea from some
examples I found on the web ... suspect the basics were in an article on
voip-info.org ... I modified to make them work the way I thought best ... I
did not invent this, just tried to make it a little bit
quicker/better/cheaper ...
would love to see if someone else out there has a better way of doing this
... but this works pretty good for me and is used in most all my deployments
...
Example Speed Dial routines ...
;
;********************************************************************
; BEGIN - Internal Extensions and Services
;********************************************************************
;
[internal-svc]
;
; Services available to internal extensions
; include this in the default context for internal extensions
;
; To store a speed dial
; "**" + < 3 digit speed dial bin > + < number to call >
;
; To dial a speed dial
; "*" + < 3 digit speed dial bin >
;
; Retreive a speed dial number
;
exten => _*XXX,1,SetVar(speedbin=${EXTEN:1})
exten => _*XXX,2,Goto(get-speed-dial,s,1)
;
; Save a speed dial number
;
exten => _**XXX1NXXNXXXXXX,1,SetVar(speedbin=${EXTEN:2:3})
exten => _**XXX1NXXNXXXXXX,2,SetVar(speednum=${EXTEN:5})
exten => _**XXX1NXXNXXXXXX,3,Goto(put-speed-dial,s,1)
;
;
[put-speed-dial]
;
; Put a speed dial number into the database
;
exten => s,1,Playback(for)
exten => s,n,Playback(speed-dial)
exten => s,n,SayDigits(${speedbin})
;
exten => s,n,Playback(the-num-i-have-is)
exten => s,n,SayDigits(${speednum})
exten => s,n,Playback(silence/1)
;
exten => s,n,Playback(if-this-is-correct)
exten => s,n,Playback(press-1)
exten => s,n,Playback(or)
exten => s,n,Playback(hangup-try-again)
;
exten => s,n,Set(TIMEOUT(digit)=5) ; give them 5
seconds between digits
exten => s,n,Set(TIMEOUT(response)=20) ; give them 20 seconds to
make a choice
;
exten => 1,1,DBput(speed/${speedbin}=${speednum})
exten => 1,n,Playback(speed-dial)
exten => 1,n,Playback(digits/star)
exten => 1,n,SayDigits(${speedbin})
;
exten => 1,n,Playback(is-set-to)
exten => 1,n,SayDigits(${speednum})
exten => 1,n,Playback(silence/1)
;
exten => 1,n,Playback(goodbye)
exten => 1,n,Hangup
;
; Hang up
;
exten => #,1,Playback(goodbye)
exten => #,n,Hangup
;
; Time out
;
exten => t,n,Goto(#,1) ; If they take too long, give up
;
; Invalid choice
;
exten => i,1,Playback(invalid) ; "That's not valid, try again"
exten => i,n,Goto(s,1)
;
;
[get-speed-dial]
;
; Retreive a speed dial number from the database
;
exten => s,1,DBget(speednum=speed/${speedbin}) ; set speednum to
value in bin number
exten => s,n,Playback(speed-dial)
exten => s,n,SayDigits(${speedbin})
exten => s,n,Playback(is-set-to)
exten => s,n,SayDigits(${speednum}})
exten => s,n,Playback(silence/1)
;
exten => s,n,Playback(to-call-this-number)
exten => s,n,Playback(press-1)
exten => s,n,Playback(or)
exten => s,n,Playback(hangup-try-again)
;
; give them 5 seconds to between digits
;
exten => s,n,Set(TIMEOUT(digit)=5)
;
; give them 20 seconds to make a choice
;
exten => s,n,Set(TIMEOUT(response)=20)
;
exten => 1,1,DIAL(${TRUNK}/${speednum},60,tr))
;
; Hang up
;
exten => #,1,Playback(goodbye)
exten => #,n,Hangup
;
; Time out
;
exten => t,1,Playback(if-youd-like-to-make-a-call)
exten => t,n,Playback(please-hang-up-and-try-again)
exten => t,n,Congestion
exten => t,n,Hangup
;
; Invalid choice
;
exten => i,1,Playback(pbx-invalid) ; "That's not valid, try again"
exten => i,n,Playback(please-hang-up-and-try-again)
exten => i,n,Hangup
;
;
;********************************************************************
; END - Internal Extensions and Services
;********************************************************************
;
_______________________________________________
Astlinux-users mailing list
[email protected]
http://lists.kriscompanies.com/mailman/listinfo/astlinux-users
Donations to support AstLinux are graciously accepted via PayPal to [EMAIL
PROTECTED]