Hauptmenü

Modul 96_SIP

Begonnen von Wzut, 19 Februar 2017, 19:10:09

Vorheriges Thema - Nächstes Thema

Wzut

Zitat von: Wzut am 03 Januar 2018, 17:24:13
Ich muss mal schauen wie Tobias im T2S Modul aus dem Text diese eindeutige lange Nummer bastelt , wenn ich das "klauen" könnte, dann wäre es möglich direkt ersteimal selbst im cache nachzuschauen ohne zuerst T2S aufzurufen
Habe es gerade als V1.76 hochgeladen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

@Elektrolurch:

ich habe mir erlaubt Dein Werk ins Wiki aufzunehmen und auf den Forumsbeitrag zu verlinken (https://wiki.fhem.de/wiki/SIP-Client#FHEM_Statusberichte)

VG plin
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Wzut

@plin , gutes Stichwort Wiki :
Audioformat : alaw oder ulaw , davon wird im Wiki eigentlich immer ausgegangen. Inzwischen darfs aber ja auch mp3 sein, da die Konvertierung jetzt bei Bedarf automatisch läuft (sox oder ffmepg vorausgesetzt)
Dann bei den Attribut Beschreibungem wo heute überall Audiofile steht darf es inzwischen (wenn TTS vorhanden) auch ein Text sein.
Ich muss jetzt auch mal sehen jetzt endlich die command.ref auf diesen Stand zu bringen, die ist noch ein gutes Stück hinter dem Wiki zurück.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

prodigy7

#558
Hallo zusammen,

im Zusammenhang mit dem Modul 96_SIP habe ich Text2Speech eine Funktion spendiert, die Text nur umwandelt ohne den Text via Audio auszugeben. Patch ist hier zu finden: https://forum.fhem.de/index.php/topic,82745.0.html

Ansonsten echt cooles Modul! Frage zu: Wäre es noch denkbar, zukünftige komplexere Szenarien umzusetzen wie z.B. eine Menüsteuerung? Ich denke daran, dass man sich z.B. via PIN authentifiziert bevor man via weiteren Tasten dann Aktionen auslösen kann.

Edit 1: Ach so, noch eine Frage: Jemand eine Idee, wie man Text2Speech so miteinander "verheiraten" kann, dass man mitbekommt wenn eine beauftragte Textumwandlung abgeschlossen ist? Aktuell muss man ja mit sleep ein Delay einbauen, letztendlich wenn aber z.B. MP3 Dateien schon vorliegen, kann man bei einem Anruf auch sofort dran gehen.

Edit 2: Gibt es da noch irgendeinen Bug bei der Verwendung von sip_audiofile_wfp? Setze die Datei auf eine MP3 Datei (/opt/fhem/cache/fbsip.mp3) und dann kommt die Ausgabe:018.01.14 16:32:43.294 4: FBSIP, Reset Listen done
2018.01.14 16:32:43.322 4: FBSIP, Listen new PID : 11173
2018.01.14 16:32:43.333 4: FBSIP[11173], my parent is 10529
2018.01.14 16:32:43.334 4: FBSIP[11173], using Leg.pm to find a free port
2018.01.14 16:32:43.419 4: FBSIP[11173], register new expire : 2018-01-14 16:37:43
2018.01.14 16:32:43.450 4: FBSIP[11173], using /opt/fhem/cache/fbsip.alaw for audio_wfp
FHEM ist auf dem neusten Stand inkl. Neustart! Datei liegt in einem Verzeichnis, wo FHEM Berechtigungen hat drauf zu lesen.

p7

Wzut

#559
Zitat von: prodigy7 am 14 Januar 2018, 16:18:38
im Zusammenhang mit dem Modul 96_SIP habe ich Text2Speech eine Funktion spendiert, die Text nur umwandelt ohne den Text via Audio auszugeben. Patch ist hier zu finden: https://forum.fhem.de/index.php/topic,82745.0.html
kapier ich nicht , sorry aber Tobias hat damals TTS doch extra für uns geändert - ich sehe nicht was da ja jetzt neu sein soll


Zitat von: prodigy7 am 14 Januar 2018, 16:18:38
z.B. eine Menüsteuerung? Ich denke daran, dass man sich z.B. via PIN authentifiziert bevor man via weiteren Tasten dann Aktionen auslösen kann.
versteh ich auch nicht , wenn dir zwei Tasten zu wenig sind setze dtmf_size halt auf einen größeren Wert

Zitat von: prodigy7 am 14 Januar 2018, 16:18:38
Edit 1: Ach so, noch eine Frage: Jemand eine Idee, wie man Text2Speech so miteinander "verheiraten" kann, dass man mitbekommt wenn eine beauftragte Textumwandlung abgeschlossen ist? Aktuell muss man ja mit sleep ein Delay einbauen, letztendlich wenn aber z.B. MP3 Dateien schon vorliegen, kann man bei einem Anruf auch sofort dran gehen.
mit wem willst du TTS verheiraten ? das Sip Modul nutzt kein sleep oder delay sondern lässt sich via NOTIFYDEV von TT2 sagen wenn es fertig mit der Wandlung ist.
Und wenn die Datei schon im Cache vorhanden ist wird TTS gar nicht erst gefragt. Du kannst immer sofort rangehen, da der Call erst gestartet wird wenn die Sounddatei fertig als .alaw vorliegt.

Zitat von: prodigy7 am 14 Januar 2018, 16:18:38
Edit 2: Gibt es da noch irgendeinen Bug bei der Verwendung von sip_audiofile_wfp? Setze die Datei auf eine MP3 Datei (/opt/fhem/cache/fbsip.mp3)
--- snipp ---
2018.01.14 16:32:43.450 4: FBSIP[11173], using /opt/fhem/cache/fbsip.alaw for audio_wfp
Wo soll da ein Bug sein ? Gewollt ist fbsip.mp3 , abgespielt wird  fbsip.alaw , also genau das was das Modul kann und mit sox oder ffmpeg aus der mp3 erzeugt wurde
Setz verbose auf 5 und du wirst es im Log ausführlich lesen können.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

prodigy7

Zitat von: Wzut am 14 Januar 2018, 17:34:58
kapier ich nicht , sorry aber Tobias hat damals TTS doch extra für uns geändert - ich sehe nicht was da ja jetzt neu sein soll
Hab ich im entsprechenden Thread kommentiert.

Zitat von: Wzut am 14 Januar 2018, 17:34:58
versteh ich auch nicht , wenn dir zwei Tasten zu wenig sind setze dtmf_size halt auf einen größeren Wert
Ich möchte generell eine via DTMF steuerbare Menüstruktur umsetzen (wenn möglich)

Zitat von: Wzut am 14 Januar 2018, 17:34:58
mit wem willst du TTS verheiraten ? das Sip Modul nutzt kein sleep oder delay sondern lässt sich via NOTIFYDEV von TT2 sagen wenn es fertig mit der Wandlung ist.
Und wenn die Datei schon im Cache vorhanden ist wird TTS gar nicht erst gefragt. Du kannst immer sofort rangehen, da der Call erst gestartet wird wenn die Sounddatei fertig als .alaw vorliegt.
Gut, wenn die "Abhängigkeit" so umgesetzt ist, ist es ja gut. Mangels Unwissenheit an dem Punkt bin ich davon ausgegangen, dass das so nicht umgesetzt ist. Habe nur das Beispiel gesehen wo ein Sleep eingebaut war worauf meine Schlussfolgerung basiert, dass der Sleep die parallele Abarbeitung des Threads kompensieren soll.

Zitat von: Wzut am 14 Januar 2018, 17:34:58
Wo soll da ein Bug sein ? Gewollt ist fbsip.mp3 , abgespielt wird  fbsip.alaw , also genau das was das Modul kann und mit sox oder ffmpeg aus der mp3 erzeugt wurde
Setz verbose auf 5 und du wirst es im Log ausführlich lesen können.
Na die Datei fbsip.mp3 ist schon vorhanden. Genau die Datei soll er auch abspielen! Oder verstehe ich an dem Punkt das Attribut falsch? Ich debugge an der Stelle nochmal, melde mich ggf. dazu nochmal.

plin

Zitat von: prodigy7 am 14 Januar 2018, 19:32:53
Ich möchte generell eine via DTMF steuerbare Menüstruktur umsetzen (wenn möglich)
Dann viel Spaß mit dem Net::SIP-Modul.  Das wird eine Herausforderung. Vermutlich wäre es hilfreich den Call über eine Asterisk-Instanz zu routen, dort zu ermitteln was man will (Stichwort Menü) und dann einen einzigen fertigen DTMF-String an den SIP-Client zu übermitteln.

Zitat von: prodigy7 am 14 Januar 2018, 19:32:53
Na die Datei fbsip.mp3 ist schon vorhanden. Genau die Datei soll er auch abspielen! Oder verstehe ich an dem Punkt das Attribut falsch? Ich debugge an der Stelle nochmal, melde mich ggf. dazu nochmal.
Net::SIP unterstützt aber nur alaw und ulaw (siehe Wik), deshalb muss on-the-fly MP3 in alaw konvertiert werden.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

prodigy7

Zitat von: plin am 14 Januar 2018, 20:12:25
Dann viel Spaß mit dem Net::SIP-Modul.  Das wird eine Herausforderung. Vermutlich wäre es hilfreich den Call über eine Asterisk-Instanz zu routen, dort zu ermitteln was man will (Stichwort Menü) und dann einen einzigen fertigen DTMF-String an den SIP-Client zu übermitteln.
Vor langer Zeit gab es mal etwas was sich DTMFBOX für die Fritz!Box, wo man einfach so etwas basteln konnte. Aktuell sind die Sourcen nicht mehr auffindbar, aber ich versuche mal ob ich den Author noch irgendwie erreichen kann. Die Software konnte echt viel und war sehr schlank programmiert. Vielleicht wäre das ja ein passendes Add-On für FHEM. Asterisk schon eine zu große Nummer....

Zitat von: plin am 14 Januar 2018, 20:12:25
Net::SIP unterstützt aber nur alaw und ulaw (siehe Wik), deshalb muss on-the-fly MP3 in alaw konvertiert werden.
Ok. Ich hatte es so aufgefasst, als würde das Modul dann on-the-fly die MP3 ins passende Format umwandeln.

JoWiemann

Zitat von: prodigy7 am 14 Januar 2018, 20:23:11
Vor langer Zeit gab es mal etwas was sich DTMFBOX für die Fritz!Box, wo man einfach so etwas basteln konnte. Aktuell sind die Sourcen nicht mehr auffindbar, aber ich versuche mal ob ich den Author noch irgendwie erreichen kann. Die Software konnte echt viel und war sehr schlank programmiert. Vielleicht wäre das ja ein passendes Add-On für FHEM. Asterisk schon eine zu große Nummer....
Ok. Ich hatte es so aufgefasst, als würde das Modul dann on-the-fly die MP3 ins passende Format umwandeln.
Hallo,

ich habe das hier noch gefunden...

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

prodigy7

#564
Zitat von: JoWiemann am 14 Januar 2018, 20:56:44
Hallo,

ich habe das hier noch gefunden...
cool! Habe es auch eben bei freetz gefunden gehabt. Mal schauen ob sich was damit machen lässt!

Edit: Nach einem ersten Blick würde ich mal vermuten, dass lässt sich auf aktuellen Systemen nicht mehr compilieren ohne weitere Anpassungen. Mangels ausgeprägter C/C++ Kenntnisse werde ich hier wohl nicht weiter kommen...

Wzut

Zitat von: prodigy7 am 14 Januar 2018, 20:23:11
Ok. Ich hatte es so aufgefasst, als würde das Modul dann on-the-fly die MP3 ins passende Format umwandeln.
Macht es ja auch, aber  wenn es im cache bereits eine umgewandelte Version gibt wird diese direkt verwendet und eine erneute Konvertierung eingespart.
Das sollte man immer im Hinterkopf behalten wenn man z.b mp3 Dateien austauscht oder verändert. D.h. ggf. die .alaw Version unbedingt im cache von Hand löschen.
 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Tobias

Btw: es ist immer ratsam bei TTS den cache zu verwenden um so wenig wie möglich "echte" Google Anfrage zu schicken um nicht irgendwann mal "banned" zu sein ;)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

prodigy7

Guten Morgen zusammen,

ich habe es jetzt innerhalb von 2 Wochen schon 2 mal gehabt, dass FHEM nicht mehr reagiert hat. Schau ich ins Log, scheint das SIP Modul wohl die Herrschaft an sich gerissen zu haben. Lauter
[...], register new expire : 2018-01-29 ...
Meldungen im Abstand von 150 Sekunden, ansonsten ist aber keine einzige andere Logmeldung mehr in dieser oder anderen Logdateien zu finden.

Definition in fhem.cfg sieht aktuell so aus bei mir:
define FBSIP SIP
attr FBSIP T2S_Device TTS
attr FBSIP audio_converter sox
attr FBSIP room Kommunikation | Anrufe
attr FBSIP sip_audiofile_wfp /opt/fhem/cache/fbsip.mp3
attr FBSIP sip_call_audio_delay 1.75
attr FBSIP sip_dtmf_loop once
attr FBSIP sip_dtmf_send audio
attr FBSIP sip_dtmf_size 2
attr FBSIP sip_elbc yes
attr FBSIP sip_force_interval 300
attr FBSIP sip_from sip:fhemvoip@fritz.box
attr FBSIP sip_ip 192.168.100.210
attr FBSIP sip_listen wfp
attr FBSIP sip_registrar 192.168.100.254
attr FBSIP sip_ringtime 1
attr FBSIP sip_user fhemvoip
attr FBSIP verbose 4

Wzut

Nein das SIP Modul hat nicht die Herrschaft übernommen, dein FHEM Hauptprozess (Parent) hat sich wohl Schlafen gelegt. Was du im Log siehst sind die Meldungen des abgespaltenen Listen Prozesses (Child) - der lebt noch und ist erkennbar an seiner Prozess ID in den eckigen Klammern im Log :)
D.h. du wirst dich wohl oder Übel auf die Suche nach der Ursache machen müssen und nicht dem Symptom die Schuld geben.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

prodigy7

Ich danke dir für deine Rückmeldung! Werde mal schauen - in den Zeitraum fällt die Einrichtung vom SIP Modul und ein FHEM Update, vorher lief es lange Zeit gut. Werde mich mal nach und nach durchhangeln mit Trial & Error!