Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

bennebartsch

Hatte keinen timeout gesetzt. Aber auch mit einem timout von 60 wird das Gespräch nach 11 Sekunden beendet. Das Reading call_state steht danach auf timeout.
set sip call  ******** 60

Wzut

#871
ok, dann must du dir mal die mp3 Datei selbst vornehmen, d.h. kopieren und mit einem anderen Gerät abspielen ob sie wirklich die volle Länge hat oder zu kurz ist. Falls sie zu kurz ist schau dir mal bei T2S  Device das mit dem mp3wrap an 

Edit : ich habe das mit dem Komma überlesen :
ZitatAttribute

    TTS_Delimiter
    Optional: Wird ein Delimiter angegeben, so wird der Sprachbaustein an dieser Stelle geteilt. Als Delimiter ist nur ein einzelnes Zeichen zulässig. Hintergrund ist die Tatsache, das die einige Sprachengines nur eine bestimmt Anzahl an Zeichen (zb. Google nur 100Zeichen) zulässt.
    Im Standard wird nach jedem Satzende geteilt. Ist ein einzelner Satz länger als 100 Zeichen, so wird zusätzlich nach Kommata, Semikolon und dem Verbindungswort und geteilt.

lass mal das Komma in deinem Satz weg :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

bennebartsch

#872
Ohne Komma hab ichs schon versucht, leider keine Besserung. Auch die mp3 Datei ist in Ordnung.

Edit: logs mit verbose 5:

2020.01.23 17:04:03 5:  sip, MD5: Stromausfall Dortmund von 13 Uhr 50 bis 16 Uhr 12 Strom ist wieder stabil bei 2332 Volt test -> d3fc873bff77fb26fa03739d7c7d86f6.mp3
2020.01.23 17:04:03 5:  sip, set call new -> sip call ******* 60 cache/d3fc873bff77fb26fa03739d7c7d86f6.mp3
2020.01.23 17:04:03 4:  sip, audio file cache/d3fc873bff77fb26fa03739d7c7d86f6.mp3 found
2020.01.23 17:04:03 5:  sip, not converted - using cache/d3fc873bff77fb26fa03739d7c7d86f6.alaw from cache
2020.01.23 17:04:03 4:  sip, sip|***************|60|cache/d3fc873bff77fb26fa03739d7c7d86f6.alaw|0
2020.01.23 17:04:03 4:  sip, call -> sip|***********|60|cache/d3fc873bff77fb26fa03739d7c7d86f6.alaw|0|0
2020.01.23 17:04:03 5:  sip, call has pid 1894754
2020.01.23 17:04:03 4:  sip[1894754], my parent is 7593
2020.01.23 17:04:03 4:  sip[1894754], trying to use port 4070
2020.01.23 17:04:03 4:  sip[1894754], register new expire : 2020-01-23 17:15:03
2020.01.23 17:04:03 5:  sip, readingS:state Val:calling
2020.01.23 17:04:03 4:  sip[1894754], CallStart with 2 files - first file : CODE(0x55c00092ff60) - PCMA/8000 , repeat 0
2020.01.23 17:04:03 4:  sip[1894754], calling : *********
2020.01.23 17:04:03 5:  sip, readingS:call_state Val:calling **********
2020.01.23 17:04:10 4:  sip[1894754], cb_final - status : OK
2020.01.23 17:04:10 4:  sip[1894754], call established
2020.01.23 17:04:10 5:  sip, readingS:call_state Val:established
2020.01.23 17:04:10 5:  sip[1894754], 0. Ende des ersten Loops
2020.01.23 17:04:10 5:  sip[1894754], 1. rtp_done : Net::SIP::Simple::Call=HASH(0x55c000a151a8)
2020.01.23 17:04:10 5:  sip[1894754], 2. fi : 0
2020.01.23 17:04:10 5:  sip[1894754], 4. timeout : 0
2020.01.23 17:04:10 5:  sip[1894754], 6. call_established : 1
2020.01.23 17:04:10 4:  sip[1894754], next file : cache/d3fc873bff77fb26fa03739d7c7d86f6.alaw
2020.01.23 17:04:11 4:  sip[1894754], cb_final - status : OK
2020.01.23 17:05:03 5:  sip[1894754], call->bye
2020.01.23 17:05:03 1:  PERL WARNING: Use of uninitialized value in subroutine entry at /usr/local/share/perl/5.28.1/Net/SIP/Endpoint/Context.pm line 80.
2020.01.23 17:05:03 1:  PERL WARNING: Use of uninitialized value $uri in pattern match (m//) at /usr/local/share/perl/5.28.1/Net/SIP/Endpoint/Context.pm line 181.
2020.01.23 17:05:03 5:  sip[1894754], Timeout  : 1
2020.01.23 17:05:03 5:  sip[1894754], while    : 0
2020.01.23 17:05:03 5:  sip[1894754], Status   : OK
2020.01.23 17:05:03 4:  sip[1894754], Calltime : 53
2020.01.23 17:05:03 4:  sip, CALLDone -> sip|1|timeout|53
2020.01.23 17:05:03 5:  sip, fifo is empty
2020.01.23 17:05:03 5:  sip, no elbc


Edit2: Die .alaw Datei ist auch okay

rob

Hallo bennebartsch.
Zitat von: bennebartsch am 23 Januar 2020, 16:15:21
...wird das Gespräch nach 11 Sekunden beendet...

und im Log fällt mir auf:
Zitat von: bennebartsch am 23 Januar 2020, 17:03:07
2020.01.23 17:04:03 5:  sip, MD5: Stromausfall Dortmu ...
2020.01.23 17:04:03 4:  sip[1894754], register new expire : 2020-01-23 17:15:03


Also Start 17:04:03 und Expire 17:15:03 = 11sec.

Wäre vielleicht wichtig zu wissen, warum die Registrierung expired. Bei Asterisk kann ich sowas konkret festlegen (z.B. defaultexpirey = 3600). Was für einen Registrar verwendest Du (Fritzbox, Asterisk etc.)? Ließe sich testweise ein expirey höher setzen?

Viele Grüße
rob

frank

das sind doch 11 minuten.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

rob

lol, Du hast völlig Recht! Ist wohl schon zu spät für mich - vergesst, was ich schrieb, ich nehm alles zurück und behaupte das Gegenteil  ;D

VG
rob

Wzut

nachdem nun die einfachen Dinge durch sind wird es langsam schwierig und mir gehen dann auch die Ideen aus.
Was mir aber absolut nicht gefällt sind die beiden Zeilen im Log:
020.01.23 17:05:03 1:  PERL WARNING: Use of uninitialized value in subroutine entry at /usr/local/share/perl/5.28.1/Net/SIP/Endpoint/Context.pm line 80.
2020.01.23 17:05:03 1:  PERL WARNING: Use of uninitialized value $uri in pattern match (m//) at /usr/local/share/perl/5.28.1/Net/SIP/Endpoint/Context.pm line 181.

Auf welcher Plattform läuft hier das SIP Modul und welche Versionen sind im Einsatz - ich sehe Perl 5.28 -> ergo Raspi 4 mit Buster ?
Wenn Buster : Welche Version des Net::SIP bringt Buster mit ? ( ich habe noch keines im Einsatz, mein Testystem ist z.Z. durch die MAX Weiterentwicklung blockiert )
Kann jemand mit dieser Hardware Ausstattung den Text fehlerfrei übertragen ?

Bricht der Call auch bei Anruf eines internen Teilnehmers an der gleichen Stelle ab ?

Lassen sich die 11 Sekunden mit einer anderen Datei/ Text und ggf. durch setzen des Wiederholungs Parameter in die Länge ziehen ?
( Wir haben hier User die sich halbe Romane mit dem Modul vorlesen lassen )   

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

bennebartsch

Danke erstmal für die Unterstützung!
Ich habe noch ein paar Tests gemacht, je nach Text bricht die Wiedergabe an unterschiedlichen Stellen ab, mal 4 Sek, mal 7 Sek, mal 11 Sek. Aber, jetzt wird es interessant: Text x bricht immer nach y Sekunden ab, nie an unterschiedlichen stellen! Es macht auch keinen Unterschied ob ich den Text ins Reading schreibe oder direkt per set sip call mitgebe. Mit dem Wiederholungs Parameter kann ich mich auch ohne Probleme über 30 Sek vollquatschen lassen.

Ein paar Infos zu meinem System:
Ich nutze einen Intel NUC auf dem mehrere Docker Instanzen von FHEM laufen. Hierzu nutze ich das aktuelle Image von https://github.com/fhem/fhem-docker
Das Modul verbindet sich direkt mit den SIP Servern der Telekom, es ist keine eigene Anlage dazwischen geschaltet. Deshalb kann ich leider keinen Test mit internen Teilnehmern machen. Vielleicht komme ich die Tage dazu eine Telefonanlage einzurichten und dies mal zu testen.

cpan -D Net::SIP
Net::SIP
-------------------------------------------------------------------------
        (no description)
        S/SU/SULLR/Net-SIP-0.822.tar.gz
        /usr/local/share/perl/5.28.1/Net/SIP.pm
        Installed: 0.822
        CPAN:      0.822  up to date


perl -v
This is perl 5, version 28, subversion 1 (v5.28.1) built for x86_64-linux-gnu-thread-multi


rawdef:
defmod sip SIP
attr sip T2S_Device t2s
attr sip T2S_Timeout 15
attr sip audio_converter sox
attr sip history_file ./log/sip.sip
attr sip history_size 0
attr sip sip_audiofile_call !Hallo dies ist ein test ich hoffe ich komme über 11 sekunden *10
attr sip sip_call_audio_delay 0.75
attr sip sip_dtmf_loop once
attr sip sip_dtmf_send audio
attr sip sip_dtmf_size 2
attr sip sip_elbc yes
attr sip sip_from +********************
attr sip sip_ip *************
attr sip sip_listen none
attr sip sip_port 4060
attr sip sip_registrar tel.t-online.de
attr sip sip_ringtime 10
attr sip sip_user sip:*****************

setstate sip initialized
setstate sip 2020-01-24 12:56:48 call done
setstate sip 2020-01-24 12:56:48 call_attempt 0
setstate sip 2020-01-24 12:56:48 call_state timeout
setstate sip 2020-01-24 12:56:48 call_success 0
setstate sip 2020-01-24 12:56:48 call_time 26
setstate sip 2020-01-24 12:54:56 last_error audio file 10 not found
setstate sip 2020-01-24 02:41:27 listen_alive no
setstate sip 2020-01-24 12:56:48 state initialized



Wzut

was da sofort auffällt und auch die Perl Fehler erklären könnte :
attr sip sip_from +********************
das sieht nicht SIP konform aus , sip:620@fritz.box  sip:bla@fasel.com , etc
D.h. hier solltest du auch nochmal schauen wie dein Provider Telekom gern den Absender String hätte , finden sich im Netz ja bestimmt Beispiele für irgendwelche anderen SIP Phones.

So wenn ich dich nun richtig verstehe gelingt es dir eigentlich nie eine Audio Datei vollständig zu übertagen ?
Kannst aber den Ruf am Leben erhalten die dem du die unvollständige Datei mehrfach abspielst ? 
Ich würde jetzt so weitermachen  :
a. den sip_from anpassen und immer im Log schauen ob die Perl Warnings weg sind.
b. im Netz mal eine kleine mp3 Musik Datei suchen und diese versuchen zu übertragen
c. alternativ zu b. im Netz nach Anrufbeantworter Nachrichten suchen  die gibt es oft auch schon als .alaw , besser man hat sie gleich als mp3 & .alaw
dann wäre die Fehlerquelle  sox auch raus.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

Zitat von: bennebartsch am 23 Januar 2020, 17:03:07
Ohne Komma hab ichs schon versucht, leider keine Besserung. Auch die mp3 Datei ist in Ordnung.

Edit2: Die .alaw Datei ist auch okay
Wie groß sind die beiden Dateien?
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

bennebartsch

Änderung von sip_from macht leider keinen Unterschied, die Warnings bleiben.
Andere mp3 Dateien werde ich morgen mal probieren, danke!

Zitat von: plin am 24 Januar 2020, 17:30:07
Wie groß sind die beiden Dateien?
Alle lassen sich problemlos lokal abspielen.
-rw-r-----  1 fhem fhem  88K 23. Jan 16:10 034a2255a6836b5656e42d5bd695dbf3.alaw
-rw-r-----  1 fhem fhem  44K 23. Jan 16:10 034a2255a6836b5656e42d5bd695dbf3.mp3
-rw-r-----  1 fhem fhem  86K 30. Apr 2019  05a249ead294db15bfd0c964b126da9c.alaw
-rw-r-----  1 fhem fhem  43K 30. Apr 2019  05a249ead294db15bfd0c964b126da9c.mp3
-rw-r-----  1 fhem fhem  42K 30. Apr 2019  05c8a5a6a586fdae33d87245a14d04f5.alaw
-rw-r-----  1 fhem fhem  22K 30. Apr 2019  05c8a5a6a586fdae33d87245a14d04f5.mp3
-rw-r-----  1 fhem fhem  87K 30. Apr 2019  05e75e2f6994257ed63b32df0ad53109.alaw
-rw-r-----  1 fhem fhem  44K 30. Apr 2019  05e75e2f6994257ed63b32df0ad53109.mp3

plin

Zitat von: Wzut am 24 Januar 2020, 14:45:06
was da sofort auffällt und auch die Perl Fehler erklären könnte :
attr sip sip_from +********************
das sieht nicht SIP konform aus , sip:620@fritz.box  sip:bla@fasel.com , etc
D.h. hier solltest du auch nochmal schauen wie dein Provider Telekom gern den Absender String hätte , finden sich im Netz ja bestimmt Beispiele für irgendwelche anderen SIP Phones.
Das scheint laut https://www.telekom.de/hilfe/festnetz-internet-tv/ip-basierter-anschluss/einstellungen-fuer-die-ip-telefonie-mit-anderen-clients?samChecked=true so zu passen.

Außerdem würde ich die Probleme dann beim Verbindungsaufbau erwarten und nicht erst nach xx Sekunden.

@bennebartsch: Ich vermute Du sitzt in einem Netzwerk hinter einem Internet-Router?
@wzut: Bräuchte er eine Port-Freischaltung und Umleitung auf den SIP-Client?
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

bennebartsch

Ich habe verschiedene Werte für sip_from versucht, alle funktionieren anscheinend. Hatte die +49 auch aus dieser Diskussion "geklaut". Denke auch nicht das es daran liegt, entweder man ist authentifiziert oder halt nicht.
Zitat von: plin am 25 Januar 2020, 10:18:08
@bennebartsch: Ich vermute Du sitzt in einem Netzwerk hinter einem Internet-Router?
@wzut: Bräuchte er eine Port-Freischaltung und Umleitung auf den SIP-Client?
Ja richtig, ich sitze hinter einem Speedport Hybrid. In diesem sind Ausnahmeregelungen definiert, die SIP Traffic nur über die DSL Leitung schicken. Habe es aber auch schon mit LTE komplett deaktiviert getestet, leider keine Änderung. Mit/Ohne Port-Freischaltung macht auch keinen Unterschied.

Wzut

Zitat von: plin am 25 Januar 2020, 10:18:08
@wzut: Bräuchte er eine Port-Freischaltung und Umleitung auf den SIP-Client?
IMHO nein. Zumindest als ich die Versuche mit sipgate.de gemacht habe hatte ich keine bei mir drin. Trotzdem ist das SIP Phone von aussen auch anrufbar, da es ja selbst die registar Verbindung hergestellt hat ( D.h. hier beim Modul durch den aktiven listen Mode )
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Tobbi

#884
Hallo zusammen,

ich hoffe ich bin richtig hier mit meinem Problem.

Bisher habe ich sehr erfolgreich das SIP Modul zusammen mit einem Raspberry Pi und "Debian" Jessie genutzt.
Bedingt durch einen Systemausfall muss ich mein System neu aufsetzen. Glücklicherweise konnte ich beim FHEM Backup nutzen und musste daher nicht alles neu anlegen.
Nun nutze ich Debian Buster zusammen mit Fhem auf einer VM.

Jetzt aber zu meinem Problem:
Ich bekomme seit dem Umzug keine Verbindung mehr zur Telefonanlage (FreePBX/Asterisk).
Die Fehlermeldungen sind dürftig. (Error 110)
Ich habe alle Einstellungen übernommen. Telefonanlage läuft einwandfrei und lässt sich auch mit anderen SIP-Clients ansprechen.
Von daher gehe ich entweder von einem Problem im Zusammenspiel von FHEM zu Debian Buster aus oder von Debian zur Telefonanlage.
Net::SIP habe ich per CPAN installiert.

Im Anhang habe ich mal meine Attribute angehangen. Zusätzlich hier noch der Ausschnitt aus der Logfile:

2020-01-25 22:53:34 SIP System.Dienst.Sip call_state: invite
2020-01-25 22:53:34 SIP System.Dienst.Sip call: 703
2020-01-25 22:54:36 SIP System.Dienst.Sip call: done
2020-01-25 22:54:36 SIP System.Dienst.Sip call_time: 0
2020-01-25 22:54:36 SIP System.Dienst.Sip last_error: CallRegister: Failed with error 110
2020-01-25 22:54:36 SIP System.Dienst.Sip call_state: fail
2020-01-25 22:54:36 SIP System.Dienst.Sip call_success: 0
2020-01-25 22:54:36 SIP System.Dienst.Sip call_attempt: 0
2020-01-25 22:54:36 SIP System.Dienst.Sip initialized


Kann mir jemand noch ein paar Tipps geben, wo ich den Fehler weiter eingrenzen kann?
Bzw. hat jemand ähnliche Probleme gehabt?

Besten Dank...

Gruß Tobias