Coverbild des Asterisk Buches von Stefan Wintermeyer

Achtung: Dies ist ein Beta Test!

  • Bitte melden Sie Fehler! Siehe dazu die Beta-Test FAQ.
  • Besuchen Sie den Asterisk-Tag.org in Bremen und lassen Sie sich dort Ihr Buch von Stefan Wintermeyer signieren.
  • Bestellmoeglichkeiten fuer das gedruckte Buch: Amazon oder direkt beim Verlag

Asterisk Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de.


6.2. Komplexes CallForwarding

Diesmal soll in der Apfelmus GmbH jeder Mitarbeiter ein CallForwarding aktivieren können, allerdings soll es ein weiteres CallForwarding für die gesamte Firma geben, damit bei einem Betriebsausflug alle Gespräche an eine andere Niederlassung geleitet werden können. Diese Weiterleitung wird über die Funktionsnummer 55 aktiviert (gefolgt von der Zielrufnummer). Die grosse Weiterleitung für die gesamte Anlage hat dabei eine höhere Priorität als die einzelnen Regeln. Eine Realisierung kann wie folgt aussehen:

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

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

; Call Forwarding für die gesamte Telefonanlage
;
; aktivieren
exten => _55X.,1,Answer()
exten => _55X.,2,Set(DB(CF/anlage)=${EXTEN:2})
exten => _55X.,3,SayDigits(${EXTEN:2})
exten => _55X.,4,NoOp(Weiterleitung der Anlage auf ${EXTEN:2} aktiviert.) 
exten => _55X.,5,Hangup()

; deaktivieren
exten => 55,1,Answer()
exten => 55,2,DBdel(CF/anlage)
exten => 55,3,Playback(auth-thankyou)
exten => 55,4,NoOp(Weiterleitung der Anlage deaktiviert.) 
exten => 55,5,Hangup()

[from-extern]
exten => _X.,1,NoOp(Anruf von ${CALLERID(number)} fuer ${EXTEN})
exten => _X.,4,GotoIf($[foo${DB(CF/anlage)} != foo]?200:5)
exten => _X.,5,GotoIf($[foo${DB(CF/${EXTEN})} != foo]?100:6)
exten => _X.,6,Dial(SIP/${EXTEN})
exten => _X.,100,NoOp(Anruf fuer ${EXTEN} wird verbunden zu ${DB(CF/${EXTEN})})
exten => _X.,101,Dial(local/${DB(CF/${EXTEN})})
exten => _X.,200,NoOp(Anruf fuer ${EXTEN} wird verbunden zu ${DB(CF/${EXTEN})})
exten => _X.,201,Dial(local/${DB(CF/allnamics)})