Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

Rewe2000

Hallo Niels,

die Installation des Moduls scheint geklappt zu haben, zumindest wird mir das so angezeigt:
Net::SIP
-------------------------------------------------------------------------
        (no description)
        S/SU/SULLR/Net-SIP-0.812.tar.gz
        /usr/local/share/perl/5.24.1/Net/SIP.pm
        Installed: 0.812
        CPAN:      0.812  up to date


Mit dpkg --list wird dagegen das Modul libnet-sip-perl nicht mehr angezeigt.

Der Blick nach den Ports ergibt (meiner Meinung nach) absolut nichts auffälliges, "ss -t" bringt:
State       Recv-Q Send-Q                               Local Address:Port                                                Peer Address:Port
ESTAB       0      64                                    192.168.1.33:ssh                                                 192.168.1.26:60860
FIN-WAIT-2  0      0                                     192.168.1.33:7420                                                192.168.1.32:60949
ESTAB       0      0                                     192.168.1.33:39682                                               192.168.1.30:502
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.27:35210
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.26:60846


Nach Ausführen einer Nummernwahl über das SIP-Device kommt die Meldung "Port 44175 alredy in use" eine Ausgabe mit "ss -t" ergibt:
State       Recv-Q Send-Q                               Local Address:Port                                                Peer Address:Port
ESTAB       0      64                                    192.168.1.33:ssh                                                 192.168.1.26:60860
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.26:61125
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.26:61124
ESTAB       0      0                                     192.168.1.33:7420                                                192.168.1.32:33902
ESTAB       0      0                                     192.168.1.33:39682                                               192.168.1.30:502
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.27:35210
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.26:61126
ESTAB       0      0                                     192.168.1.33:8083                                                192.168.1.26:61123


Auch ist es anscheinend völlig egal, welchen Port ich unter sip_port eintrage, jeder Port wird mir als belegt angezeigt. Ich hatte gestern schon mal mit netstat -a geprüft, in der Ausgabe habe ich niemals den von SIP verwendeten Port  gefunden.

Wo vermuten die Profis den Fehler?
- Fhem SIP-Device
- Debian SIP-Modul#
- Linux meines Raspis 3
- oder vor dem Bildschirm :)

Vielen Dank von meiner Seite an alle Helfer, ich alleine wäre absolut hilflos diesen Fehler zu finden.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

MadMax-FHEM

Hallo Reinhard,

ich hab jetzt nicht alles im Detail verfolgt...

Aber ich habe/hatte das SIP Modul auch in Betrieb.

Ich habe einen PI3 mit Stretch light relativ aktuell weil vor ca. 3-4 Wochen aufgesetzt und sicher inzwischen mind. 1x update/upgrade ausgeführt.

Ich hatte das SIP-Perl paket mittels apt-get installiert sonst nichts, da ich eigentlich nicht telefonieren (lassen) wollte sondern nur mitbekommen, wenn ich angerufen werde und nicht zuhause bin -> Nachricht per Telegram.

Aktuell habe ich es wieder runter, da das FBCALLMONITOR-Modul genau leistet was ich wollte...

...aber mal sehen, evtl. rüste ich auch wieder auf... ;)

Ab hier sieht man meine Config:

https://forum.fhem.de/index.php/topic,67443.msg716892.html#msg716892

fhem war/ist auch neu/aktuell, da ich eben dabei bin mein (etwas) betagtes Testsystem (Wheezy und mittlerweile total "kaputt installiert") neu aufzusetzen...

Da ich gerade am Anfang des Neu-Aufsetzens war/bin habe ich noch kaum/keine anderen Perl Module installiert, außer was beim Installieren von fhem per debian.fhem.de so mitkommt...

Ich weiß, keine Lösung für das Problem...
...aber du siehst zumindest, dass es unter Stretch light mit SIP-Modul per apt-get läuft/laufen kann...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Rewe2000

Hallo Joachim,

die Situation bei dir ist ähnlich wie bei mir, ich habe auch Stretch komplett neu aufgesetzt, meine MySQL Datenbank aus einer Sicherung wieder zurückgeschrieben und dann mein Fhem Backup vom alten Raspi (Jessy mit Update auf Stretch) in den neu mit Stretch Lite aufgesetzten Raspi eingelesen.

Einige Besonderheiten:
Das SIP Device und auch kein anderes Modul für die Fritz!Box war im Update enthalten, ich habe dieses erst dann als Device in Fhem angelegt, nachdem mein "neuer" Raspi mit Fhem fehlerfrei gelaufen ist. Anfänglich habe ich auch kein Text2Speach installiert, dachte aber irgendwann, eventuell mit diesem könnte mein Fehler verschwunden sein.

Folgende Module habe ich, neben der Fhem Standardinstallation noch hinzugefügt:

apt-get install apache2 -y
apt-get -y install libdatetime-format-strptime-perl
apt-get update && sudo apt-get install -y librpc-xml-perl
apt-get update && apt-get install mysql-server mysql-client libdbd-mysql libdbd-mysql-perl
aptitude install libdbi-perl
apt-get -y install libclass-dbi-mysql-perl
apt-get install libforks-perl libthread-queue-any-perl libtime-hires-perl
apt-get install libnet-sip-perl ### wieder entfernt und mit cpan install Net::SIP neuere Version installiert
apt-get install sox
apt-get install libsox-fmt-mp3


Danke Joachim für das feedback, es tut gur zu hören, dass es bei anderen Usern klappt. Dies gibt mir wieder Mut um an meinem Problem dranzubleiben.


@Wzut
Könnte die Ursache mit dem Einspielen des Fhem Backups, auf einen neu aufgesetzten Raspi zusammenhängen?
Zitat.... Thema das angeblich jeder Port bereits belegt ist :
Das ist kein Problem des oder der Ports sondern da stimmt die FHEM eigene IP im Attribut nicht !

Die Frage stellt sich mir, kann ich die Fhem eigene IP im Attribut irgendwie prüfen?
Gibt es für mich die Möglichkeit diese IP wieder richtigzustellen?

Ich dachte durch löschen des SIP-Device und neuanlegen unter einem anderen Namen wird auch die IP wieder neu vergeben, hat aber bei mir nicht geholfen.

Ich hoffe nur ihr habt noch einige Ideen

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

plin

Hallo Reinhard,

dann fangen wir doch mal bei Adam und Eva an. Besorg dir mal
https://github.com/noxxi/p5-net-sip/blob/master/samples/invite_and_recv.pl
speichere es auf deinem Raspi ab und mache executable.

Dann kannst du mit
./invite_and_recv.pl --username Anschluss621 --password 'deinpasswort' -R 192.168.1.13:5060 -L 192.168.1.33 -T 5 sip:Anschluss621@fritz.box 7319
testen, ob das Net::SIP in deinem Umfeld funktioniert. Wenn ja müssen wir das Problem im FHEM-Umfeld suchen, wenn nein müssen wir schauen was im System verbogen ist.

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

Rewe2000

Hallo plin,

ich wollte dies gerade testen, aber ich denke hier brauche ich noch etwas Hilfe.
Bisher habe ich noch nie selbst ein script in Linux erstellt und ich denke hier liegt auch mein Fehler:

1. Verzeichnis auf dem raspi mit "mkdir /opt/fhem/temp/" erstellt.
2. Scriptdatei mit "sudo nano /opt/fhem/temp/invite_and_recv.pl" erstellt und  den Scripttext https://github.com/noxxi/p5-net-sip/blob/master/samples/invite_and_recv.pl hineinkopiert.
3. executable gemacht mit "sudo chmod +x /opt/fhem/temp/invite_and_recv.pl"
4. Versucht das Script wie folgt auszuführen:
pi@raspberrypi:/opt/fhem/temp $ sudo ./invite_and_recv.pl --username Anschluss621 --password 'Geheim' -R 192.168.1.13:5060 -L 192.168.1.33 -T 5 sip:Anschluss621@fritz.box 7319
./invite_and_recv.pl: 10: ./invite_and_recv.pl: use: not found
./invite_and_recv.pl: 11: ./invite_and_recv.pl: use: not found
./invite_and_recv.pl: 12: ./invite_and_recv.pl: use: not found
./invite_and_recv.pl: 13: ./invite_and_recv.pl: Syntax error: "(" unexpected


So wie ich es vermute wird das Script ausgeführt, aber irgend etwas habe ich mit der "Installation" falsch gemacht.
Mit welchen Interpreter sollte dies eigentlich ausgeführt werden?
Prügelt mich bitte nicht, für mein Unwissen, ich lese mich auch gerne ein, aber so auf die Schnelle klappt das bei mir nicht.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

MadMax-FHEM

Du hättest verm. das Script auch einfach mit wget holen können... ;)

Vermutlich .pl -> perl, also vielleicht so:

sudo perl invite_and_recv.pl --username Anschluss621 --password 'Geheim' -R 192.168.1.13:5060 -L 192.168.1.33 -T 5 sip:Anschluss621@fritz.box 7319

Kurz, da Handy...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Rewe2000

#441
Hallo Joachim,

danke für die vielen hilfreichen Tipps, mit
sudo wget https://raw.githubusercontent.com/noxxi/p5-net-sip/master/samples/invite_and_recv.pl
hat der Download nun (auf dem richtigen Weg) geklappt.

Das script rufe ich nun wie folgt auf:
sudo perl ./invite_and_recv.pl --username Anschluss621 --password 'Geheim' -R 192.168.1.13:5060 -L 192.168.1.33 -T 5 sip:Anschluss621@fritz.box 7319

Als Fehler wird mir folgendes angezeigt:
cannot create resolver:
Net::DNS not available?:
Can't locate Net/DNS.pm in @INC (you may need to install the Net::DNS module)
(@INC contains: /etc/perl
/usr/local/lib/arm-linux-gnueabihf/perl/5.24.1
/usr/local/share/perl/5.24.1
/usr/lib/arm-linux-gnueabihf/perl5/5.24
/usr/share/perl5
/usr/lib/arm-linux-gnueabihf/perl/5.24
/usr/share/perl/5.24
/usr/local/lib/site_perl
/usr/lib/arm-linux-gnueabihf/perl-base)
at /usr/local/share/perl/5.24.1/Net/SIP/Dispatcher.pm line 1164.


Ich habe verstanden, ich muss mir noch NET::DNS  holen, nachdem ich dieses installiert hatte, ging mein Ruf vom Raspi raus  ;D ;D ;D

Nun kommt der Versuch über das SIP Device von Fhem:
2017.11.29 18:05:11 4: TelefonClient[23238], using random port 44437
failed to bind to 192.168.1.33:44437: Address already in use at /usr/local/share/perl/5.24.1/Net/SIP/Leg.pm line 153.


Immer noch der gleiche Fehler wie eh und jeh, selbst nach einem Shutdown -r des Raspi. :(
Somit müsste mein Problem bei Fhem liegen, das habe ich nun verstanden.

Ich versuch es jetzt mal auf die brachiale Art:
Ersatzraspi mit Image von Stretch Lite, Fhem Grundinstallation nur mit den nötigsten Modulen und nur mit dem SIP-Device.
Ich melde mich wieder.

######### Ergebnis mit neu aufgesetztem Raspi ################
So, es ist geschafft, der neue Raspi 3 läuft mit Stretch Lite und Fhem in einer Minimalkonfiguration ohne COC und MariaDB, als einziges Device neben den Standard Devices ist SIP installiert. Die Module habe ich nicht mit cpan sondern mit apt-get install
geladen.

In dieser Konfiguration läuft das SIP Device bei mir problemlos so wie es soll.
Ich werde nun weiter "aufrüsten" bis ich Probleme bekomme, anders kann ich den Fehler nicht eingrenzen.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

Wzut

Zitat von: f-zappa am 29 November 2017, 15:54:39
Können wir das so übernehmen? :)
Falscher Thread , das hat nichts mit 96_SIP zu tun sondern sind T2S internas !

@Reinhard, schön :) Ich werd mir am WE mal den Bereich im Leg.pm anschauen, ob ich für den Fall eine Vorabprüfung einbauen kann.
Würde mich jetzt aber echt interessieren was bei deiner ersten Insatllation schief läuft. BTW : Klar bekommt man mit apt-get nicht die allerletzte Version von Net::SIP,
aber was seit Wheezy ausgeliefert wird ist eigentlich brauchbar - bei Jessy sah das damals noch ganz anders aus, da musste unbedingt mittels cpan nachgebessert werden.
Strech habe ich aktiv noch nicht am Laufen, mal schauen wenn Zeit ist müsste ich mein Testsystem auch mal auf diesen Stand heben.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

MadMax-FHEM

Zitat von: Wzut am 30 November 2017, 08:11:30
Strech habe ich aktiv noch nicht am Laufen, mal schauen wenn Zeit ist müsste ich mein Testsystem auch mal auf diesen Stand heben.

Selber probieren schadet nie ;)

Ich habe/hatte das SIP Modul auf Stretch lite laufen.
Installation "nur" mittels apt-get...

Allerdings keine "aktiven" calls, sondern "nur" listener...

Wollte ja "nur" Anrufe mitbekommen und eine Nachricht schicken bei Abwesenheit...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wzut

Zitat von: MadMax-FHEM am 17 November 2017, 00:30:16
my $calltime = int(time()-$hash->{CALL_START});
So wie ich das sehe habe ich aus irgendeinem Grund keine CALL_START...
Ich habe mir die Stelle jetzt mal angeschaut, ja es gibt die Möglichkeit das CALL_START gar nicht definiert ist.
Werde ich im nächsten Update fixen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

MadMax-FHEM

Zitat von: Wzut am 30 November 2017, 16:16:01
Ich habe mir die Stelle jetzt mal angeschaut, ja es gibt die Möglichkeit das CALL_START gar nicht definiert ist.
Werde ich im nächsten Update fixen.

Ok, danke!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

plin

#446
Zitat von: MadMax-FHEM am 30 November 2017, 10:40:49
Selber probieren schadet nie ;)
Also meine Test-Instanz läuft auf einem Raspi3 unter stretch ... und ich habe keine Probleme.

P.S. Einige Nutzer haben aber Probleme die die aktuellste Net::SIP-Version erfordern, deshalb habe ich mittels cpan die 0.812 installiert.
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

Rewe2000

Hallo,

nach einigen Stunden Neuinstallation hier nun mein Bericht und meine Vermutung.
Ich habe nun Stretch Lite auf einem Raspi 3 mit "COC" und einer Fhem Minimalkonfiguration nur mir dem SIP und dem Text2Speach Device aufgesetzt (ohne cpan).
Das SIP Modul läuft im Zusammenspiel mit Text2Speach problemlos :)

Erst wenn ich mein Fhem Backup einspiele, funktioniert SIP wieder nicht mehr >:(

Somit gibt es eine eindeutige Erkenntnis, es muss eindeutig (bei mir an meiner Fhem Konfiguration/Installation) liegen.

2017.11.30 22:32:47 1: PERL WARNING: Argument "*52" isn't numeric in preincrement (++) at ./FHEM/96_SIP.pm line 738.
2017.11.30 22:32:47 4: TelefonClient, calling **52, ringtime: 30 , no message
2017.11.30 22:32:47 4: TelefonClient, TelefonClient|**52|30||0
2017.11.30 22:32:47 4: TelefonClient, call -> TelefonClient|**52|30||0|0
2017.11.30 22:32:47 5: TelefonClient, call has pid 1275
2017.11.30 22:32:47 4: TelefonClient[1275], my parent is 1170
2017.11.30 22:32:47 4: TelefonClient[1275], using random port 44221
failed to bind to 192.168.1.33:44221: Address already in use at /usr/share/perl5/Net/SIP/Leg.pm line 153.


Mir fallen 2 Dinge auf:
Seitdem ich das Fhem Restore gemacht habe, werden keine Rufnummern mit "**" mehr akzeptiert, es kommt eine Meldung ...at ./FHEM/96_SIP.pm line 738 (siehe Fehlerlog). In der Minimalkonfiguration gingen solche internen Rufnummern noch Problemlos.

Desweiteren war das SIP Modul in der Minimalkonfig von Fhem am Ende der fhem.cfg, nur mein COC Modul kam noch danach.
define COC CUL /dev/ttyAMA0@38400 1234
attr COC rfmode HomeMatic

In der nicht funktionierenden fhem Konfiguration ist das SIP Device ganz am Ende, vor diesem Device kommen HMCCU, HMCCURPC, VCCU_CUL und dann einige HmIP-Device.

Spielt die Position in der fhem.cfg Datei für das SIP Device eine Rolle?

Der nächste Schritt wäre nun alle Device in Fhem zu löschen und dann mit RAW definition wieder einzufügen, bis der Fehler wieder kommt.

Außer es gibt noch andere (weniger mühsamere) Vorschläge.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

Wzut

Zitat von: Rewe2000 am 30 November 2017, 23:01:17
Seitdem ich das Fhem Restore gemacht habe, werden keine Rufnummern mit "**" mehr akzeptiert, es kommt eine Meldung ...at ./FHEM/96_SIP.pm line 738 (siehe Fehlerlog). In der Minimalkonfiguration gingen solche internen Rufnummern noch Problemlos.
Doch deine **52 wird als Rufnummer angenommen, steht auch so im Log :
2017.11.30 22:32:47 4: TelefonClient, calling **52, ringtime: 30 , no message
2017.11.30 22:32:47 4: TelefonClient, TelefonClient|**52|30||0
2017.11.30 22:32:47 4: TelefonClient, call -> TelefonClient|**52|30||0|0

ABER : der * (Stern) kann auch am Ende des Strings für Wiederholungen benutzt werden , z.B. *3
Bei deiner Fehlermeldung wurde die **53 als Wiederholung ausgewertet, also lediglich ein Schönheistfehler der i.d.R. (zumndest bei mir) nicht auftritt.

Zitat von: Rewe2000 am 30 November 2017, 23:01:17
Spielt die Position in der fhem.cfg Datei für das SIP Device eine Rolle?
Nein, denn das Modul hat keine direkten Abhängikeiten zu anderen IO Modulen. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wzut

@Rewe2000 bzw. Reinhard , ich habe noch zwei Punkte für dich :
1. Das Gemecker wegen den ** Nummern passiert , wenn
a. stacktrace aktiv ist und b. nur die Rufnummer übergeben wird ohne jeden weiteren Parameter.
Den Fall habe ich im nächsten Update gefixt, ist wie gesagt aber lediglich ein Schönheitsfehler

2. Nimm dir nochmal die Version vor die immer wegen dem Port in Leg.pm stirbt. Suche dann im 96_SIP.pm den Abschnit :
# create new agent
  $ua = Net::SIP::Simple->new(
        registrar => $registrar,
           domain => $registrar,
              leg => $leg,
             from => $from,
             auth => [ $user , SIP_readPassword($name) ]);
  # Register agent

(müsste so um die Zeile 340 sein)
ändere dort die Zeile leg => $leg, in leg => $ip,  und lade das Modul mit "reload 96_SIP" neu.
Mit dieser Änderung legst zu meine vorab Prüfung ob der Port frei ist komplett lahm und überlässt es Leg.pm einen freien Port zu finden.
Läuft es dann bei dir ohne Fehler hätte ich zumindest mal ne Richtung in der ich suchen könnte.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher