[HowTo] Einfaches, webbasiertes CTI für die Fritz!Box in Verbindung mit Mitel SIP Telefonen

chrsto

IPPF-Promi
Mitglied seit
8 Sep 2010
Beiträge
3,799
Punkte für Reaktionen
729
Punkte
113
Zum Abschluss der Howtos zu Mitel noch eine Demo: MiFritz!CTI

Mit dieser Demo und den vorangegangenen Howtos kann die Fritz!Box, in Verbindung mit Mitel SIP Telefonen, nun um grundlegende Funktionen einer Telefonanlage erweitert werden:



Features:

  • Zugriff auf Fritz!Box Telefonbuch, inkl. Click2Dial
  • Suche im Fritz!Box Telefonbuch
  • Zugriff auf Fritz!Box Anruflisten, inkl. Click2Dial
  • Zugriff auf Fritz!Box Anrufbeantworter, ein-/ausschalten, Nachrichten abhören und löschen, Rückruf, markieren der Nachricht als neu/abgehört
  • Zugriff auf Fritz!Box Rufumleitungen, ein-/ausschalten
  • Eingabe und Wahl einer beliebigen Rufnummer
  • Statusanzeige der angelegten VoIP Rufnummern

Die Felder Nummer wählen, sowie Namen suchen (siehe Screenshots) sind per Keyboard-Shortcut erreichbar, z.B. im FireFox über Alt+Shift+D und Alt+Shift+S.

Die Demo ist grundsätzlich "mehrbenutzerfähig", muss dafür lediglich in verschiedenen Verzeichnissen, d.h. mehrfach installiert werden:



Einschränkungen:

Die Demo berücksichtigt nicht alle möglichen Kombination von oder erhebt irgendeinen Anspruch auf irgendwas. Beispielsweise wird nicht jedes Rufnummernformat unterstützt, oder jede mögliche Kombination von Rufumleitungen. Es wird auch nicht zwischen Telefon- oder Faxnummer unterschieden, die sich möglicherweise im Telefonbuch tummeln. Außerdem sieht der Code aus, wie von jemandem, der mal bei Q-Basic stehen geblieben ist.


Voraussetzungen:

  • Eine Fritz!Box
  • Ein oder mehrere Mitel SIP Telefone
  • Ein Webserver mit PHP im lokalen Netzwerk, ein RaspberryPI reicht aus
  • Für Click2Dial müssen die Mitel SIP Telefone einen XML Push Server (den Webserver) konfiguriert haben (siehe oben angepinntes Howto zum BLF).
  • Die Mitel SIP Telefone müssen über feste IP Adressen verfügen, oder diese per DHCP erhalten.


Installation:

Den Inhalt des ZIP-Archivs in ein Verzeichnis auf dem lokalen Webserver entpacken und die config.php der eigenen Installation anpassen.


Bedienung:

Die Bedienung ist selbsterklärend.


Screenshots:

Screenshot_20241026_124820.pngScreenshot_20241026_124837.pngScreenshot_20241026_124852.pngScreenshot_20241026_124904.pngScreenshot_20241026_124919.png
 

Anhänge

  • MiFritz!CTI.zip
    877.8 KB · Aufrufe: 0
Anbei eine neue Version der Software

Neue Funktionen:

Telefon:
  • BLF am Telefon jetzt mit Pickup
  • Anzeige der Rufnummer des Anrufenden über die BLF Taste (Telefon2 zeigt im Display die Rufnummer des Anrufs an Telefon1)
  • Zugriff auf Funktionen der Fritz!Box (Telefonbuch, Anruflisten, Voicemail) in einer Datei zusammengefasst

Browser:
  • Dashboard an der Seite mit Anzeige der eigenen Leitung und BLF
  • Annehmen/Auflegen im Browser
  • Heranholen (Pickup) im Browser
  • Anzeige der Rufnummer des Anrufenden bei ein- (eigene, BLF) und ausgehenden (eigene) Anrufen
  • Anzeige der Gesprächsdauer im Browser
  • Anlegen und Bearbeitung von Tasten (BLF, Leitung, Kurzwahl)
  • Änderungen an Tasten werden direkt an das Telefon überspielt
  • Unterstützung für Webcam und Türöffner
  • Anzeige der Webcam im Browser
  • Öffnen der Türe per Mausklick über URL (Aktor, z.B. Shelly) oder DTMF
  • div. Einstellungsmöglichkeiten für Fritz!Box und Telefon
  • Generierung von Provisionierungsdateien ([mac.cfg])
  • Neustart des Telefons über Browser


Voraussetzungen:

  • Webserver (z.B. nginx)
  • PHP
  • MariaDB
  • TFTPD Server (z.B. atftpd) und Schreibrechte des Webservers ins tftp Root
  • Fritz!Box
  • Telefone von Mitel


Todo:

  • Umstellung auf SSL (Kommunikation zur Fritz!Box/zum Telefon)
  • Verbinden per BLF
  • Unterstützung für SIP-DECT
  • Unterstützung weiterer Tastenarten/Funktionen
  • Abfrage des Telefonbuchs im Browser bei eingehenden Anrufen
Screenshot_20241102_135041.pngScreenshot_20241102_135129.pngScreenshot_20241102_135212.pngScreenshot_20241102_135649.pngScreenShotFile.pngScreenShotFile2.pngScreenShotFile3.pngScreenShotFile4.png
 

Anhänge

  • mifritzcti.zip
    895.8 KB · Aufrufe: 0
  • Like
Reaktionen: Rangierdraht
Jetzt brauchen wir bald keine 400er mehr!!
Klasse Arbeit!!
 
Anbei eine neue Version der Software:

Changelog:

  • Rufumleitung / Anrufbeantworter über Telefon (de)aktivierbar (-> Taste Services)
  • Weitere Tastenarten/Funktionen (MobileLink(nur 6940), Telefonbuch, Ruhe vor dem Telefon, Kamera, Türöffner, Services)
  • Kamera auch ohne Türruf im WebCTI aufrufbar
  • Unterstützung von SIP NOTIFY um diverse Einstellungen ohne Reboot des Telefons zu übernehmen
  • Neustart der Fritz!Box über Browser
  • Neue Voicemail Nachrichten werden nach dem Abhören als 'abgehört' markiert
  • Abgehörte Voicemailnachrichten können als 'Neu' markiert werden
  • Unterstützung von MWI am SIP Telefon
  • Installationsassistent bei Erststart
  • Unterstützung Verbinden über BLF (beta)
  • Unterstützung von einem Tastenmodul (M680/M690 und M685/M695, jeweils 1. Ebene) je SIP Telefon
  • Unterstützung von SIP-DECT
  • Unterstützte Mobilteile: 612,622,632,700er
  • Anzeige Status Mobilteil (frei, ein-/ausgehender Ruf, belegt/in XML Applikation, ausgeschaltet) am BLF
  • Zugriff auf Telefonbuch, Anruflisten und Voicemail (Voicemail nur Rückruf, kein Abhören der Nachricht) vom Mobilteil aus
  • Rufumleitung / Anrufbeantworter über Mobilteil (de)aktivierbar (-> XML Applikation: Services)
  • Unterstützung von MWI am Mobilteil
  • Neustart des OMM über Browser
  • Kein tftpd mehr notwendig, Provisionierung über http(s)


Voraussetzungen:

  • Fritz!Box
  • Mitel SIP Hardware (SIP Telefone 6800 oder 6900, SIP DECT RFP 3G/4G, Mobilteile 612, 622, 632, 700er)
  • Webserver
  • PHP inkl. MySQL, XML, SOAP und phpseclib3 (nur für SIP DECT)
  • Zertifikat für Webserver, z.B. von LetsEncrypt
  • MySQL Server
  • DHCP Server mit folgenden Optionen:


Mitel SIP Telefone:
Option 43, Sub-Option 2: "http(s)://[addresse-des-webservers]/prov/"​
Vendorliste:​
6863i: AastraIPPhone6863i​
6865i: AastraIPPhone6865i​
6867i: AastraIPPhone6867i​
6869i: AastraIPPhone6869i​
6873i: AastraIPPhone6873i​
6905: AastraIPPhone6905​
6910: AastraIPPhone6910​
6915: AastraIPPhone6915​
6920: AastraIPPhone6920​
6930: AastraIPPhone6930​
6940: AastraIPPhone6940​
Mitel SIP DECT:
Option 43, Sub-Option 10: [ip-des-OMM]​
Option 43, Sub-Option 2: "http(s)://[adresse-des-webservers]/prov/" (Vendor: OpenMobility)​
Option 224, "OpenMobilitySIP-DECT"​
Feste IP Zuweisung im DHCP mindestens für OMM​


Anleitung:

Webserver inkl. PHP einrichten
MySQL Server einrichten, Datenbank erstellen und mysql.sql Vorlage in eine Datenbank einlesen
DHCP Server einrichten


Für Mitel SIP Telefone:

ZIP Archiv in ein Verzeichnis auf dem Webserver entpacken. Das Verzeichnis [web] in die Nebenstelle die genutzt werden soll umbenennen (z.B. /var/www/html/620)
config.sample.php nach config.php kopieren und anpassen
https://[adresse-des-webservers]/[nst]/index.php aufrufen und Telefon konfigurieren
Danach über Einstellungen -> VoIP Account, Fritz!Box, Tasten und Kamera einrichten
Für weitere SIP Telefone, einfach das Verzeichnis kopieren (620->621, usw.), die config.php anpassen und den Setupassistenten aufrufen.

Für Mitel SIP Dect:

ZIP Archiv in ein Verzeichnis auf dem Webserver entpacken. Das Verzeichnis [web] umbenennen, sodass es dem Benutzernamen des Fritz!Box IP Telefons entspricht (selbst festgelegt). Nur so ist eine Unterscheidung der Handgeräte möglich und das BLF am SIP Telefon funktioniert.
config.sample.php nach config.php kopieren und anpassen
https://[adresse-des-webservers]/[benutzername-ip-tel]/index.php aufrufen und OMM konfigurieren
Danach den OMM (neu)starten und warten bis die LED grün leuchtet
Per SSH (omm/$omm_password) einloggen, 'ommconsole' aufrufen und über 'cnf sys uap on' den AXI Port 12621 aktivieren.
Danach über Einstellungen -> FritzBox, Kamera und DECT einrichten
Der OMM sollte anmeldebereit sein, falls nicht über OMM Webservice oder OMP aktivieren. Das Mobilteil über die Eingabe des Auth Code anmelden.
Für weitere SIP Dect Geräte, einfach das Verzeichnis kopieren ([benutzername-ip-tel1]->[benutzername-ip-tel2]), die config.php anpassen und den Setupassistenten aufrufen.

Weitere Verzeichnisstruktur:

/lang -> Spachdateien
/firmware -> Firmwaredateien
/prov -> Dateien für die Provisionierung
/ringtone -> eigene Klingeltöne
/sql -> Datenbankvorlage für MySQL


Einschränkungen/Todo:

  • Ein Fritz!Box Anrufbeantworter kann am Mobilteil nur angerufen werden. Ein direktes Abspielen der Nachrichten ist nicht möglich (und auch wohl nicht umsetzbar).
  • Die Kommunikation zum OMM ist im Moment noch unverschlüsselt.
  • Die Kommunikation mit dem OMM auf TLS Port 12622 bricht ab: SSL_ERR_SSL -1 (Grund unbekannt).
  • Es gibt im Moment noch keine Löschroutine. Telefone und Mobilteile müssen von Hand zurückgesetzt werden, die eingerichteten Geräte müssen manuell im OMM gelöscht werden.
  • Die Programmierung der Seitentasten der Mobilteile über den Browser funktioniert noch nicht.
  • Die Rufnummer des Anrufenden am Mobilteil wird am BLF eines SIP Telefons nicht angezeigt.
  • Der OMM fragt (Grund unbekannt) keine Provisionierungsdatei für einzelne Nutzer (<user>.cfg) ab.
  • Das tmp Verzeichnis muss noch manuell geleert werden.
IMG_2088.jpgIMG_2089.jpgIMG_2090.jpgIMG_2091.jpgIMG_2093.jpgIMG_2094.jpgScreenshot_20241110_101131.pngScreenshot_20241110_101628.pngScreenShotFile.png
 

Anhänge

  • mifritzcti.zip
    909.5 KB · Aufrufe: 0
  • Like
Reaktionen: Rangierdraht
Neue Version, diesmal mit alles und scharf.

Danke an PeterPawn für die großartige Hilfe.


Verbesserungen, Änderungen:

  • Installation über eigenen Installer
  • Nur noch eine Installation notwendig
  • Kommunikation mit Fritz!Box jetzt über TLS
  • Kommunikation mit SIP-DECT jetzt über TLS

  • Eigenständiger Adminbereich: Verwaltung von Nebenstellen, Benutzern, Telefonen, SIP-DECT, Mobilteilen und div. Einstellungen
  • Erstellen, Bearbeiten und Löschen von IP-Telefonen (Fritz!Box), Zuordnung von Rufnummern (kommend, gehend)
  • Unterstützung 2FA der Fritz!Box
  • Erstellen, Bearbeiten und Löschen von CTI Benutzern
  • Diverse Einstellungen für SIP Telefone verwaltbar (z.B. NTP Server, Admin Passwort, Codecs)
  • Neustart aller SIP Telefone
  • Anzeige des Modells, der Firmware und MAC
  • Anzeige diverser Einstellungen des OMM
  • PARK online anfordern
  • Hinzufügen von RFP (DECT Antennen, bis zu 5 ohne Lizenz als Multizelle möglich) per automatischer Suche und Mausklick
  • Hinzufügen, Bearbeiten und Löschen von Mobilteilen.
  • Anzeige Firmwarestand Mobilteil inkl. Downloadstatus neue Firmware
  • Anzeige Akkustand
  • Angabe verschiedener Bildformate für Kamera möglich, je ein Bild je Telefonmodell

  • Belegung der Seitentasten der Mobilteile über Weboberfläche
  • Auswahl Klingelton (intern, extern) Displayfarbe über Weboberfläche
  • (De-)Aktivierung der InfoLED
  • Änderung der Displaysprache (Deutsch, Englisch)


Voraussetzungen:

  • Fritz!Box mit eingerichteten Rufnummern, Zugriff für Apps erlaubt (Heimnetzwerk -> Netzwerkeinstellungen)
  • Ein Fritz!Fon oder anderes Nicht-IP-Telefon direkt an der Fritz!Box für die 2FA, alternativ: Bei Bedarf Taste drücken
  • Mitel SIP Hardware (SIP Telefone 6800 oder 6900, SIP DECT RFP 3G/4G, Mobilteile 612, 622, 632, 700er)
  • Webserver
  • PHP inkl. MySQL, XML, SOAP und phpseclib3 (nur für SIP DECT)
  • Zertifikat für Webserver, z.B. von LetsEncrypt
  • MySQL Server
  • DHCP Server mit folgenden Optionen:

Mitel SIP Telefone:
Option 43, Sub-Option 2: "http(s)://[addresse-des-webservers]/prov/"​
Vendorliste:​
6863i: AastraIPPhone6863i​
6865i: AastraIPPhone6865i​
6867i: AastraIPPhone6867i​
6869i: AastraIPPhone6869i​
6873i: AastraIPPhone6873i​
6905: AastraIPPhone6905​
6910: AastraIPPhone6910​
6915: AastraIPPhone6915​
6920: AastraIPPhone6920​
6930: AastraIPPhone6930​
6940: AastraIPPhone6940​
Mitel SIP DECT:
Option 43, Sub-Option 10: [ip-des-OMM]​
Option 43, Sub-Option 2: "http(s)://[adresse-des-webservers]/prov/" (Vendor: OpenMobility)​
Option 224, "OpenMobilitySIP-DECT"​
Feste IP Zuweisung im DHCP mindestens für OMM​


Anleitung:

  • Webserver inkl. PHP einrichten
  • MySQL Server einrichten und Datenbank mit Benutzer erstellen
  • DHCP Server einrichten
  • ZIP Archiv in ein Verzeichnis auf dem Webserver entpacken.
  • https://<ip-oder-url>/web/install.php aufrufen, die eigenen Daten eingeben und install.php nach Installation löschen
  • https://[ip-oder-url]/ aufrufen und mit Benutzername: admin / Passwort: admin anmelden.
  • Grundkonfiguration vornehmen -> Das Menü von Links nach rechts abarbeiten.

  1. Fritz!Box konfigurieren und Nebenstellen anlegen
  2. Benutzer für den Login anlegen
  3. Telefoneinstellungen festlegen
  4. Telefone anlegen
  5. ggf. SIP DECT konfigurieren
  6. ggf. Mobilteile konfigurieren (beim Mobilteil muss die PARK angegeben werden)
  7. ggf. TFE und Kamera konfigurieren

Abschließend als Nutzer:

In den Einstellungen Telefonbuch, AB und die überwachten Nebenstellen für die Anrufliste zuordnen.


Hinweise:

Polling (Adminbereich->Telefoneinstellungen) zur Anzeige der Gesprächsdauer des laufenden Gespräches sorgt für hohe Last.

/prov: Speicherort für generierte Provisionierungsdateien
/lang: Speicherort für Sprachdateien der Mitel SIP Telefone
/ringtone: Speicherort für eigene Klingeltöne
/firmware: Speicherort für Firmwaredateien
/sql: Speicherort des SQL Imports bei Erstinstallation

/web/tmp: Cache der Voicemails


Todo:

Verbessern des Verbinden Prozesses
Ggf. Wahlmöglichkeit zwischen http/https für Telefone; Ansteuerung BLF, Telefonbuch, Anrufliste und Voicemail über https deutlich verzögert
Automatisches Löschen des Voicemail Cache. Aktuell Verbleiben die Nachrichten noch in /web/tmp/

Screenshot_20241116_213212.pngScreenshot_20241116_213226.pngScreenshot_20241117_141712.pngScreenshot_20241117_142226.pngScreenshot_20241117_142245.pngScreenshot_20241117_142329.pngScreenshot_20241117_143720.png
 

Anhänge

  • mifritzcti.zip
    930.3 KB · Aufrufe: 0
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.