Neues Modul FB_SIP.pm, ein SIP-Client

Begonnen von wmeiners, 21 August 2015, 01:53:56

Vorheriges Thema - Nächstes Thema

Wzut

Zitat von: MadMax am 28 August 2016, 13:05:17
damit es wieder funktioniert muss ich FHEM neustarten, aber auch dann geht es nur einmal.
verbose auf 5 , set <name> reset , set <name> listen , anrufen , drei Tasten drücken , auflegen und danach ins Log schauen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

MadMax

Oh, als ich gerade ins Log geschaut habe hat es 5 min geladen, habe festgestellt das mir das Log vollgebombt wird.
Nachdem ich das Logfile verkleinert habe oder eher umgestellt hab das jeden Tag ein neues angelegt wird funktioniert das mit dem Anrufen auch.

Würde jetzt behaupten das es daran lag, muss jetzt mal den Fehler suchen warum das Log so voll ist.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Wzut

#92
Zitat von: RaspiCOC am 28 August 2016, 12:15:34
dann könnte man darüber nachdenken
<schnipp>
- Weiterhin könnte man
man .. man .. wie sagte man früher so schön ? "selbst ist der Mann" :) Also tue dir keinen Zwang an und lege los.
Ich werde mir das Ding auf keinen Fall ans Bein binden, da Net::SIP für mich mit der derzeitigen Doku und den wenigen Beispielen der absolute Horror ist.   

Zitat von: RaspiCOC am 28 August 2016, 12:15:34
Frage, die hoffentlich nicht schon anderweitig beantwortet worden ist: Wo müssen die WAV-Files abgelegt werden, damit sie abgespielt werden können. Wird hier auf einem Standardpfad gesucht?

Gehe ich recht in der Annahme, dass wir über 8khz 16 Bit mono PCM codierte WAV-Files sprechen?
a. default im fhem Ordner , um auf Nr. Sicher zu gehen einfach den kompletten Pfad mit übergeben
b. wurde in der Tat bereits abgehandelt :
Zitat von: Wzut am 13 Juni 2016, 20:51:17
oder direkt auf dem RasPi mit sox ( apt-get install sox )

sox <file>.wav -t raw -r 8000 -c 1 -e a-law <file>.alaw
bsp : sox test.wav -t raw -r 8000 -c 1 -e a-law test.alaw
da sox sehr viele Audio Formate kennt sollte sich beinahe alles nach PCM/8000 konvertieren lassen.

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

Heiner

Hilfe ich blicks nicht.

Nach update meines PI, FHEM und der Fritzbox habe ich

SIP.pm in den FHEM Ordner kopiert
auf dem PI die Befehle ausgeführt:
     cpan install Net::SIP
     apt-get install libhash-moreutils-perl
     apt-get install libhash-util-fieldhash-compat-perl

und  auf der Fritzbox ein IP Telefon mit Rufnummer 620 erzeugt.

Dann in fhem gebe ich das ier ein:
define SipCall SIP fritz.box 620 xyz wobei xyz für mein in der Fritzbox am IP Telefon gespeichertes Passwort steht.

Und fhem stirbt sofort. Im Log kann ich noch das hier lesen:
ZitatPERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/96_SIP.pm line 77.
Bad arg length for Socket::inet_ntoa, length is 0, should be 4 at ./FHEM/96_SIP.pm line 77.

Was mache ich falsch?

Danke fuer die Tipps.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Heiner

Ha, ich hab da was gefunden:

Mit FB_SIP.pm klappt es. Das Problem liegt in der SIP.pm.

By the way:  Der Aufruf nach dem Define erfolgt mit Zielrufnummer und Klingeldauer. Was wenn ich in der Fritzbox eine IP-Tuerstelle definiere die schon eine bestimmte Zielrufnummer definiert hat? (Dann krieg ich das nämlich nicht hin)

Aber mit "normalem IP Telefon klappts.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

RaspiCOC

FB_SIP und SIP sind ja auch 2 unterschiedliche Module. FB_SIP kann beispielsweise keine WAV-Files abspielen, was SIP anscheinend kann...

Navigator

Hat jemand das Modul FB_SIP.pm auch auf dem Cubietruck zum laufen bekommen? Gab es da auch solche Probleme mit dem installieren des Net::SIP Moduls? War ein ziemlicher Krampf auf meinem TestPi.  :(
Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

Wernieman

Da müstest Du auch sagen, welche Distri und wie Du installiert hast ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Navigator

Auf Debian Wheezy über Cpan Cpanm und händisch per Make. Immer Fehler bei make test. Aber installieren konnt ich es trotzdem und es läuft auch.
Da es nun so funktioniert und ich auf dem Cubie mit Fhem Hauptinstallation kein Risiko eingehen möchte belasse ich es nun so. Auf dem Pi läuft ja noch eine kleinere Fhem Installation für Solar und Gpio Stromzähler. Da das Sip Modul anscheinend auch blockierend ist setze ich jetzt über mein HauptFHEM ein Shellscript in Gang, was wiederum über Netcat ein Telnet Kommando an die Pi FHEM Installation sendet und mit dem SIP Modul den Anruf auslöst. Etwas übers Eck gedacht aber es funktioniert.  :)
Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

Wernieman

Und warum installierst Du nicht über die Normalen Distri-Wege?
Zitatlibnet-sip-perl
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

pberndts

@Wzut: Du schriebst, das du keinen eleganten Weg kennst, die eigene IP festzustellen. Unter den Linuxen ist das Shell Kommando "hostname -I" nach meiner Ansicht dafür gut geeignet...

Wzut

Zitat von: pberndts am 04 November 2016, 15:37:34
ist das Shell Kommando "hostname -I" nach meiner Ansicht dafür gut geeignet...
und wenn das System ( wie in meinem Fall ) mehrere Schnittstellen und somit auch mehr als eine IP hat ?
Dann liefert  hostname -I alle und man darf sich die aussuchen unter der FHEM als SIP Client erreichbar ist :)
D.h. ich hätte mich damals etwas präziser ausdrücken müssen : ich suchte die aktuelle IP der FHEM Instanz mit Ausnahme von localhost  :)
NET::SIP will leider eine echte IP , so elegant wie z.B. beim Apache einfach 0.0.0.0 eintragen (für alle)  geht da leider nicht.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wernieman

Wenn FHEM nur auf eine IP hört, könntest Du diese:
- aus der FHEM-Config rausgreppen
- per "netstat" ermitteln
- .... es gibt bei Unix immer viele Wege .....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Marlen

Hi ihr,

hab das jetzt auch mal eingerichtet, kann man erkennen ob nach einem call jemand an das telefon gegangen ist?
Könnt mir vorstellen, damit meine Alarmanlage zu entschärfen, indem man schnell genug ans Telefon geht und einen code ein gibt!
Wäre sowas möglich?

LG
Marlen

Wzut

Zitat von: Marlen am 16 November 2016, 22:27:40
kann man erkennen ob nach einem call jemand an das telefon gegangen ist?
Laut Net::SIP Doku :
ZitatIf no cb_final callback was given it will wait in the event loop until a final response was received. Only in this case it will also use the param ring_time which specifies the time it will wait for a final response. If no final response came in within this time it will send a CANCEL request for this call to close it. In this case a callback specified with cb_noanswer will be called after the CANCEL was delivered (or delivery failed).
Bei meinen Test hatte ich allerdings mit cb_noanswer keinen Erfolg, ich hätte dem Modul gerne dafür ein Reading spendiert


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