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.9. Authenticate()

Verlangt zur Fortsetzung eines Vorgangs die Eingabe eines Passworts vom Anrufer

Authenticate(Passwort[,Optionen])

Verlangt, dass der Anrufer ein gegebenes Passwort Passwort korrekt eingibt, um dann mit der Ausführung der nächsten Priorität im Wählplan (dialplan) fortzufahren. Authenticate() gibt dem Anrufer drei Versuche, das Passwort korrekt einzugeben. Andernfalls wird die Verbindung beendet.

Falls Passwort mit dem /-Zeichen beginnt, wird es als Datei interpretiert, die eine Liste gültiger Passwörter (genau eins pro Zeile) enthält. Passwörter können auch in der Asterisk-Datenbank (AstDB) gespeichert sein, siehe dazu die Option d weiter unten.

Folgende Optionen sind möglich (auch in Kombination):

a
(accountcode) Setzt den Namen des CDR-Felds accountcode und die Variable für den Kanal, ACCOUNTCODE, auf das eingegebene Passwort.
d
(database) Interpretiert Passwort als Schlüssel der Asterisk-Datenbank. Wenn ein Datenbankschlüssel benutzt wird, kann der mit dem Schlüssel assoziierte Wert beliebig sein.
r
(remove) Entfernt den Datenbankschlüssel nach erfolgreicher Verbindung und Eintreten in die Datenbank (nur möglich mit Option d)
j
(jump) Bei falschem Passwort statt aufzulegen zur Priorität n+101 springen, falls diese existiert.

Wichtig

Beachten Sie bei der Option d, dass - völlig unverständlicherweise! - als Parameter /passwoerter/1234 verlangt wird, wobei passwoerter die Familie ist und 1234 das Passwort; der unter diesem Schlüssel gespeicherte Wert ist irrelevant. Der gesunde Menschenverstand würde einen Datenbank-Eintrag wie /passwoerter/art => 1234 erwarten.

Liefert 0 zurück, falls der Benutzer nach maximal drei Versuchen ein gültiges Passwort eingegeben hat, sonst -1 (auch nach Auflegen).

; Passwort 1234 verlangen:
exten => 123,1,Answer()
exten => 123,2,Authenticate(1234)
exten => 123,3,Playback(pin-nummer-akzeptiert)
exten => 123,4,SayDigits(${ACCOUNTCODE})

Siehe auch. Abschnitt 6.128, „VMAuthenticate()