Junghanns.NET - Quality Statement
Deutsch|Support|Disclaimer|Contact us
HomeProductsOpen SourceSolutionsClientsPartnerDownload

Open Source

Call Forwarding

Letting your users enable and disable call forwarding for their extension is not very difficult and quickly setup.
The user can enable it with extension *5 plus the destination, and disable it with *5 and no destination.

exten => _*5X.,1,DBput(CF/${CALLERIDNUM}=${EXTEN:2})
exten => _*5X.,2,Hangup

exten => *5,1,DBdel(CF/${CALLERIDNUM})
exten => *5,2,Hangup
; Standard extension macro (with call forwarding):
; ${ARG1} - Extension(we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
exten => s,1,DBget(temp=CF/${ARG1})
exten => s,2,Goto(${temp}|1)
exten => s,102,Goto(s|3)
exten => s,3,Dial(${ARG2},120)
exten => s,103,Goto(s|50)
exten => s,4,Voicemail(u${ARG1})
exten => s,5,Hangup
exten => s,104,Voicemail(b${ARG1}) ; busy
exten => s,105,Hangup

This provides immediate call forwarding.
If you add the DBget/Goto after the Dial command at prio 4 (where the Voicemail is) you make it a CFNR.
If you add it at prio 104 (Voicemail busy) it becomes a CFBS.

Home|The Company|Products|Solutions|Press|Reseller|Support|Contact
Copyright 2000-2011 Junghanns.NET GmbH. All rights reserved. Privacy Policy - Terms and Conditions