CalloraCTI
  hallo@callora.de   Download   GitHub   Desktop Client   Features   Screenshots   Voraussetzungen   Installation   Lizenz   Hinweise   Impressum

Installationanleitung CalloraCTI

0. Voraussetzungen:

Es wird vorausgesetzt, dass der Server (Linux, Debian Bookworm) bereits fertig installiert und exklusiv für CalloraCTI gedacht ist. Im Fall eines Raspberry Pi wäre das ein 'Lite' Image. Wenn du Linux auf x64 Hardware installierst, eine Installation ohne zusätzliche Pakete.

  System ist fertig hoch gefahren
  feste IP Adresse ist vergeben
  SSH ist aktiviert
  Dein Lieblingseditor ist installiert.

Es wird vorausgesetzt, dass dei Fritz!Box fertig eingerichtet ist:

  VoIP Rufnummer sind angelegt und erfolgreich beim Provider registiert
  Heimnetz -> Netzwerkeinstellungen -> weitere Einstellungen -> Heinnetzfreigaben: Zugriff für Apps erlauben ist aktiviert

Wenn du bereits einen Server für andere Dienste nutzt, kannst du diese Anleitung möglicherweise nicht verwenden, ohne dein System zu beschädigen.

1. Vorwort

Als IP Adresse verwende ich in dieser Anleitung 192.168.178.10. Sofern du SIP-DECT verwendest, wird die IP Adresse 192.168.178.11 für den OMM verwendet. Diese Angaben musst du natürlich auf dein Netzwerk anpassen.

Ich verwende in dieser Anleitung den Haupt-Benutzer der Fritz!Box. Wie dein Benutzer heißt, kannst du unter System -> Fritz!Box-Benutzer sehen (fritzXXXX).

Diese Anleitung kommt ohne sudo aus. Es wird grundsätzlich als 'root' gearbeitet.

Alle Daten (z.B. IP Adresse, Benutzer, Kennwörter) die du durch sinnvolle eigenen Daten ersetzen musst, stehen in eckigen Klammern:

[192.168.178.10]

bedeutet also, dass du dort dein IP Adresse, in diesem Fall die des Servers eintragen musst.

Diese Anleitung berücksichtigt nur die Einrichtung ohne TLS und nur http. Sofern du https und eine eigene Domain mit Zertifikaten von LetsEncrypt nutzen möchtest, ist das aber auch möglich.

2. Installation der notwendigen Pakete

apt -y install nginx php8.2-cli php8.2-mysql php8.2-soap php8.2-xml php8.2-curl php8.2-cgi php8.2-fpm php-phpseclib3 mariadb-server mariadb-client dnsmasq git
Für die Einbindung von Fritz!DECT:
apt -y install netcat-openbsd

3. Konfiguration MariaDB

Das Passwort für 'root' entspricht dem Kennwort des Benutzers root.

mysql -u root -p
MariaDB> CREATE DATABASE callora;
MariaDB> CREATE USER 'callora'@'localhost' IDENTIFIED BY 'mein-passwort';
MariaDB> GRANT ALL PRIVILEGES ON callora.* TO 'callora'@'localhost';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit

3. Konfiguration dnsmasq

Als Vorlage für dnsmasq kannst du dieses Beispiel verwenden.

#dnsmasq config
port=53
listen-address=127.0.0.1,[192.168.178.10]
interface=[eth0]
domain-needed
bogus-priv
expand-hosts
no-resolv

# DNS Anfragen leiten wir an die Fritz!Box weiter
server=[192.168.178.1]

# enable DNS Cache and adjust cache-size
cache-size=1000
# Wir übernehmen die DHCP Range der Fritz!Box
dhcp-range=192.168.178.20,192.168.178.200,12h
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
dhcp-authoritative

# Feste IP Adresse für OMM
dhcp-host=[08:00:xx:xx:xx:xx],OMM,[192.168.178.11]

#DHCP Optionen Mitel
dhcp-option=vendor:AastraIPPhone6905,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6910,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6915,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6920,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6930,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6940,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6863i,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6865i,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6867i,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6869i,2,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:AastraIPPhone6873i,2,"http://[192.168.178.10]/prov/"

#DHCP Optionen Mitel SIP-DECT
dhcp-option=vendor:OpenMobility,10,[192.168.178.11]
dhcp-option=224,"OpenMobilitySIP-DECT"
dhcp-option=vendor:OpenMobility,2,"http://[192.168.178.10]/prov/"

#DHCP Optionen Yealink
dhcp-option=66,"http://[192.168.178.10]/prov/"

#DHCP Optionen Snom
dhcp-option=vendor:snomD713,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD715,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD716,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD735,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD785,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD812,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD815,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD862,66,"http://[192.168.178.10]/prov/"
dhcp-option=vendor:snomD865,66,"http://[192.168.178.10]/prov/"

Als /etc/dnsmasq.d/callora.conf speichern und dnsmasq neu starten:

systemctl restart dnsmasq

Spätestens jetzt solltest du in der Fritz!Box unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> weitere Einstellungen -> IPv4 Adressen den DHCP Server deaktivieren. Die Deaktivierung des Fritz!Box DHCP hat weitreichende Auswirkungen auf die Funktion der Fritz!Box, insbesodere im Bereich VPN. Bitte beachte dies bei zukünftigen Änderungen.

4. Kongfiguration von nginx und PHP

Die Konfigurationdatei für die Standard nginx Konfiguration muss angepasst werden:

/etc/nginx/sites-available/default

Als Vorlage kann dieses Beispiel dienen:

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
} }

5. Installation und Konfiguration CalloraCTI

CalloraCTI von GitHub klonen und Rechte anpassen:

cd /var/www/html
rm index.nginx-debian.html
git clone https://github.com/chstoltz/CalloraCTI.git
chown -R www-data:www-data *

Im Webbrowser http://[192.168.178.10]/web/install.php aufrufen und die Konfiguration vornehmen. Die Einstellungen für die Datenbank hast du oben selbst vorgenommen.

Nach Abschluss muss die Datei installer.php gelöscht werden:

rm /var/www/html/web/install.php

Im Webbrowser http://[192.168.178.10]/index.php aufrufen. Die Standardzugangsdaten lauten:
Benutzername: admin
Passwort: admin

Im Anschluss bitte die Grundkonfiguration vornehmen und das Menü von links nach rechts abarbeiten. Bitte erst jetzt die Telefone einschalten.

  1. Fritz!Box konfigurieren und Nebenstellen anlegen
  2. Admin Passwort ändern und 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

Damit die DECT Telefone der Fritz!Box ebenfalls überwacht werden, muss die Datei callmonitor.sh im Hintergrund mitlaufen. Das kann z.B. über einen CronJob passieren. Zuerst aber die Datei editieren und die IP Adresse der Fritz!Box, sowie die Pfadangabe der eigenen Umgebung anpassen.

chmod +x [/var/www/html/scripts]/callmonitor.sh
echo "@reboot [/var/www/html/scripts]/callmonitor.sh" >> /var/spool/cron/crontabs/www-data
chown www-data:crontab /var/spool/cron/crontabs/www-data
chmod 600 /var/spool/cron/crontabs/www-data

Damit ist die Installation abgeschlossen.

Verzeichnisstruktur:

/web: Webroot für das CalloraCTI Webinterface
/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
/scripts: Speicherort Scripte, zur Zeit nur Fritz!DECT Callmonitor