Inhaltsverzeichnis

Plugin-Daten
AutorChristian Wörstenfeld
Logo
StatusSTABLE
Version2024.6.24
Min. LB Version1.0
Release Downloadhttps://github.com/Woersty/LoxBerry-Plugin-Text2SIP/archive/refs/tags/2024.06.24.zip
BeschreibungDas Text2SIP Plugin bietet die Möglichkeit, eine Sprachausgabe per Telefon zu realisieren.
Diskussionhttps://www.loxforum.com/forum/projektforen/loxberry/plugins

Text2SIP

Version History…

Änderungshistorie


Aufgabe des Plugins

Mögliche Einsatzgebiete

Konfigurationsoptionen

Die Nummern zählen immer hoch und sind nach Löschen einer Ansage nicht mehr fortlaufend, damit jede Ansagen-ID unverwechselbar bleibt.

Es kann im Miniserver ein virtueller Eingang mit der Bezeichnung Text2SIP_X für die entsprechende Ansage  angelegt werden.
Wenn Ziffern (MFV) gedrückt werden, werden diese sofort an den Miniserver weitergeleitet. Nach Anrufende wird eine 0 gesendet.   

Download

Updates

Installation

Voraussetzungen

(das Passwort darf aktuell kein Anführungszeichen (") enthalten)

Einrichtung der Anrufauslösung in der Loxone Config

durch den das Plugin dann das ## in der Ansage ersetzt, wenn das Plugin keine Werte vom Miniserver lesen kann oder im Plugin ganz unten bei
"URL um Wert vom Miniserver einzulesen" nur tts eingetragen ist. Das funktioniert nicht in der Admin-Oberfläche beim Hörer (Test) Icon!

Pausen

Einrichtung der MFV-Auswertung in der Loxone Config (optional)

Hinweise zu den Optionen MSINFO und CONFIRMATION_DIGIT

Beispiele:
http://Loxberry:pass@miniserver:80/dev/sps/io/KGI2.4.8/state
oder
http://Loxberry:pass@miniserver:80/dev/sps/io/Pr%C3%A4senz%20Haus/state

An dieser Stelle kann der Anschlussname z.B. KGI2.4.8 so wie er ist - oder die Bezeichnung z.B. "Präsenz Haus" als URL-codiert eingegeben werden.

Vom Plugin wird dann der Wert bei value benutzt: <LL control="dev/sps/io/Präsenz Haus/state" value="Arbeitszimmer/Büro" Code="200"/>

Wenn die Funktion nicht benutzt werden soll, irgendetwas anderes als 0 bis 9 oder * oder # eingeben. z.B. -
Das Zeichen wird an den Miniserver gesendet - wenn konfiguriert - und dann wird sofort aufgelegt.
Bei "-" werden alle MFV Zeichen wie eingegeben an den Miniserver versendet, bis vom Angerufenen aufgelegt wird oder die Zeit SIPCMD_CALL_PAUSE_AFTER_GUIDE abgelaufen ist. 

Funktion des Plugins

Beispiel für die Alarmierung per Telefon und Quittierung per Ziffer

Schritt 1: Anlegen des virtuellen Ausgangs für die LoxBerry Kommunikation.
  -Bei Adresse die IP oder den Namen des LoxBerrys eintragen z.B. http://loxberry
  -Sollte schon ein solcher virtueller Ausgang existieren kann dieser verwendet werden.
Schritt 2: Virtueller Ausgang Befehl anlegen
  -Bei Bezeichnung Alarmgrund eintragen siehe auch Schritt 10!
  -Bei Befehl bei EIN die Ansage des Plugins eintragen z.B. /plugins/text2sip/?mode=make_call&vg=1&tss=Keine Information
  -Als Digitalausgang verwenden nicht aktivieren
Schritt 3: Den Virtuellen Ausgang Befehl mit TQa der Alarmanlage verbinden
Schritt 4: Virtuellen Eingang anlegen
  -Bei Bezeichnung Text2SIP_1 eintragen - siehe auch Schritt 8!
  -Bei Maximaler Wert 9 eintragen
  -Als Digitalausgang verwenden nicht aktivieren
Schritt 5: Statusbaustein einfügen
  - Eingang AI1 mit den Virtuellen Eingang verbinden
  - Ausgang AQ mit dem Eingang C der Alarmanlage verbinden 
  -1. Regel I auf AI1 und V1 auf == und Wert auf die gewünschte Ziffer für die Quittierung z.B. 2 und Statuswert auf 1  
  -2. Regel Statuswert auf 0
 Noch nicht speichern.

Schritt 6: Ansage anlegen wie auf dieser Seite beschrieben
Schritt 7: Zu lesender Text: Alarm! . ## bestätigenn mit 2 . . Danke
Schritt 8: Bei Aufruf folgender Adresse nach Anruf: http://Loxberry_Benutzer_am_Miniserver:Loxberry_Benutzerpasswort_am_Miniserver@deinminiserver:80/dev/sps/io/Text2SIP_1/ siehe auch Schritt 4
Schritt 9: Bei Bestätigungs-Ziffer z.B. 2 eintragen - siehe auch Schritt 2 und 5.
Schritt 10: Bei URL um Wert vom Miniserver einzulesen: http://Loxberry_Benutzer_am_Miniserver:Loxberry_Benutzerpasswort_am_Miniserver@deinminiserver:80/dev/sps/io/Alarmgrund/state siehe auch Schritt 2

Ergebnis:

Fehler melden / Fehlersuche / Troubleshooting

Das Plugin hat eine LogDatei. 

Klingt die Ansage bei internen Anrufen stark verzerrt / übersteuert, bitte prüfen, ob die Einstellung HD-Telefonie deaktiviert ist. (z.B. beim DECT Gerät in der Fritz!Box)

Tritt der Fehler "EndedByNoUser" auf, bitte überprüfen ob die Paßwortlänge passt. Die Anforderungen haben sich geändert.

Das Plugin kann über einen Web-Aufruf angesprochen werden. 

http://LoxBerry/plugins/text2sip/?mode=make_call&vg=1 - Aufruf-Beispiel für Ansage 1

Fehlerberichte bitte direkt im Repository auf GitHub melden.

Fragen bitte im loxforum stellen.

Sonderfall Nexxt Mobile 

Dem Benutzer Datenkrake156 fiel auf, dass bei der Konfiguration des Plugins genau nach Anweisung für eine SIP Rufnummer bei Nexxt Mobile (über Vodafone-Kabelanschluß) eine grüne Meldung von der Warteschleife erschien, in der Fritz-Box aber kein ausgehender Anruf angezeigt wurde.
Ein Test mit einem Anruf auf eine "normale" Festnetznummer war jedoch erfolgreich. Ursache war, dass nach der Wahl der Rufnummer erst eine Ansage mit dem Minutenpreis für diesen Anruf abgespielt und dann erst durchgewählt wird.
Das bringt Probleme mit dem Defaultwert von Pause vor Ansage. Wird dieser Wert auf 5000 ms hochgesetzt, kann dies helfen. 

Bekannte Probleme

Das Plugin wird mit einem vorkompilierten sipcmd Binary ausgeliefert. Dies läuft unter Umständen auf deinem Loxberry nicht. Entweder meldest du das Problem dann auf GitHub und ich kompiliere das Plugin für die letzte Linux Version neu oder du kompilierst es selbst.

Weiterhin funktioniert es standardmäßig nicht in Loxberry-VMs (Virtuellen Maschinen). 

Folgende Schritte sind für eine Neukompilierung nötig:

Recompile Quelle erweitern

apt-get update
apt-get upgrade
apt-get install libopal-dev libpt-dev wget unzip build-essential
 
mkdir /opt/loxberry/sipcmd
cd /opt/loxberry/sipcmd
wget https://github.com/Woersty/sipcmd/archive/master.zip
unzip master.zip
cd sipcmd-master/
make clean # optional, wenn vorher schon mal make gemacht wurde
make
cp /opt/loxberry/sipcmd/sipcmd-master/sipcmd /opt/loxberry/webfrontend/cgi/plugins/text2sip/bin/
chown loxberry:loxberry /opt/loxberry/webfrontend/cgi/plugins/text2sip/bin/sipcmd
chmod 755 /opt/loxberry/webfrontend/cgi/plugins/text2sip/bin/sipcmd
cp libopal.so.3.10.10 /usr/lib/
chmod 644 /usr/lib/libopal.so.3.10.10
cp libpt.so.2.10.11 /usr/lib/
chmod 644 /usr/lib/libpt.so.2.10.11
cp libspeexdsp.so.1 /usr/lib/
chmod 644 /usr/lib/libspeexdsp.so.1
cp libcapi20.so.3 /usr/lib/
chmod 644 /usr/lib/libcapi20.so.3
cp libodbc.so.2 /usr/lib/
chmod 644 /usr/lib/libodbc.so.2
cp libopal.so.3.10.10 /usr/lib/
chmod 644 /usr/lib/libopal.so.3.10.10
cp libpt.so.2.10.11 /usr/lib/
chmod 644 /usr/lib/libpt.so.2.10.11
cp libspeexdsp.so.1 /usr/lib/
chmod 644 /usr/lib/libspeexdsp.so.1
cp libcapi20.so.3 /usr/lib/
chmod 644 /usr/lib/libcapi20.so.3
cp libodbc.so.2 /usr/lib/
chmod 644 /usr/lib/libodbc.so.2
rm /opt/loxberry/config/plugins/text2sip/modify.me
apt-get purge libopal-dev libpt-dev
rm -rf /opt/loxberry/sipcmd

Das Plugin überträgt ggf. die Authentifizierungsdaten für den Miniserver in leserlicher Form im Netzwerk. Wer Zugriff auf das Netzwerk hat, könnte die Daten möglicherweise mitlesen.

Es sollte ein Benutzer mit eingeschränkten Rechten verwendet werden.