Zunächst muss in der Datei sip.conf
die
[general]
-Sektion erweitert werden:
[general] allowsubscribe=yes notifyringing=yes notifyhold=yes useclientcode=yes
Des Weiteren muss in der Sektion des Telefons, das die überwachende Rolle übernimmt, eine sogenannte "Subscription" eingetragen werden. Damit meldet das Telefon bei Asterisk an, dass es über Status-Änderungen anderer Telefone informiert werden will. Der Context, für den sich das Telefon anmeldet, muss identisch sein mit dem Context, in dem die sogenannten "Hints" der Telefone gesetzt werden, die überwacht werden sollen. In der Regel ist dieser identisch mit dem Context, in dem sich die eigentlichen Telefone bewegen.
[2000] type=friend context=meine-telefone subscribecontext=meine-telefone secret=1234 host=dynamic mailbox=2000
Für die zu überwachenden Telefone muss innerhalb der
sip.conf
kein Eintrag hinzugefügt werden, dies
geschieht ausschließlich in der extensions.conf
. Im
Wählplan müssen die oben bereits erwähnten "Hints" gesetzt werden. Über
diese Hints wird Asterisk quasi erlaubt, Informationen über den Zustand
der dort definierten Extensions weiterzugeben, nämlich genau an die oben
konfigurierten Subscriber. Es ist wichtig, dass die Hints genau in dem
Context gesetzt werden, in dem sich das überwachende Telefon über die
Zeile subscribecontext=...
angemeldet hat, ansonsten werden
die Status-Informationen nicht weitergeleitet. Dies ist durchaus
Absicht, damit man nicht per se von allen Telefonen alle weiteren
überwachen, sondern durch die Wahl des Contextes eine Auswahl treffen
kann.
[sonstige] [meine-telefone] exten => 2001,hint,SIP/2001 exten => _2XXX,1,Dial(SIP/${EXTEN},20,j) exten => _2XXX,2,VoiceMail(u${EXTEN}) exten => _2XXX,102,VoiceMail(b${EXTEN}) exten => 2999,1,VoiceMailMain(s${CALLERID(num)}) exten => asterisk,1,VoiceMailMain(s${CALLERID(num)})
Wichtig | |
---|---|
Die hint-Priorität war in der Vergangenheit immer für einige
Tücken und Probleme bekannt. In einigen älteren Asterisk-Versionen ist
die Priorität case-sensitive, muss also auf alle Fälle
kleingeschrieben werden. Ebenso funktioniert auch nicht in allen
Asterisk-Versionen die Benutzung von Variablen für die zu
überwachenden Extensions. Der sicherste Weg ist daher für jede zu
überwachende Extension einen Eintrag exakt in der obigen Form
anzulegen. Der Übersichtlichkeit halber kann man alle gesammelten
Hints auch in einen eigenen Context legen und diesen überall dort mit
|
Nun muss noch das überwachende Telefon konfiguriert werden. Dazu melden Sie sich wie gewohnt mit einem Webbrowser am Telefon an und gehen in das Untermenü "Funktionstasten". Dort belegen Sie die Funktionstaste Ihrer Wahl (im Beispiel die P6) mit dem Typ "Ziel" und tragen die zu überwachende Extension ein, hier also die 2001.
Nachdem die Einstellungen gespeichert wurden, ändert das Telefon den Eintrag automatisch in eine passende URI der Form <sip:2001@xxx.xxx.xxx.xxx;user=phone> (xxx.xxx.xxx.xxx ist die IP-Adresse der Telefonanlage) ab:
Wichtig | |
---|---|
Die Bezeichnung "Ziel" wurde in den snom-Hardphones in einem der neueren Releases in "Nebenstelle" umbenannt und gilt daher nur noch für die Softphones und ältere Firmware-Stände in den Hardphones. Es ist nur eine Umbenennung, die weitere hier beschriebene Funktionalität bleibt unverändert erhalten. |
Nun sind alle Einstellungen getätigt. Zunächst muss Asterisk neu gestartet werden und anschließend die Telefone. Der Telefon-Neustart nach dem Asterisk-Neustart ist für die saubere Anmeldung der Subscription des Telefons notwendig. Zunächst sollte überprüft werden, ob alles richtig konfiguriert wurde. Dazu geben Sie im Asterisk-CLI die Zeile show hints (core show hints in Version 1.4) ein:
*CLI> show hints -= Registered Asterisk Dial Plan Hints =- 2001 : SIP/2001 State:Unavailable Watchers 0 ---------------- - 1 hints registered *CLI>
In obigem Beispiel wird deutlich, dass das zu überwachende Telefon
noch nicht am Asterisk-Server angemeldet ist
(unavailable
). Ebenso ist auch noch kein
überwachendes Telefon an den Status dieser Extension angeklinkt
(Watchers-Wert ist 0). Letzteres wird auch durch die Auflistung der
aktiven Subscriptions bestätigt, die durch das Kommando sip
show subscriptions initiiert wird.
*CLI> sip show subscriptions Peer User Call ID Extension Last state Type 0 active SIP subscriptions *CLI>
Nun melden Sie zunächst das überwachende Telefon an und setzen den Befehl erneut ab:
*CLI> sip show subscriptions Peer User Call ID Extension Last state Type 192.168.0.2 2000 815d944554e 2001 Unavailable dialog-info+xml 1 active SIP subscription *CLI>
Hier wird deutlich, dass der User 2000 die Extension 2001 überwacht. Bereits jetzt leuchtet die Lampe am Telefon, die zur Überwachung konfiguriert wurde. Es ist eine Eigenschaft des bristuff-Patches, dass überwachte, aber noch nicht angemeldete Endgeräte über eine dauerhaft leuchtende LED angezeigt werden.
Nun melden Sie das zu überwachende Telefon erneut an. Bereits mit der Anmeldung sollte folgende Zeile auf dem Asterisk-CLI erscheinen:
Extension Changed 2001 new state Idle for Notify User 2000
Die LED am überwachenden Telefon erlischt zeitgleich. Setzen Sie den Befehl show hints (core show hints in Version 1.4) erneut ab:
*CLI> show hints -= Registered Asterisk Dial Plan Hints =- 2001 : SIP/2001 State:Idle Watchers 1 ---------------- - 1 hints registered *CLI>
Im Gegensatz zu vorher sieht man, dass das Telefon einen definierten Zustand hat ("Idle") und zudem ein weiteres Telefon den Zustand überwacht (Watchers-Wert ist 1). Die Konfiguration ist nun komplett, Asterisk meldet Statuswechsel der überwachten Extension sofort an das überwachende Telefon. Befindet sich das überwachte Telefon im Gespräch, leuchtet die LED dauerhaft. Wird das überwachte Telefon angerufen, blinkt die LED. Ohne Aktivität ist auch die LED gelöscht. Die unterschiedlichen Status sind ebenfalls auf der Konsole sichtbar:
Extension Changed 2001 new state InUse for Notify User 2000 Extension Changed 2001 new state Ringing for Notify User 2000 Extension Changed 2001 new state Idle for Notify User 2000
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