Einfaches CallForwarding

Bei der Apfelmus GmbH soll jeder Mitarbeiter die Möglichkeit bekommen, Gespräche zu seinem Telefon an eine beliebige andere Nummer weiterzuleiten. Um diese Weiterleitung zu aktivieren, muss die interne Rufnummer 44 gefolgt von der Zielrufnummer angerufen werden. Zum Deaktivieren der Weiterleitung muss wieder die 44 (aber diesmal ohne eine weitere Nummer) angerufen werden. Dies wird mit folgendem Wählplan realisiert:

[from-intern]
; Call Forwarding für einen einzelnen Anschluss
;
; aktivieren
exten => _44X.,1,Answer()
exten => _44X.,n,Set(DB(CF/${CALLERID(num)})=${EXTEN:2})
exten => _44X.,n,SayDigits(${EXTEN:2})
exten => _44X.,n,NoOp(Weiterleitung fuer ${CALLERID(num)} auf ${EXTEN:2}
 aktiviert.) 
exten => _44X.,n,Hangup()

; deaktivieren
exten => 44,1,Answer()
exten => 44,n,DBdel(CF/${CALLERID(num)})
exten => 44,n,Playback(auth-thankyou)
exten => 44,n,NoOp(Weiterleitung fuer ${CALLERID(num)} deaktiviert.) 
exten => 44,n,Hangup()

[from-extern]
exten => _X.,1,NoOp(Anruf von ${CALLERID(num)} fuer ${EXTEN})
exten => _X.,n,GotoIf($[foo${DB(CF/${EXTEN})} != foo]?normal:forward)
exten => _X.,n(normal),Dial(SIP/${EXTEN})
exten => _X.,n(forward),NoOp(Anruf fuer ${EXTEN} wird verbunden zu ${DB(
CF/${EXTEN})})
exten => _X.,n,Dial(local/${DB(CF/${EXTEN})})