
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
| |
[macro-stdexten]
;
; 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.
|
|
|
|
|
|