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]

Reply via email to