In der bristuffed-Version von Asterisk ist es ebenfalls möglich, die LEDs z.B. auch gezielt aus dem Wählplan anzusteuern. Dazu wurde Asterisk die Applikation "Devstate" hinzugefügt. Bitte prüfen Sie auf der Asterisk-Konsole über den Befehl show application Devstate, ob Ihre Asterisk-Version diesen Patch enthält:
*CLI> show application Devstate -= Info about application 'Devstate' =- [Synopsis] Generate a device state change event given the input parameters [Description] Devstate(device|state): Generate a device state change event given the input parameters. Returns 0. State values match the asterisk device states. They are 0 = unknown, 1 = not inuse, 2 = inuse, 3 = busy, 4 = invalid, 5 = unavailable, 6 = ringing *CLI>
Der Parameter "device" stellt nichts weiter dar, als eine spezielle Extension vom Typ Device-State, die aber im Prinzip exakt so angesprochen wird wie z.B. eine SIP-Extension. Die Device-States sollten im Wählplan gut von regulären Extensions unterscheidbar sein, damit man bei der Wartung und Fehlersuche nicht durcheinander kommt.
Genau wie oben bereits beschrieben, muss in der snom-Konfiguration die anzusteuernde Leitungsanzeige mit der passenden Extension eingestellt werden. Auch hier muss als Typ der Parameter "Ziel" gewählt werden. Im nachfolgenden Beispiel wird die "9912" zur Ansteuerung der Anzeige P12 genutzt. P6 ist nach wie vor aus dem obigen Beispiel gesetzt und bleibt auch in bekannter Weise funktionsfähig.
In der Datei extensions.conf
muss nun ein
weiterer Hint gesetzt werden, diesmal vom Typ DS statt SIP:
[meine-telefone] exten => 2001,hint,SIP/2001 exten => 9912,hint,DS/9912 ; Gespraechsuebernahme (PickUp) fuer bristuff exten => _*8.,1,PickUpChan(SIP/${EXTEN:2})
Das ist bereits alles. Wie gehabt nun das Telefon neu anmelden, damit die Subscriptions registriert werden. Mittels show hints (core show hints in Version 1.4) sieht man nun einen weiteren Hint aufgeführt:
*CLI> show hints -= Registered Asterisk Dial Plan Hints =- 9912 : DS/9912 State:Unavailable Watchers 1 2001 : SIP/2001 State:Idle Watchers 1 ---------------- - 2 hints registered *CLI>
Auch ein show subscriptions sollte einen weiteren Wert anzeigen:
*CLI> sip show subscriptions Peer User Call ID Extension Last state Type 192.168.0.2 2000 866a9545a90 9912 Idle dialog-info+xml 192.168.0.2 2000 866a9545a90 2001 Idle dialog-info+xml 2 active SIP subscriptions *CLI>
Um die Funktionsweise zu testen, kann der Wählplan z.B. um folgenden Code erweitert werden:
exten => _*9X,1,Answer() exten => _*9X,n,Devstate(9912,${EXTEN:2}) exten => _*9X,n,Wait(1) exten => _*9X,n,Hangup()
Nun können die verschiedene Device-States über *9<state> überprüft werden, z.B. kann man die LED mit *96 blinken oder mit *92 dauerhaft leuchten lassen sowie mit *91 wieder deaktivieren. Ist die Funktionsweise einmal sichergestellt, sind der sinnvollen Anwendung dieses Features natürlich keine Grenzen gesetzt.
Version 1.2, November 2002
Neue Version verfügbar
Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.
Asterisk-Tag 2008
Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org