Upgrade 3CX to v18 and get it hosted free!

Asterisk@Home Handbook Speed Dials

Author image

Asterisk @ Home systems come with a system-wide speed dial, shared between all users.

Speed dials are set by dialing 3003XXX., where an example would be 300 301 8005551212. This would define speed dial 301 to call 8005551212.

To use the speed dial, any user would dial 301 from their phone.

If a user is unsure of what a speed dial points to, they can dial *301 to have Alison say the number.

When I first found this feature, I was surprised, as I don’t think I’ve read anything about it in the handbook. I decided to read the entire dialpan to look for more surprises. I discovered that there was nothing setup for personal/user speed dials, so with a bit of modification, I quickly added some. the 5xx range seems to be more or less free so I added similar functionality to the context to allow users to store individual speed dial in this range.

Setting up personal speed dials:

Using the code below, if a user on extension 200 sets a personal speed dial on 510, and the user on extension 201 sets a different speed dial on 510, they will not conflict.

This modification will also work in cases were you have your users configured to login to their phones vs statically configured to a phone.

modify extensions_custom.conf


[custom-speed-dial]
exten => _3005XX.,1,Macro(user-callerid)
exten => _3005XX.,2,DBput(Speed${CALLERIDNUM}/${EXTEN:3:3}=${EXTEN:6})
exten => _3005XX.,3,goto(custom-speed-dial,3003${EXTEN:4},2)

exten => _5XX,1,Macro(user-callerid)
exten => _5XX,2,DBget(speedref=Speed${CALLERIDNUM}/${EXTEN})
exten => _5XX,3,goto(custom-speed-dial,3${EXTEN:1},2)

exten => _*5XX,1,Macro(user-callerid)
exten => _*5XX,2,Answer
exten => _*5XX,3,DBget(speedref=Speed${CALLERIDNUM}/${EXTEN:1})
exten => _*5XX,4,SetVar(speedreflocation=${EXTEN:1})
exten => _*5XX,5,goto(custom-speed-dial,*3${EXTEN:2},4)



;Speed dialing record
exten => _3003XX.,1,DBput(SysSpeed/${EXTEN:3:3}=${EXTEN:6})
exten => _3003XX.,2,SayDigits(${EXTEN:6})
exten => _3003XX.,3,playback(at)
exten => _3003XX.,4,playback(position)
exten => _3003XX.,5,SayDigits(${EXTEN:3:3})
exten => _3003XX.,6,Hangup

;Speed dialing recall and dial
exten => _3XX,1,DBget(speedref=SysSpeed/${EXTEN})
exten => _3XX,2,playback(pls-wait-connect-call)
exten => _3XX,3,Goto(customer,${speedref},1)
exten => _3XX,102,playback(that-number)
exten => _3XX,103,playback(is-not-in-the)
exten => _3XX,104,playback(speed-dial)
exten => _3XX,105,playback(system)
exten => _3XX,106,playback(pls-try-again)
exten => _3XX,107,playback(goodbye)
exten => _3XX,108,Macro(hangupcall)

;Speed dialing recall and tell caller what it is, part one
exten => _*3XX,1,Answer
exten => _*3XX,2,DBget(speedref=SysSpeed/${EXTEN:1})
exten => _*3XX,3,SetVar(speedreflocation=${EXTEN:1})
exten => _*3XX,4,Goto(menu-SysSpeed,s,1)
exten => _*3XX,102,playback(speed-dial)
exten => _*3XX,103,playback(num-not-in-db)
exten => _*3XX,104,playback(pls-try-again)
exten => _*3XX,105,playback(goodbye)
exten => _*3XX,106,Macro(hangupcall)


Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.
Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.