- Mitglied seit
- 3 Jul 2013
- Beiträge
- 48
- Punkte für Reaktionen
- 10
- Punkte
- 8
Da ich erst kürzlich mein Cisco 7975G mittels SIP Software an meiner Fritzbox 7270v3 zum Laufen gebracht habe, interessierte mich, wie man über das Service- und Verzeichnismenü des IP Phones Zugriff auf das Fritzbox Telefonbuch und Einstellungen der Fritzbox erhalten kann.
Im Netz und besonders hier im IPPF fand ich bereits fertige Skripte und Tipps, die mir im weiteren als Grundlage dienten.
Mein besonderer Dank an disorganizer für seine Beiträge unter http://www.ip-phone-forum.de/showthread.php?t=245349 und bt43a für seine Skripte unter http://www.ip-phone-forum.de/showthread.php?t=264283&page=2
Voraussetzungen:
Anhänge:
Anhang anzeigen cgi-bin.zip
Anhang anzeigen Anleitung 797x - v2.pdf
Alle Lösungen, so auch diese, benötigen einen Webdienst, um dem Telefon die benötigten Infos per XML zur Verfügung zu stellen.
Wie schon für den tftp-Dienst konnte ich hierfür auf das auf meiner Box installierte Freetz zurückgreifen und dort durch folgende Einträge in der rc.custom
den integrierten Webserver (httpd) starten (Port 88 und Adresse des virtuellen Interfaces muss man auf die eigenen Werte anpassen).
Da der integrierte Webserver nicht (ohne weiteres) php-fähig ist, musste ich einige der verfügbaren Skriptvorlagen zunächst in Shellskripte umschreiben, die auf der Fritzbox ausgeführt werden können. Durch das einheitliche Format konnte ich dann auch bequem Telefonbuch- und Konfigurationsdienste in einem Service zusammenfassen.
Nachdem ich das Prinzip, wie man Fritzboxeinstellungen mittels ctlmgr_ctl abfragt bzw. manipulieren kann, verstanden hatte, hab ich die Skripte um weitere Funktionen ergänzt. Neu ist z.B. die Einstellung der (allgemeinen) Rufumleitung, der Klingelsperre und die Detailanzeige der neuen Nachrichten auf dem AB mit Uhrzeit und Anrufernamen (falls im Telefonbuch vorhanden, ansonsten mit Rufnummer).
Die Skripte im angehängten ZIP-Archiv werden in das Verzeichnis wwwroot/htdocs/cgi-bin/ des USB-Speichers entpackt (dazu reicht es das Archiv im Ordner wwwroot/htdocs zu entpacken; das cgi-bin Unterverzeichnis mit den Skriptdateien wird dabei automatisch erzeugt).
Was machen die Skripte?
Über den Webdienst an (hier im Beispiel) Port 88 kann die FRITZ!Box dem IP Phone per Skriptabfrage Infos bereitstellen. Ergänzend lassen sich per Telefon Einstellungen der FRITZ!Box ändern.
ciscoauth.sh - Dieses (optionale) Skript wird zur Autorisierung bestimmter Benutzeraktionen aufgerufen. Es antwortet mit einem einfachen "authorized".
fritzbox.sh - Dieses Skript stellt über den Service-Button (Weltkugel) ein eigenes Servicemenü bereit. Folgende Aktionen lassen sich daraus aufrufen:
Fritzbox.sh ruft weitere Skripte auf, die sich im selben Verzeichnis befinden, um die Informationen im telefontauglichen XML-Format darzustellen bzw. die Kommandos auf der FRITZ!Box ausführen.
directory.sh - Über dieses Skript wird das Telefonbuch der FB als zusätzliches Verzeichnis im IP-Phone bereit gestellt. Die Auswahl erlaubt eine alphabetische zusammengefasste Darstellung der Telefonbucheinträge, sowie das Suchen nach Namen und Wählen aus dem Telefonbuch heraus. Auch directory.sh ruft weitere Skripte im selben Verzeichnis auf.
Notwendige Anpassungen:
constants.sh – Dieses Script enthält alle „global“ verwendeten Variablen und deren Zuweisungen, insbesondere Textbausteine und lokale Pfade (die hier nach Belieben angepasst und übersetzt werden können).
Sofern nach den Anleitungen hier im Text vorgegangen wird, ist die einzige notwendige Anpassung, die Änderung der IP-Adresse der FRITZ!Box und ggf. des Ports für den Webserver:
In der Konfigurationsdatei SEP<MAC>.cnf.xml des IP Phones im Root-Verzeichnis des TFTP-Severs müssen folgende Einträge angepasst werden:
Damit die Änderungen wirksam werden, muss das Telefon neu gestartet werden.
Wer es ausführlicher mag - auch mit Anleitung, wie man das Telefon generell als SIP Client auf der Fritzbox zum Laufen bringt, kann sich die ebenfalls angehängte PDF-Datei durchlesen.
Die Skripte hab ich auf meiner Hardware getestet und sie laufen dort bisher einwandfrei. Trotzdem kann ich natürlich keine Gewährleistung dafür übernehmen, dass diese auch bei Euch in jeder Konfiguration funktionieren. Die Installation und Einrichtung erfolgt daher auf eigene Gefahr.
Sollten dennoch Probleme mit der Installation oder mit den Skripten selbst auftreten, werde ich gerne versuchen, Euch bei der Lösung über dieses Forum zu unterstützen.
Viel Spaß damit
FantasticPauly
Bilder:
Im Netz und besonders hier im IPPF fand ich bereits fertige Skripte und Tipps, die mir im weiteren als Grundlage dienten.
Mein besonderer Dank an disorganizer für seine Beiträge unter http://www.ip-phone-forum.de/showthread.php?t=245349 und bt43a für seine Skripte unter http://www.ip-phone-forum.de/showthread.php?t=264283&page=2
Voraussetzungen:
- Cisco IP-Phone der Serie 7970G oder 7975G.
- FRITZ!Box mit Telefoniefunktion und Freetz-Erweiterung (freetz.org) mit installiertem Dnsmasq
- Ein USB-Speicher an der FRITZ!Box der über /var/media/ftp/uStor01 angesprochen werden kann
- Eine eingerichtete Verzeichnisstruktur wwwroot/htdocs/cgi-bin auf dem USB-Speicher (als Homedirectory für den Webserver und für die Shellskripte)
Anhänge:
Anhang anzeigen cgi-bin.zip
Anhang anzeigen Anleitung 797x - v2.pdf
Alle Lösungen, so auch diese, benötigen einen Webdienst, um dem Telefon die benötigten Infos per XML zur Verfügung zu stellen.
Wie schon für den tftp-Dienst konnte ich hierfür auf das auf meiner Box installierte Freetz zurückgreifen und dort durch folgende Einträge in der rc.custom
{
HOMEDIR="/var/media/ftp/uStor01/wwwroot/htdocs"
while [ ! -d "$HOMEDIR" ]; do sleep 5; done
httpd -P /var/run/port88.pid -p 88 -h "$HOMEDIR"
} &
#Virtuelles Interface starten
ifconfig eth0:1 192.168.178.253 up
den integrierten Webserver (httpd) starten (Port 88 und Adresse des virtuellen Interfaces muss man auf die eigenen Werte anpassen).
Da der integrierte Webserver nicht (ohne weiteres) php-fähig ist, musste ich einige der verfügbaren Skriptvorlagen zunächst in Shellskripte umschreiben, die auf der Fritzbox ausgeführt werden können. Durch das einheitliche Format konnte ich dann auch bequem Telefonbuch- und Konfigurationsdienste in einem Service zusammenfassen.
Nachdem ich das Prinzip, wie man Fritzboxeinstellungen mittels ctlmgr_ctl abfragt bzw. manipulieren kann, verstanden hatte, hab ich die Skripte um weitere Funktionen ergänzt. Neu ist z.B. die Einstellung der (allgemeinen) Rufumleitung, der Klingelsperre und die Detailanzeige der neuen Nachrichten auf dem AB mit Uhrzeit und Anrufernamen (falls im Telefonbuch vorhanden, ansonsten mit Rufnummer).
Die Skripte im angehängten ZIP-Archiv werden in das Verzeichnis wwwroot/htdocs/cgi-bin/ des USB-Speichers entpackt (dazu reicht es das Archiv im Ordner wwwroot/htdocs zu entpacken; das cgi-bin Unterverzeichnis mit den Skriptdateien wird dabei automatisch erzeugt).
Was machen die Skripte?
Über den Webdienst an (hier im Beispiel) Port 88 kann die FRITZ!Box dem IP Phone per Skriptabfrage Infos bereitstellen. Ergänzend lassen sich per Telefon Einstellungen der FRITZ!Box ändern.
ciscoauth.sh - Dieses (optionale) Skript wird zur Autorisierung bestimmter Benutzeraktionen aufgerufen. Es antwortet mit einem einfachen "authorized".
fritzbox.sh - Dieses Skript stellt über den Service-Button (Weltkugel) ein eigenes Servicemenü bereit. Folgende Aktionen lassen sich daraus aufrufen:
- Anrufbeantworter: Statusanzeige für den FRITZ!Box AB. Neue Nachrichten werden in einer Kurzübersicht dargestellt. Falls verfügbar wird die Rufnummer des Anrufers aus dem Telefonbuch ermittelt. Der Anrufbeantworter der FB lässt sich hierüber ein- und ausschalten und es kann vom Aufnahme- in den Ansagemodus gewechselt werden
- Telefonie: Statusanzeige für die DECT-Funktion der FB. Die DECT lässt sich hierüber ein- und ausschalten. Auch die Klingelsperre und eine (allgemeine) Rufumleitung lassen sich hierüber aktiveren/deaktivieren.
- Wireless LAN: WLAN Statusanzeige. Es werden die SSIDs und Keys für 2,4GHz und 5 GHz und Gast-WLAN angezeigt (falls verfügbar). WLAN und Gastzugang lassen sich separat an- und ausschalten.
- FRITZ!Box Status: Hier werden Infos zur FRITZ!Box angezeigt: Verbindungsstatus, IP-Adresse, Firmware, und aktuelle Temperatur der Box. „CAPI over TCP“ (z.B. für PC-Faxprogramm) lässt sich hierüber aktivieren/deaktivieren
- Telefonbuch aktualisieren: Das Telefonbuch / die Telefonbücher der FB werden ausgelesen und für den Directory Dienst (s.u.) in einem auswertbaren Format bereit gestellt.
Fritzbox.sh ruft weitere Skripte auf, die sich im selben Verzeichnis befinden, um die Informationen im telefontauglichen XML-Format darzustellen bzw. die Kommandos auf der FRITZ!Box ausführen.
directory.sh - Über dieses Skript wird das Telefonbuch der FB als zusätzliches Verzeichnis im IP-Phone bereit gestellt. Die Auswahl erlaubt eine alphabetische zusammengefasste Darstellung der Telefonbucheinträge, sowie das Suchen nach Namen und Wählen aus dem Telefonbuch heraus. Auch directory.sh ruft weitere Skripte im selben Verzeichnis auf.
Notwendige Anpassungen:
constants.sh – Dieses Script enthält alle „global“ verwendeten Variablen und deren Zuweisungen, insbesondere Textbausteine und lokale Pfade (die hier nach Belieben angepasst und übersetzt werden können).
Sofern nach den Anleitungen hier im Text vorgegangen wird, ist die einzige notwendige Anpassung, die Änderung der IP-Adresse der FRITZ!Box und ggf. des Ports für den Webserver:
# Base url for Webserver.
WEBBASEURL="http://192.168.178.253:88"
In der Konfigurationsdatei SEP<MAC>.cnf.xml des IP Phones im Root-Verzeichnis des TFTP-Severs müssen folgende Einträge angepasst werden:
<authenticationURL>http://192.168.178.253:88/cgi-bin/ciscoauth.sh</authenticationURL>
<directoryURL>http://192.168.178.253:88/cgi-bin/directory.sh</directoryURL>
<servicesURL>http://192.168.178.253:88/cgi-bin/fritzbox.sh</servicesURL>
Damit die Änderungen wirksam werden, muss das Telefon neu gestartet werden.
Wer es ausführlicher mag - auch mit Anleitung, wie man das Telefon generell als SIP Client auf der Fritzbox zum Laufen bringt, kann sich die ebenfalls angehängte PDF-Datei durchlesen.
Die Skripte hab ich auf meiner Hardware getestet und sie laufen dort bisher einwandfrei. Trotzdem kann ich natürlich keine Gewährleistung dafür übernehmen, dass diese auch bei Euch in jeder Konfiguration funktionieren. Die Installation und Einrichtung erfolgt daher auf eigene Gefahr.
Sollten dennoch Probleme mit der Installation oder mit den Skripten selbst auftreten, werde ich gerne versuchen, Euch bei der Lösung über dieses Forum zu unterstützen.
Viel Spaß damit
FantasticPauly
Bilder:
Zuletzt bearbeitet: