rendered paste body[callforward]
;Turn Off
exten => *70,1,DBdel(CFIM/${CALLERIDNUM})
exten => *70,2,Answer
exten => *70,3,Wait(1)
exten => *70,4,Playback(call-fwd-cancelled)
exten => *70,5,Hangup
;Turn On
exten => _*71.,1,DBput(CFIM/${CALLERIDNUM}=${EXTEN:3})
exten => _*71.,2,Answer
exten => _*71.,3,Wait(1)
exten => _*71.,4,Playback(call-fwd-unconditional)
exten => _*71.,5,Playback(for)
exten => _*71.,6,Playback(extension)
exten => _*71.,7,SayDigits(${CALLERIDNUM})
exten => _*71.,8,Playback(is-set-to)
exten => _*71.,9,SayDigits(${EXTEN:3})
exten => _*71.,10,Hangup
;
; Call Forward on Busy or Unavailable
;Turn Off
exten => *72,1,DBdel(CFBS/${CALLERIDNUM})
exten => *72,2,Hangup
;Turn On
exten => _*72.,1,DBput(CFBS/${CALLERIDNUM}=${EXTEN:3})
exten => _*72.,2,Hangup
[macro-stdexten]
exten => s,1,DBget(temp=CFIM/${ARG1})
exten => s,2,Goto(all-exten,${temp}|1)
exten => s,102,Goto(s|3)
exten => s,3,DBget(dnd=DND/${ARG1})
exten => s,4,DBPut(LASTCALL/${ARG1}=${CALLERIDNUM})
exten => s,5,Dial(SIP/${ARG1},60,Tr)
exten => s,6,Voicemail(u${ARG1})
exten => s,7,Hangup
exten => s,106,Voicemail(b${ARG1})
exten => s,107,Hangup