XML Directory

Telefonbuch für Cisco IP Phones

Für ein Voice over IP Netzwerk mit Cisco IP Telefonen wurde eine Möglichkeit gesucht ein persönliches Telefonbuch bequem zu administrieren und von mehreren Telefonen aus Zugriff darauf zu haben. Die Cisco IP Phones 7940 und 7960 verfügen über einen Minibrowser, der es ermöglicht auf spezielle WEB Dienste zuzugreifen. Hierzu existiert ein eigener Syntax das sogenannte CMXML(CallManagerXML).

Diese Anwendung wurde für eine klassische LAMP(Linux Apache MySQL PHP) Umgebung entworfen. Sie unterstützt mehrere Benutzer, welchen beliebig viele Telefone zugeordnet werden können. Die Verwaltung der Benutzer und der Telefonbücher geschieht über eine Webseite. Jeder Benutzer kann sich dort einloggen und sein Telefonbuch editieren. Der Admin kann über diese Seite Nutzer anlegen, löschen und bearbeiten.

Die WEB Schnittstelle im Detail

web_login_thumb.jpg
Abb. 1 - Login

Abbildung 1 zeigt die Login Seite auf dem Webserver. Jeder Benutzer der im System existiert kann sich hier mit seinem Benutzernamen und Passwort anmelden. Jeder "normale" Benutzer kann dann Einträge zu seinem Telefonbuch hinzufügen, sie ändern und löschen. Er hat die Möglichkeit seinen Benutzernamen und das Passwort zu ändern. Ausserdem kann er weitere Telefone für den Zugriff auf sein Verzeichniss berechtigen.

 

web_directory_thumb.jpg
Abb. 2 - Das Telefonbuch

Abbildung 2 zeigt die Webseite wie sie nach einer erfolgreichen Anmeldung aussehen kann. Es wird immer direkt in den Menüpunkt "Directory" gesprungen. Das Menü wird im oberen Teil des Browserfensters angezeigt. Der Aufbau ist relativ selbsterklärend. Jede Zeile zeigt einen Eintrag bestehend aus Vorname, Nachname und in dieser Version bis zu 3 Telefonnummern. Mit Klick auf das rote X hinter jeder Zeile kann dieser Eintrag gelöscht werden das Stiftsymbol erlaubt es den Eintrag zu editieren. Die Funktion "Eintrag hinzufügen" bedarf hoffentlich keiner näheren Erläuterung.

 

web_phones_thumb.jpg
Abb. 3 - Telefone des Benutzers

Über den Menüpunkt "Phones" ist es möglich zu steuern welche Telefone auf das Verzeichniss des Nutzers Zugriff haben. Das Telefon überträgt beim Aufruf der Services URL seinen Namen. Dieser ist zusammengesetzt aus SIP und der MAC Adresse des Gerätes. Mit diesem Namen erfolgt die Zuordnung von Telefon zu Verzeichniss.

 

web_user_thumb.jpg
Abb. 4 - Die Benutzerverwaltung

Wenn sich der Benutzer mit der UserID 1 einloggt erscheint im Menü zusätzlich der Menüpunkt "User". Hier bekommt der Admin alle existierenden Benutzer aufgelistet. Mit dem rotem X kann er den Benutzer inklusive seines Telefonbuchs löschen. Mit Klick auf das Schlüsselsymbol kann er das Passwort und den Benutzernamen ändern.

 

Die XML Schnittstelle im Detail

screen_normal.jpg
Abb. 5 - Telefon mit SIP Firmware im Ruhezustand

Bild 5 zeigt das Display des Telefons im Ruhezustand. In diesem Fall handelt es sich um das 7940 ein Unterschied zum 7960 ist unter anderen die Anzahl der Speeddial Buttons. Das 7940 hat davon nur 2 während das 7960 derer 6 besitzt. Wenn die Adresse des Webservers in der Services URL eingetragen ist kann man unsere Anwendung mit druck auf den Services Button aufrufen. Je nach Version des Telefons sieht er so aus wie in den folgenden Bilern rot markiert.

 services_button_old.jpg  services_button_new.jpg

Alternativ kann man das Verzeichniss auch über die Directory URL im Telefon einbinden. Dann befindet sich das Hauptmenü hinter der Directories Taste als External Directory.

 

screen_main_menu.jpg
Abb. 6 - Services Menü

Wenn alles stimmt sollte nach Aufruf der Services URL etwas im Display erscheinen, was ungefähr so aussieht wie in Bild 6. Hier befinden sich mindestens 3 Menüpunkte aber es können auch weitere Dienste mit eingefügt werden. Mit den Zifferntasten oder über die Cursorwippe wird der Menüpunkt selektiert. Wobei er mit der Ziffer direkt gestartet wird und bei Anwahl über die Wippe zusätzlich noch der SoftKey Select gedrückt werden muss.

 

screen_list_forward.jpg
Abb. 7 - Liste aller Einträge vorwärts

Bild 7 zeigt das Display nach Auswahl des Menüpunkts 1. Alle Einträge aus dem Telefonbuch, des Benutzers werden sortiert nach Nachnamen, angezeigt. Nach Auswahl des gewünschten Eintrages erscheinen alle Nummern, die unter diesem Namen gespeichert, sind in einer Auswahlliste. Mit dem SoftKey "Exit" kommt man zum vorherigen Menü zurück

 

screen_list_reverse.jpg
Abb. 8 - Liste aller Einträge rückwärts

Man kann sich das Nummernverzeichniss auch in umgekehrter Reihenfolge anzeigen lassen. Das geschieht über Menüpunkt 2 im Hauptmenü und sieht so aus wie in Bild 8. In dieser Version wird immer das komplette Verzeichniss angezeigt.

 

screen_find.jpg
Abb. 9 - Suchmaske

Wer eine kürzere Auswahlliste braucht benutzt die Suchfunktion. Sie ist über Menüpunkt 3 aus dem Hauptmenü erreichbar.

 

screen_find_m.jpg
Abb. 10 - Suchen nach Nachnamen die mit "M" beginnen

In der Suchmaske kann man nach Vor oder Nachnamen suchen oder man kombiniert beides in dem man zum Beispiel jeweils die Anfangsbuchstaben verwendet. Die Eingabe funktionert genau wie das SMS schreiben am Handy über die Zifferntasten. Die Eingabefelder wechselt man mit der Cursorwippe. Die Suchfunktion wird mit Betätigung des SoftKeys "Submit" gestartet.

 

screen_found_m.jpg
Abb. 11 - Gefundene Einträge

Sollte die Suche mehrere Treffer haben wird wiederrum eine Liste gezeigt aus der sich der gewünschte Eintrag auswählen lässt. Zu sehen ist das in Bild 11 wo es mehrere Einträge gibt, die mit einem M im Nachnamen beginnen.

 

screen_detail.jpg
Abb. 12 - Eintrag im Directory

Das Bild 12 zeigt einen Eintrag aus dem Telefonbuch. Unter dem Namen wurden mehrere Rufnummern gespeichert auch hier kann man wie gewohnt bestimmen welche Nummer mit dem SoftKey "Dial" gewählt werden soll. Mit "EditDial" gibt es auch die Möglichkeit die gewählte Nummer vor dem Anruf zu ändern. Nützlich ist das zum Beispiel, um die für diesen Anruf günstigste Call-by-Call Vorwahl einzufügen.

 

Updates:

08.02.2006 - Das Update auf Version 0.2a bringt folgende neue Features und Änderungen:
Die Rufnummerntypen waren in den 0.1er Versionen in Anzahl und Benennung fest vorgegeben. Das ist jetzt nicht mehr so. Der Admin kann nach belieben neue Nummerntypen anlegen. Die Zuordnung von Rufnummer zu Name ist ebenfalls flexibler geworden. Einem Eintrag (Name im Telefonbuch) kann man jetzt beliebig viele Rufnummern zuordnen. Web- und XML Interface sind mehrsprachig jeder Benutzer kann sich seine bevorzugte Sprache auswählen. Zur Zeit hat man die Wahl zwischen Englisch und Deutsch, allerdings ist es recht einfach weitere Sprachen hinzuzufügen. Bedingt durch die neuen Features hat sich das zugrunde liegende Datenbankdesign verändert, daher kann man die Daten aus einer älteren Installation nicht ohne weiteres übernehmen.
Das AGI für die dbox wurde in PHP neu geschrieben und benutzt jetzt kein 'wget' mehr. Ein neues AGI für die Rufanzeige auf Squeezeboxen über einen Slimserver ist dazugekommen.
Erfolgreich getestet wurde mit folgenden Telefonen:
7940 7960 mit SIP und SCCP Firmware
7961 und 7970
Cisco IP Communicator
Probleme gibt es mit den deutschen Umlauten auf SCCP Endgeräten ohne German Locale.

Dateien zum Projekt:
directory_v0.2a.tar.gz (158K)

Diese Seite präsentiert euch Cabal
Letzte Änderung 08.02.2006 ::Cabal