Was genau geschieht, wenn ein Teilnehmer mehrere Anrufe gleichzeitig erhält? Oder anders, etwas differenzierter gefragt: was geschieht, wenn ein am Asterisk Server angeschlossenes Telefon einen Anruf erhält, während dieser Apparat gerade für ein Gespräch genutzt wird? Antwort: Bei der Digitaltelefonie sind mehrere, gleichzeitige Anrufe problemlos möglich. Ruft jemand auf eine Nummer, die gerade für ein Gespräch genutzt wird, wird dies dem Angerufenen optisch oder akustisch mitgeteilt. Dieser kann nun entscheiden, was er mit dem neuen Anruf machen will: abweisen, parken oder annehmen, während der bisherige Gesprächspartner im Haltemodus bleibt.
Einem Kunden war dies alles zu kompliziert. Er wünschte das gute alte Besetztzeichen zurück! Während er also telefoniert ist er für niemand anders erreichbar und Anrufer erhalten das aus der Analogtelefonie bekannte Besetztzeichen. Glücklicherweise verwenden wir SNOM Telefone und mit diesen ist dies recht einfach zu bewerkstelligen. Die alles entscheidende Option findet sich im Webinterface des Telefones in der Rubrik «Erweitert/Audio»:

Ich verwende hier ein SNOM 320 mit der Firmware 7.3.14. Die Sprache ist auf deutsch eingestellt. Die gesuchte Option heisst deshalb «Anklopfen» Die englische Bezeichnung lautet: «Call Waiting». Hier kann eingestellt werden, wie sich das Telefon verhalten soll, wenn es mehrere Anrufe erhält. Per Vorgabe lautet die Einstellung Ein – der Angerufene wird mit einem Klingelzeichen und einer Anzeige auf dem Display auf den neuen Anrufer aufmerksam gemacht. Die beiden folgenden Optionen, Nur Klingeln und Visuell schränken dieses Verhalten entsprechend ein. Mit der letzten Einstellung, Aus, wird dem Asterisk Server ein BUSY signalisiert, sobald er mehr als einen Anruf zustellen will.
Auf Seite des Asterisk Server erfolgt diese BUSY Meldung des SNOM beim Aufruf der Applikation Dial(), die ich hier schon vorgestellt habe. Wichtig ist hier zu wissen, dass Asterisk nicht automatisch ein Besetztzeichen sendet, sondern einfach die Dial() Applikation beendet und die Abarbeitung des Dialplan fortsetzt. Um sicherzustellen, dass der Anrufer auch tatsächlich das vertraute Besetztzeichen hört und es später noch einmal versucht, muss die Busy() Applikation aufgerufen werden, wenn der Rückgabestatus der Dial() Applikation „BUSY“ lautetet. Wir ergänzen den Dialplan aus II wie folgt:
exten => 200, 1, Answer
exten => 200, n, Dial(SIP/pc2, 60)
exten => 200, n, GotoIf($["${DIALSTATUS}" != "BUSY"] ?alldone)
exten => 200, n, Busy
exten => 200(alldone), n, Hangup
Die Dial() Applikation hat eine äusserst nützliche Funktion, die wir hier nutzen: sie liefert uns nach Beendigung in einer Variablen den Status des Anrufes: Keine Antwort(NOANSWER), Überlastet (CONGESTION), Unerreichbar (CHANUNAVAIL), etc. Dieser Status, der in der Variablen ${DIALSTATUS} gespeichert ist, kann nun recht einfach mit einer GotoIf() Anweisung ausgewertet werden. In meinem Beispiel wird schlicht ein Label (alldone) verwendet, wenn das Telefon nicht besetzt ist. Natürlich wäre es hier angezeigt, auch die anderen Stati auszuwerten. Dabei könnte dem Anrufer die Möglichkeit gegeben werden, eine Nachricht zu hinterlassen.



Ein CMS (Web Content Management System) ist eine feine Sache. Der Inhalt einer Homepage kann damit rasch und ohne Fachkenntnisse aktuell gehalten werden. Und Templates sorgen dafür, dass sowohl Layout als auch Inhalt einer Seite stets ein sauberes und einheitliches Aussehen haben. Freie CMS gibt es heute in grosser Zahl und viele davon haben einen beachtlichen Umfang erreicht. So gilt etwa 



