Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

Kurt77

Hallo,
nachdem ich also jetzt die beiden Audio-Attribute gesetzt habe, höre ich den Pfeifton nicht mehr, die Texte allerdings auch nicht.

Was bitte heißt "text2speech installiert? Ich habe ein t2s-Device mit text2speech angelegt. Sieht man ja auch im list.

Sicher kann ich nur eines sagen: Bei jedem Anruf wird die Zeit bei dtmf_event aktualisiert und zwar unabhängig davon, ob ich #Ziffer eingebe oder nicht.

Code:
-----------------------------------
Internals:
   FUUID      5f3d5a11-f33f-7695-cdae-b046c5875ba9a078
   LPID       29746
   NAME       MySipClient
   NOTIFYDEV  mytext2speech
   NR         141
   NTFY_ORDER 50-MySipClient
   STATE      listen_dtmf
   TYPE       SIP
   VERSION    V1.92 / 21.03.2020
   READINGS:
     2020-08-21 21:47:33   call            done
     2020-08-21 21:47:33   call_attempt    0
     2020-08-21 21:47:33   call_state      declined
     2020-08-21 21:47:33   call_success    0
     2020-08-21 21:47:33   call_time       0
     2020-08-22 11:49:21   caller          Buero sip:**610@fritz.box
     2020-08-22 11:49:21   caller_name     Buero
     2020-08-22 11:49:21   caller_nr       **610
     2020-08-22 11:49:25   caller_state    established
     2020-08-22 11:49:21   caller_time     0
     2020-08-22 11:46:06   dtmf_event      5
     2020-08-22 11:49:44   expire          300
     2020-08-21 16:53:41   last_error      ListenRegister: Failed with code 404
     2020-08-22 11:49:44   listen_alive    29746
     2020-08-22 11:49:44   state           listen_dtmf
   helper:
     LISTEN_PID:
       abortArg   
       abortFn   
       arg        MySipClient
       bc_pid     3
       finishFn   SIP_ListenDone
       fn         SIP_ListenStart
       pid        29746
       timeout   
Attributes:
   T2S_Device mytext2speech
   disabled   0
   history_file ./log/MySipClient.sip
   history_size 0
   sip_audiofile_dtmf Eingabe
   sip_audiofile_ok danke
   sip_dtmf_loop once
   sip_dtmf_send audio
   sip_dtmf_size 1
   sip_elbc   yes
   sip_from   sip:fhemsip1@fritz.box
   sip_ip     192.168.178.33
   sip_listen dtmf
   sip_port   5060
   sip_registrar 192.168.178.1
   sip_ringtime 3
   sip_user   fhemsip1
   verbose    5
----------------------------------------------

Danke und Gruß,
Kurt

Kurt77

Hallo,
neue Erkenntnis: Nach einem reset funktioniert es zuverlässig immer genau 1-mal.
Hilft das bei der Fehlereingrenzung?

Danke und Gruß,
Kurt

Wzut

#977
@Kurt77 :
sip_audiofile_dtmf Eingabe
sip_audiofile_ok danke

Kann nicht klappen, da fehlt etwas.
a. wenn du fertige RAW Audio Files hast muss da die Endung dran , z.B. Eingabe.alaw

b. wenn du fertige MP3 Dateien hast : um mp3 in RAW wandeln zu können muss sox oder ffmeg installiert sein (siehe Wiki) , der installierte Audikonverter muss mit dem Attribut audio_converter festgelegt werden ( ich empfehle sox zu benutzen )

c. Wenn du freie Texte ausgeben möchtest muss Text2Speach als Device vorhanden sein , wäre dann bei dir das  Device mytext2speech
Das Device mytext2speech hat als DEF none ? Es soll ja keine Audioausgabe machen sondern nur MP3 Dateien erzeugen.
Und um diese dann später in alaw konvertieren zu können wird wieder der Konverter sox oder ffmeg benötigt wie unter Punkt B
Bitte beachte die Hinweise in der command.ref zum installieren von sox :
Zitataudo_converter
sox oder ffmpeg, default sox
Ist für Text2Speech unbedingt erforderlich um die mp3 Dateien in Raw Audio umzuwandeln.
Installation z.B. mit sudo apt-get install sox und die mp3 Unterstützung mit sudo apt-get install libsox-fmt-mp3

Sodele und nun ganz wichtig : Wenn du einen freien Text als Audiodatei einträgst muss dieser unbedingt mit einem Ausrufezeichen beginnen.
Nochmal zurück zu deinen Attributen wäre dann richtig :
sip_audiofile_dtmf !Eingabe
sip_audiofile_ok !danke

Sowohl plin als auch ich hatten das so in unseren Beispielen auch geschrieben, pass also bitte auf das dein Screenreader dieses wichtige Ausrufezeichen nicht unterschlägt.

Was bitte geht einmal ?

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

Beim testen und durchsehen des Quellcodes habe ich einen kleinen Bug gefunden wenn listen_type dtmf verwendet wird
und beide Attribute sip_audiofile_dtmf und sip_audiofile_ok einen Text2Speach Text enthalten.

Problem : Sind beide Audiodateien noch nicht im Cache müssen sie zuerst geholt werden, das klappt aber nur für die zweite fehlende Datei,
da die erste laufende Anfrage durch die direkt darauf folgende zweite überschrieben wird.

Abhilfe : Zuerst nur an einem Attribut den Text setzen. Sobald der Prozess gestartet ist kann auch das zweite Attribut auf Text gesetzt werden und mit set reset der listen Prozess neu gestartet werden.
Der Fehler tritt dann nicht mehr auf da die erste Datei nun bereits im Cache ist und nur die zweite neu geholt werden muß.
Danach tritt das Problem gar nicht mehr auf solange man die beiden Dateien zusammen nicht aus dem Cache löscht.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Kurt77

Hallo Wzut,
danke, aber ich glaube, ich muss den Versuch, dieses Modul zum Laufen zu bekommen, langsam abbrechen.

Habe also die von Dir vorgschlagenen Änderungen vorgenommen und sehe nach einem shtdown Restart und folgendem Anruf einen erro im log.

Dann habe ich mir mal das Ereignisprotokoll in meiner FB angesehen und sehe folgendes.

Code:
---------------------------------------------

23.08.20

17:37:36

Internettelefonie mit fhemsip1@192.168.178.33:5060 über 192.168.178.33:5060 war nicht erfolgreich. Ursache: (408) [2 Meldungen seit 23.08.20 17:36:30]
--------------------------------------------------

Danke und Gruß,
Kurt

Kurt77

Hallo,
Jetzt habe ich wieder den gleichen Effekt wie unter #976 beschrieben.
Es funktioniert nach einem reset zuverlässig genau 1-mal. Damit meinte ich, dass die dtmf-Erkennung nach einem Reset genau einmal korrekt funktioniert. Bei weiteren Eingaben keine Erkennung mehr.

Jetz habe ich das gleiche Phänomen mit der Sprachausgabe: Ich höre nach einem Reset genau einmal das wort "Eingabe". Der nachfolgend eingegebene dtmf-Code wird nicht erkannt.

Code:
-------------------------------------
Internals:
   AC         /usr/bin/sox
   FUUID      5f3d5a11-f33f-7695-cdae-b046c5875ba9a078
   LPID       17727
   NAME       MySipClient
   NOTIFYDEV  mytext2speech
   NR         141
   NTFY_ORDER 50-MySipClient
   STATE      listen_dtmf
   TYPE       SIP
   VERSION    V1.92 / 21.03.2020
   READINGS:
     2020-08-21 21:47:33   call            done
     2020-08-21 21:47:33   call_attempt    0
     2020-08-21 21:47:33   call_state      declined
     2020-08-21 21:47:33   call_success    0
     2020-08-21 21:47:33   call_time       0
     2020-08-23 18:26:44   caller          none
     2020-08-23 18:26:44   caller_name     ---
     2020-08-23 18:26:44   caller_nr       ---
     2020-08-23 18:26:44   caller_state    hangup
     2020-08-23 18:26:44   caller_time     8
     2020-08-22 14:03:04   dtmf_event      12
     2020-08-23 18:26:14   expire          300
     2020-08-23 17:40:44   last_error      attr audio_converter not set
     2020-08-23 18:26:14   listen_alive    17727
     2020-08-23 18:26:14   state           listen_dtmf
   helper:
     LISTEN_PID:
       abortArg   
       abortFn   
       arg        MySipClient
       bc_pid     7
       finishFn   SIP_ListenDone
       fn         SIP_ListenStart
       pid        17727
       timeout   
Attributes:
   T2S_Device mytext2speech
   audio_converter sox
   disabled   0
   history_file ./log/MySipClient.sip
   history_size 0
   sip_audiofile_dtmf ! Eingabe
   sip_dtmf_loop once
   sip_dtmf_send audio
   sip_dtmf_size 2
   sip_elbc   yes
   sip_from   sip:fhemsip1@fritz.box
   sip_ip     192.168.178.33
   sip_listen dtmf
   sip_port   5060
   sip_registrar 192.168.178.1
   sip_ringtime 3
   sip_user   fhemsip1
   verbose    5
-----------------------------------------

danke und Gruß,
Kurt

Wzut

sip_audiofile_dtmf ! Eingabe , bitte prüfe das mal. Das Ausrufezeichen ist jetzt da, allerdings ist zwischen ihm und dem Wort Eingabe ein Leerzeichen.
(Ich habe bis jetzt nicht geprüft was T2S damit macht , aber zur Sichheit nimm es bitte raus)

Da du eh ständig mit verbose 5 arbeitest wäre jetzt der betreffende Abschnitt aus der Log Datei hilfreicher als das List vom Device
Guter Abschnitt wäre : du startest neu damit es einmal geht und sofort danach rufst du wieder an tippst ein paar Tasten und legst wieder auf.
Poste nun alle Zeilen mit deinem Sip Device
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Kurt77

#982
Hallo Wzut,

Code:
---------------------------------------------
2020.08.23 19:36:42 5: MySipClient[18482], SIP_filter : "Buero" <sip:**610@fritz.box>;tag=24AF83BE8A440C55
2020.08.23 19:36:42 4: MySipClient[18482], SIP_filter: caller Buero sip:**610@fritz.box, caller_nr **610, caller_name Buero
2020.08.23 19:36:42 4: MySipClient[18482], cb_create : INVITE
2020.08.23 19:36:42 5: MySipClient, readingB:caller Val:Buero sip:**610@fritz.box
2020.08.23 19:36:42 5: MySipClient, readingB:caller_nr Val:**610
2020.08.23 19:36:42 5: MySipClient, readingB:caller_name Val:Buero
2020.08.23 19:36:42 5: MySipClient, readingB:caller_time Val:0
2020.08.23 19:36:42 5: MySipClient, readingB:caller_state Val:calling
2020.08.23 19:36:42 5: MySipClient[18482], cb_invite_dtmf
2020.08.23 19:36:42 5: MySipClient, readingS:caller_state Val:ringing
2020.08.23 19:36:43 5: MySipClient, listen process 18482 found
2020.08.23 19:36:45 5: MySipClient[18482], cb_est_dtmf
2020.08.23 19:36:45 5: MySipClient[18482], while dtmf_loop : start reinvite1
2020.08.23 19:36:45 5: MySipClient, readingS:caller_state Val:established
2020.08.23 19:36:47 5: MySipClient[18482], DTMF Event: # - 806 ms
2020.08.23 19:36:48 5: MySipClient[18482], DTMF Event: # - 83 ms
2020.08.23 19:36:48 5: MySipClient[18482], DTMF Event: 4 - 873 ms
2020.08.23 19:36:48 5: MySipClient[18482], DTMF: 4 , Anz: 2
2020.08.23 19:36:50 5: MySipClient[18482], SIP_bye : HASH(0x52430f0)
2020.08.23 19:36:50 5: MySipClient, readingB:caller Val:none
2020.08.23 19:36:50 5: MySipClient, readingB:caller_state Val:hangup
2020.08.23 19:36:50 5: MySipClient[18482], while dtmf_loop : dtmfloop : 0 , byebye : 1
2020.08.23 19:36:50 5: MySipClient, readingB:caller_time Val:5
2020.08.23 19:36:50 5: MySipClient[18482], aufgelegt
2020.08.23 19:36:50 5: MySipClient, readingB:caller_nr Val:---
2020.08.23 19:36:50 5: MySipClient[18482], while dtmf_loop, okloopbye : 0 , byebye : 1
2020.08.23 19:36:50 5: MySipClient, readingB:caller_name Val:---
2020.08.23 19:36:50 5: MySipClient[18482], end while dtmf_loop, byebye : 1
2020.08.23 19:36:50 5: MySipClient[18482], while(1)
2020.08.23 19:37:11 5: MySipClient[18482], SIP_filter : "Buero" <sip:**610@fritz.box>;tag=C570F384FE0620A5
2020.08.23 19:37:11 4: MySipClient[18482], SIP_filter: caller Buero sip:**610@fritz.box, caller_nr **610, caller_name Buero
2020.08.23 19:37:11 4: MySipClient[18482], cb_create : INVITE
2020.08.23 19:37:11 5: MySipClient, readingB:caller Val:Buero sip:**610@fritz.box
2020.08.23 19:37:11 5: MySipClient, readingB:caller_nr Val:**610
2020.08.23 19:37:11 5: MySipClient, readingB:caller_name Val:Buero
2020.08.23 19:37:11 5: MySipClient, readingB:caller_time Val:0
2020.08.23 19:37:11 5: MySipClient, readingB:caller_state Val:calling
2020.08.23 19:37:11 5: MySipClient[18482], cb_invite_dtmf
2020.08.23 19:37:11 5: MySipClient, readingS:caller_state Val:ringing
2020.08.23 19:37:14 5: MySipClient[18482], cb_est_dtmf
2020.08.23 19:37:14 5: MySipClient, readingS:caller_state Val:established
2020.08.23 19:37:14 5: MySipClient[18482], while dtmf_loop : start reinvite1
2020.08.23 19:37:15 5: MySipClient[18482], DTMF Event: # - 517 ms
2020.08.23 19:37:16 5: MySipClient[18482], DTMF Event: 5 - 705 ms
2020.08.23 19:37:16 5: MySipClient[18482], DTMF: 5 , Anz: 2
2020.08.23 19:37:17 5: MySipClient[18482], DTMF Event: 6 - 835 ms
2020.08.23 19:37:17 5: MySipClient[18482], DTMF: 56 , Anz: 3
2020.08.23 19:37:17 5: MySipClient, readingS:dtmf_event Val:56
2020.08.23 19:37:19 5: MySipClient[18482], while dtmf_loop : dtmfloop : 1 , byebye : 0
2020.08.23 19:37:19 5: MySipClient[18482], while dtmf_loop : reinvite2

jump to the top
----------------

Danke und Gruß,
Kurt

Ich sehe jetzt gerade, dass er beim 2. Anruf doch den dtmf-Code erkannt hat ("56").
Also beim ersten Anruf nur Ausgabe des wortes "Eingabe", danach die eingabe dtmf-Code wird nicht erkannt.
Beim 2. Anruf wird "eingabe" nicht gesprochen, dafür aber der dtmf-Code.
Der dritte anruf (ist hier nicht dokumentiert) spricht weder "Eingabe"  noch wird der dtmf-Code erkannt.

plin

Zitat von: Kurt77 am 23 August 2020, 18:36:32
Es funktioniert nach einem reset zuverlässig genau 1-mal. Damit meinte ich, dass die dtmf-Erkennung nach einem Reset genau einmal korrekt funktioniert. Bei weiteren
@Kurt: Du hast aktuell sip_dtmf_loop once konfiguriert: Ein Anruf, eine Nummerneingabe, Telefonat beendet. Du kannst dann wieder neu anrufen und das Spielchen wiederholen.
Wenn Du mehrere Eingaben durchführen und selber aktiv auflegen möchtest, musst du sip_dtmf_loop loop einstellen.

@Wzut: bei sip_dtmf_loop once kommt bei mir der Ansagetext nur einmal. Beim 2. Anruf kommt der OK-Text als Ansage und nach erfolgter Eingabe.
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

Kurt77

Zitat von: plin am 23 August 2020, 20:41:17
@Kurt: Du hast aktuell sip_dtmf_loop once konfiguriert: Ein Anruf, eine Nummerneingabe, Telefonat beendet. Du kannst dann wieder neu anrufen und das Spielchen wiederholen.
Hallo Plin,
und genau das wollte ich tun. Anrufen, dtmf-Code eingeben, wieder anrufen und wieder dtmf-Code eingeben.

Die Situation ist, wie oben schon beschrieben, Anruf "Eingabe" Code-Eingabe, keine Änderung im dtmf_event. 2. Anruf Kein "Eingabe", danach eingegebener dtmf-Code erscheint im dtmf-event. Der dritte und jeder weitere Anruf bringt weder "Eingabe" noch ein dtmf_event. Erst nach einem reset geht das spiel wieder von vorne los.

Danke und Gruß,
Kurt

Wzut

Zitat von: Kurt77 am 23 August 2020, 19:53:44
Ich sehe jetzt gerade, dass er beim 2. Anruf doch den dtmf-Code erkannt hat ("56").
Also beim ersten Anruf nur Ausgabe des wortes "Eingabe", danach die eingabe dtmf-Code wird nicht erkannt.
Beim 2. Anruf wird "eingabe" nicht gesprochen, dafür aber der dtmf-Code.
Der dritte anruf (ist hier nicht dokumentiert) spricht weder "Eingabe"  noch wird der dtmf-Code erkannt.
Beim ersten Anruf hast du zu früh aufgelegt , die Raute wurde zweimal erkannt aber einmal verworfen, danach die Ziffer 4 und da hast du dann leider aufgelegt.
Intressant wäre nun der dritte Anruf gewesen bei dem es ja nach deiner Aussage dann nicht mehr geht.
D.h. man muss einen erfolgreichen Ruf einem nicht erfolgreichen direkt gegenüberstellen um die Unterschiede sehen zu können.
Und Kurt77 wenn du von reset sprichst dann meinst du den Reset mittels Set Kommando oder einen Neustart von FHEM ?
Das spricht dann eigentlich dafür das der erfolgreiche Anruf irgendwie nicht sauber beendet wurde und daher die nachfolgenden Versuche fehlschlagen.

Ich kann auch das Verhalten das plin beschreibt mit der Ansage so noch nicht ganz nachvollziehen, da es bei mir einwandrei ging.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Kurt77

Halloo Wzut,
ja, mit "reset" meine ich den set-Befehl.

Hier wieder ein Auszug aus meinem Log. Der erste Anruf nach einem Reset sagte mir "Eingabe an, dtmf-Code wurde nicht erkannt. Der zweit hat weder "Eingabe" angesagt noch einen dtmf-Code erkannt.

Code:
-----------------------------------------
2020.08.24 09:08:26 5: MySipClient, listen process 26431 found
2020.08.24 09:08:50 5: MySipClient[26431], SIP_filter : "Buero" <sip:**610@fritz.box>;tag=40DF946B13C23F9A
2020.08.24 09:08:50 4: MySipClient[26431], SIP_filter: caller Buero sip:**610@fritz.box, caller_nr **610, caller_name Buero
2020.08.24 09:08:50 5: MySipClient, readingB:caller Val:Buero sip:**610@fritz.box
2020.08.24 09:08:50 5: MySipClient, readingB:caller_nr Val:**610
2020.08.24 09:08:50 5: MySipClient, readingB:caller_name Val:Buero
2020.08.24 09:08:50 5: MySipClient, readingB:caller_time Val:0
2020.08.24 09:08:50 5: MySipClient, readingB:caller_state Val:calling
2020.08.24 09:08:50 4: MySipClient[26431], cb_create : INVITE
2020.08.24 09:08:50 5: MySipClient[26431], cb_invite_dtmf
2020.08.24 09:08:50 5: MySipClient, readingS:caller_state Val:ringing
2020.08.24 09:08:53 5: MySipClient[26431], cb_est_dtmf
2020.08.24 09:08:53 5: MySipClient, readingS:caller_state Val:established
2020.08.24 09:08:53 5: MySipClient[26431], while dtmf_loop : start reinvite1
2020.08.24 09:08:59 5: MySipClient[26431], DTMF Event: 9 - 27 ms
2020.08.24 09:09:06 5: MySipClient[26431], SIP_bye : HASH(0x4be3340)
2020.08.24 09:09:06 5: MySipClient, readingB:caller Val:none
2020.08.24 09:09:06 5: MySipClient, readingB:caller_state Val:hangup
2020.08.24 09:09:06 5: MySipClient, readingB:caller_time Val:13
2020.08.24 09:09:06 5: MySipClient, readingB:caller_nr Val:---
2020.08.24 09:09:06 5: MySipClient, readingB:caller_name Val:---
2020.08.24 09:09:06 5: MySipClient[26431], while dtmf_loop : dtmfloop : 0 , byebye : 1
2020.08.24 09:09:06 5: MySipClient[26431], aufgelegt
2020.08.24 09:09:06 5: MySipClient[26431], while dtmf_loop, okloopbye : 0 , byebye : 1
2020.08.24 09:09:06 5: MySipClient[26431], end while dtmf_loop, byebye : 1
2020.08.24 09:09:06 5: MySipClient[26431], while(1)
2020.08.24 09:09:22 5: MySipClient[26431], SIP_filter : "Buero" <sip:**610@fritz.box>;tag=3FB69C9FE0EB5D7F
2020.08.24 09:09:22 4: MySipClient[26431], SIP_filter: caller Buero sip:**610@fritz.box, caller_nr **610, caller_name Buero
2020.08.24 09:09:22 4: MySipClient[26431], cb_create : INVITE
2020.08.24 09:09:22 5: MySipClient, readingB:caller Val:Buero sip:**610@fritz.box
2020.08.24 09:09:22 5: MySipClient, readingB:caller_nr Val:**610
2020.08.24 09:09:22 5: MySipClient, readingB:caller_name Val:Buero
2020.08.24 09:09:22 5: MySipClient, readingB:caller_time Val:0
2020.08.24 09:09:22 5: MySipClient, readingB:caller_state Val:calling
2020.08.24 09:09:22 5: MySipClient[26431], cb_invite_dtmf
2020.08.24 09:09:22 5: MySipClient, readingS:caller_state Val:ringing
2020.08.24 09:09:25 5: MySipClient[26431], cb_est_dtmf
2020.08.24 09:09:25 5: MySipClient, readingS:caller_state Val:established
2020.08.24 09:09:25 5: MySipClient[26431], while dtmf_loop : start reinvite1
2020.08.24 09:09:26 5: MySipClient[26431], DTMF Event: # - 129 ms
2020.08.24 09:09:26 5: MySipClient, listen process 26431 found
2020.08.24 09:09:27 5: MySipClient[26431], DTMF Event: 8 - 201 ms
2020.08.24 09:09:27 5: MySipClient[26431], DTMF: 8 , Anz: 2
2020.08.24 09:09:28 5: MySipClient[26431], DTMF Event: 9 - 73 ms
2020.08.24 09:09:28 5: MySipClient[26431], DTMF Event: 9 - 28 ms
2020.08.24 09:09:37 5: MySipClient[26431], SIP_bye : HASH(0x529bd30)
2020.08.24 09:09:37 5: MySipClient, readingB:caller Val:none
2020.08.24 09:09:37 5: MySipClient, readingB:caller_state Val:hangup
2020.08.24 09:09:37 5: MySipClient, readingB:caller_time Val:12
2020.08.24 09:09:37 5: MySipClient, readingB:caller_nr Val:---
2020.08.24 09:09:37 5: MySipClient[26431], while dtmf_loop : dtmfloop : 0 , byebye : 1
2020.08.24 09:09:37 5: MySipClient[26431], aufgelegt
2020.08.24 09:09:37 5: MySipClient, readingB:caller_name Val:---
2020.08.24 09:09:37 5: MySipClient[26431], while dtmf_loop, okloopbye : 0 , byebye : 1
2020.08.24 09:09:37 5: MySipClient[26431], end while dtmf_loop, byebye : 1
2020.08.24 09:09:37 5: MySipClient[26431], while(1)
2020.08.24 09:09:56 4: MySipClient[26431], register new expire : 2020-08-24 09:14:56
2020.08.24 09:09:56 5: MySipClient, readingB:state Val:listen_dtmf
2020.08.24 09:09:56 5: MySipClient, readingB:listen_alive Val:26431
2020.08.24 09:09:56 5: MySipClient, readingB:expire Val:300
2020.08.24 09:10:26 5: MySipClient, listen process 26431 found

jump to the top
----------------------------

Danke und Gruß,
Kurt

Wzut

Was man bei beiden Versuchen schön sehen kann :
Du bist zu ungedultig und legst jedesmal selbst auf, da kann niemals eine gültige Auswertung dabei rauskommen.
Du must in jedem Fall den Call von der Gegenseite beenden lassen !

Was mir noch auffällt : deine Event Zeiten für eine Ton sind recht kurz. Events unter 90ms werden verworfen um Tastenprellen zu verhindern.
Was du immer problemlos machen kannst : Drücke die Raute Taste ruhig öfters (2-3 mal) und auch jede Taste kannst du öfters drücken. Wie geschrieben werden die zu kurzen verworfen, aber auch doppelte werden nur einmal gezählt. Wenn also der Call nicht automatisch beeendet wird dann wurde einfach bisher nicht genug gültiges Material empfangen. Kannst du den Test mal mit einem anderen Telefon machen um zu sehen ob die Event Zeiten dann größer sind ?
Und wie ich schon einmal geschrieben habe, du machst dir (und uns) in dieser Phase das Leben wesentlich leichter wenn du mit sip_dtmf_size ersteinmal auf 1 runter gehst.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

einen habe ich noch :
du kannst statt der Raute Taste auch die Stern Taste zum Start benutzen. Die Raute hat beim FRITZ DECT den Anchteil das wenn man sie zu lange dückt im Display die Meldung erscheint das die Tastatur nun gesperrt ist ! Und mit gesperrter Tastatur kommst du natürlich auch nie ans Ziel.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Kurt77

Hallo Wzut,
jetzt habe ich all Deine Ratschläge befolgt, aber ich kann machen, was ich will: Dtmf-Codes werden nicht erkannt. Hier ein List ohne vorhergehendes reset.

Code:
----------------------------------------------------
2020.08.24 20:37:46 5: MySipClient, listen process 655 found
2020.08.24 20:38:15 4: MySipClient[655], register new expire : 2020-08-24 20:43:15
2020.08.24 20:38:15 5: MySipClient, readingB:state Val:listen_dtmf
2020.08.24 20:38:15 5: MySipClient, readingB:listen_alive Val:655
2020.08.24 20:38:15 5: MySipClient, readingB:expire Val:300
2020.08.24 20:38:33 5: MySipClient[655], SIP_filter : "Wohnzimmer" <sip:**611@fritz.box>;tag=2FAFEEDC3AF3153C
2020.08.24 20:38:33 4: MySipClient[655], SIP_filter: caller Wohnzimmer sip:**611@fritz.box, caller_nr **611, caller_name Wohnzimmer
2020.08.24 20:38:33 5: MySipClient, readingB:caller Val:Wohnzimmer sip:**611@fritz.box
2020.08.24 20:38:33 5: MySipClient, readingB:caller_nr Val:**611
2020.08.24 20:38:33 5: MySipClient, readingB:caller_name Val:Wohnzimmer
2020.08.24 20:38:33 5: MySipClient, readingB:caller_time Val:0
2020.08.24 20:38:33 5: MySipClient, readingB:caller_state Val:calling
2020.08.24 20:38:33 4: MySipClient[655], cb_create : INVITE
2020.08.24 20:38:33 5: MySipClient[655], cb_invite_dtmf
2020.08.24 20:38:33 5: MySipClient, readingS:caller_state Val:ringing
2020.08.24 20:38:36 5: MySipClient[655], cb_est_dtmf
2020.08.24 20:38:36 5: MySipClient, readingS:caller_state Val:established
2020.08.24 20:38:46 5: MySipClient, listen process 655 found
2020.08.24 20:39:26 5: MySipClient[655], SIP_filter : "Wohnzimmer" <sip:**611@fritz.box>;tag=0DC61AC9E6FD6EDB
2020.08.24 20:39:26 4: MySipClient[655], SIP_filter: caller Wohnzimmer sip:**611@fritz.box, caller_nr **611, caller_name Wohnzimmer
2020.08.24 20:39:26 5: MySipClient, readingB:caller Val:Wohnzimmer sip:**611@fritz.box
2020.08.24 20:39:26 5: MySipClient, readingB:caller_nr Val:**611
2020.08.24 20:39:26 5: MySipClient, readingB:caller_name Val:Wohnzimmer
2020.08.24 20:39:26 5: MySipClient, readingB:caller_time Val:0
2020.08.24 20:39:26 5: MySipClient, readingB:caller_state Val:calling
2020.08.24 20:39:26 4: MySipClient[655], cb_create : INVITE
2020.08.24 20:39:27 5: MySipClient[655], cb_invite_dtmf
2020.08.24 20:39:27 5: MySipClient, readingS:caller_state Val:ringing
2020.08.24 20:39:30 5: MySipClient[655], cb_est_dtmf
2020.08.24 20:39:30 5: MySipClient, readingS:caller_state Val:established
2020.08.24 20:39:46 5: MySipClient, listen process 655 found
---------------------------------------

Danke und Gruß,
Kurt