Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

Wzut

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

Wzut

Zitat von: Kilitom am 19 August 2018, 13:36:51
Ich bekommen im log immer eine der folgenden Fehlermeldungen:
- Can't use string ("favicon") as a HASH ref while "strict refs" in use at /usr/local/share/perl/5.20.2/Net/SIP/Dispatcher.pm line 1108.
- Can't use string ("fhemicon.png") as a HASH ref while "strict refs" in use at /usr/local/share/perl/5.20.2/Net/SIP/Dispatcher.pm line 1108.
poste mal ein list von deinem SIP device, vllt hängst du an der gleichen Stelle wie ich bei sipgate -> https://forum.fhem.de/index.php/topic,90317.msg828799.html#msg828799
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

fiedel

Hallo,

habe hier einen "Schönheitsfehler" im Log. Das Modul funktioniert völlig normal. Vielleicht muss ich ja nur noch irgendwo etwas konfigurieren?
Den FQDN des FHEM- Servers habe ich schon "ordentlich gemacht" und "hostname" oder "hostname -f" brigen sinnvolle Ausgaben.

Logausgabe:
10:21:43 1: PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/96_SIP.pm line 143.
2018.08.28 10:21:43 2: mySIP, please check your FQDN hostname -> Bad arg length for Socket::inet_ntoa, length is 0, should be 4 at ./FHEM/96_SIP.pm line 143.


List:

Internals:
   AC         /usr/bin/sox
   NAME       mySIP
   NOTIFYDEV  myTTS
   NR         2197
   NTFY_ORDER 50-SIP_FMF
   STATE      initialized
   TYPE       SIP
   VERSION    V1.91 / 31.07.18
   READINGS:
     2018-08-28 10:24:27   call            done
     2018-08-28 10:24:27   call_attempt    0
     2018-08-28 10:24:27   call_state      ok
     2018-08-28 10:24:27   call_success    1
     2018-08-28 10:24:27   call_time       3
     2018-08-20 08:59:47   expire          2018-08-20 09:04:45
     2018-08-28 10:22:03   listen_alive    no
     2018-08-28 10:24:27   state           initialized
   helper:
     CALL_BYE   ok
     CALL_ERROR 1
     CALL_NAME  unknown
     CALL_NR    xxxxxxxxxxxxxx
     CALL_START xxxxxxxxxxxx
     CALL_TIME  3
     CALL_TYPE  out
Attributes:
   T2S_Device myTTS
   T2S_Timeout 30
   audio_converter sox
   history_file ./log/mySIP.sip
   history_size 0
   sip_dtmf_loop once
   sip_dtmf_send audio
   sip_dtmf_size 2
   sip_elbc   yes
   sip_from   sip:620@fritz.box
   sip_ip     192.168.1.30
   sip_listen none
   sip_port   5060
   sip_registrar 192.168.1.1
   sip_ringtime 8
   sip_user   620
   verbose    1


Vielen Dank für Eure Unterstützung!
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Wzut

hmm, sollte eigentlich gar nicht durchlaufen werden wenn das Attribut sip_ip gesetzt ist
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

fiedel

Genau das hatte ich beim Versuch den Code in diesem Bereich zu verstehen auch gedacht, war mir aber nicht sicher.

Was ich noch beobachtet habe: Wenn ich das Attr. "sip_ip" lösche und save + resarte, legt das Modul "sip_ip" mit korrekter IP wieder neu an (löst also den FQDN richtig auf), bringt die Meldung aber trotzdem.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Wzut

ja mein Fehler, der ganze Block steht einfach an der falschen Stelle,
D.h. einfach zu früh im Code und da ist $attr{$name} noch gar nicht besetzt, fixe ich mit der nächsten Version
THX4Feedback
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

fiedel

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

choetzu

frage in die Runde:

gemäss Wiki braucht es einen SIP Server. Dies habe ich. Aber ich habe weder Fritzbox noch sonstwas (auch keinen "Telefonhörer"), sondern eine Swisscom Box und einen Raspi3 (resp. 2stk davon). Ich will lediglich Raspi3 via SIP Server dazu nutzen, bei Alarm auf meine Mobile anzurufen. Sonst nix. Ist das mit dem Server IP, Benutzername und PW machbar? Auf Anhieb hat es nicht geklappt.

lg c
Raspi3, EnOcean, Zwave, Homematic

Wzut

Nun ich kenne deine Swisscom Box nicht, aber der SIP Server muss nicht unbedingt eine FB sein.
Alternative 1 : Asterisk auf einem deiner Raspberrys aufsetzen
Alternative 2 : Bei sipgate mit dem kostenlosen Basic Tarif sich eine Rufnummer aus dem Ortsnetz registrieren ( geht IMHO auch für die Schweiz ),
nach Aufladung des Kontos mit 10€ und bestätigung deines Accounts kannst du mit dieser Nr. deine Handys mit dem FHEM Modul anrufen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

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

choetzu

Zitat von: Wzut am 21 September 2018, 07:48:26
Nun ich kenne deine Swisscom Box nicht, aber der SIP Server muss nicht unbedingt eine FB sein.
Alternative 1 : Asterisk auf einem deiner Raspberrys aufsetzen
Alternative 2 : Bei sipgate mit dem kostenlosen Basic Tarif sich eine Rufnummer aus dem Ortsnetz registrieren ( geht IMHO auch für die Schweiz ),
nach Aufladung des Kontos mit 10€ und bestätigung deines Accounts kannst du mit dieser Nr. deine Handys mit dem FHEM Modul anrufen.

da ich bei Swisscom keine Fixnummer habe, versuche ich es mit Alternative 2. Ich habe das Konto eröffnet, mit 25CHF aufgeladen und das Modul auf meinem Raspi 3 installiert. Es scheint jedoch nicht zu funktionieren. Hier mein Listing:

Internals:
   CFGFN     
   NAME       SIP
   NOTIFYDEV  global
   NR         902
   NTFY_ORDER 50-SIP
   STATE      initialized
   TYPE       SIP
   VERSION    V1.91 / 31.07.18
   lastnr     meineHandyNr
   READINGS:
     2018-09-21 09:33:30   call            meine HandyNr
     2018-09-20 20:52:26   call_attempt    0
     2018-09-21 09:33:31   call_state      calling meineHandyNr
     2018-09-20 20:52:26   call_success    0
     2018-09-20 20:52:26   call_time       0
     2018-09-20 20:52:26   last_error      CallRegister: Failed with code 403
     2018-09-21 09:34:31   listen_alive    no
     2018-09-21 09:34:31   state           initialized
   helper:
     CALL       SIP|0794538540|30||0|0
     CALL_BYE   CallRegister: Failed with code 403
     CALL_ERROR 0
     CALL_NAME  unknown
     CALL_NR    0794538540
     CALL_START 1537515210
     CALL_TIME  0
     CALL_TYPE  out
Attributes:
   history_file ./log/SIP.sip
   history_size 0
   sip_dtmf_loop once
   sip_dtmf_send audio
   sip_dtmf_size 2
   sip_elbc   yes
   sip_from   sip:meineUSERID@free3.voipgateway.org
   sip_ip     meineRaspiIP
   sip_listen none
   sip_port   5060
   sip_registrar free3.voipgateway.org
   sip_ringtime 3
   sip_user   meineUSERID
   verbose    5


im Log kommt folgendes:

2018.09.21 09:33:30 4: SIP, calling meineHandyNr, ringtime: 30 , no message
2018.09.21 09:33:30 4: SIP, SIP|meineHandyNr|30||0
2018.09.21 09:33:30 4: SIP, call -> SIP|meineHandyNr|30||0|0
2018.09.21 09:33:30 5: SIP, call has pid 4846
2018.09.21 09:33:30 4: SIP[4846], my parent is 659
2018.09.21 09:33:30 4: SIP[4846], trying to use port 5070
2018.09.21 09:33:31 4: SIP[4846], register new expire : 2018-09-21 09:34:11
2018.09.21 09:33:31 5: SIP, readingS:state Val:calling
2018.09.21 09:33:31 4: SIP[4846], CallStart DTMF : ABCD*#123--4567890
2018.09.21 09:33:31 4: SIP[4846], calling : meineHandyNr
2018.09.21 09:33:31 5: SIP, readingS:call_state Val:calling meineHandyNr
2018.09.21 09:33:31 4: SIP[4846], cb_final - status : FAIL - final : 488
2018.09.21 09:33:51 4: SIP[4846], register new expire : 2018-09-21 09:35:01
2018.09.21 09:33:51 5: SIP, readingS:state Val:calling
2018.09.21 09:34:01 5: SIP[4846], 0. Ende des ersten Loops
2018.09.21 09:34:01 5: SIP[4846], 1. rtp_done : 0
2018.09.21 09:34:01 5: SIP[4846], 2. fi : 0
2018.09.21 09:34:01 5: SIP[4846], 3. Final   : 488
2018.09.21 09:34:01 5: SIP[4846], 4. timeout : 1
2018.09.21 09:34:01 5: SIP[4846], 6. call_established : 0
2018.09.21 09:34:01 5: SIP[4846], call->cancel
2018.09.21 09:34:26 4: SIP[4846], register new expire : 2018-09-21 09:34:56
2018.09.21 09:34:26 5: SIP, readingS:state Val:calling
2018.09.21 09:34:31 4: SIP, CALL Kill PID : 4846
2018.09.21 09:34:31 1: Timeout for SIP_CALLStart reached, terminated process 4846
2018.09.21 09:34:31 4: SIP, Reset Call done


Wenn ich vom Handy meine sipcall Nr anrufe passiert auch nix...
Raspi3, EnOcean, Zwave, Homematic

Wzut

Deine Attribute sehen gut aus, die Anmeldung am SIP Server scheint laut log auch zu klappen.
Telefonieren konnte ich mit meinem sipgate.de Account auch nicht sofort, ich musste drei Tage warten bis per Post der Brief mit dem Freischaltcode kam. Keine Ahnung ob das dein Provider auch so macht, ich kann leider von hier keine einzige Webseite von voipgateway.com öffnen um mal in deren Anleitungen lesen zu können.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

choetzu

Zitat von: Wzut am 21 September 2018, 11:26:32
Deine Attribute sehen gut aus, die Anmeldung am SIP Server scheint laut log auch zu klappen.

Danke Wzut, ich habe mal bei SipCall ein Ticket eröffnet. Mal schauen, wie schnell die reagieren.

Woran erkennst du am Log, dass die Anmeldung beim SIP Server geklappt hat?

lg c
Raspi3, EnOcean, Zwave, Homematic

Wzut

Lade dir doch mal einen SIP Client aufs Handy , wie z.B. linphone dann kannst du recht gut deinen Provider testen und bekommst ggf. auch mehr Unterstützung von ihm als wenn du sagst mein FHEM Modul will nicht :) ( Hatte ich auch gemacht nachdem mein erfster Versuch mit sipgate fehlgeschlagen war)

Das deine User Auth vermutlich klappt sieht man im Log :
2018.09.21 09:33:31 4: SIP[4846], register new expire : 2018-09-21 09:34:11
es gäbe kein expire ohne das der Schritt erfolgreich war. Kannst ja mal testen, setze im Attribut einen falschen Usernamen oder Passwort und schau dann auf den Log Abschnitt, es dürft dann nie zu
2018.09.21 09:33:31 5: SIP, readingS:state Val:calling
kommen

Bzw. was du noch machen kannst wenn dein Provider eine Webseite für dich hat wo du deine Geräte siehst :
Starte mal einen listen Mode in irgend einem Modus. Bei sipgate sieht man dann nach ca. zwei Minuten das dieser User aktiv ist. Und nur dann wäre ein Test bei dem du via Handy diese Nr. anrufst überhaupt möglich.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

choetzu

Herzlichen Dank für deine Mühe. Ich bin ein Schritt weiter.
Der Support hat sich gemeldet:
Wir haben Ihr anliegen analysiert.
Der Grund dafür weshalb die Rufnummer 41meineRufnummer eingehend nicht erreichbar ist besteht darin, dass für diese keine gültige Registration vorhanden ist.
Dadurch können eingehende Anrufe nicht zu Ihrem Endgerät geroutet werden.

Die Letzte Registrationsanfrage erhielten wir von Ihrem Endgerät erhielten wir heute um 09:34 Uhr. Danach kamen keine Registrationsanfragen mehr zu unserem System.
Dies deutet entweder darauf hin, dass das Endgerät schon gar keine solche mehr versendet oder die Pakete jeweils ausgehend in der Firewall hängen bleiben.


Wenn ich nun auf ,,set SIP listen" gehe, dann kann ich auf die Nummer anrufen, das sehe ich im Eventmonitor. Das scheint zu klappen.

Wenn ich doch empfangen kann, sollte es doch auch nach aussen telefonieren können?  Irgendwas klappt noch nicht..

Soll ich trotzdem mit einem iPhoneClient linephone versuchen?
Raspi3, EnOcean, Zwave, Homematic