Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

netbus

Hier die Antwort:

man kann mit dem Modul direkte Verbindungen zwischen SIP-Endgeräten
aufbauen. Das ist sogar der einfacherer Fall, weil hier keine Vermittlung
über einen Registrar+Proxy erfolgen muß. Siehe z.B. t/04_call_with_rtp.t in
der Distribution, welches zwei UserAgents baut und zwischen denen Daten
austauscht.
Es wird allerdings keinerlei Behandlung von NAT etc vorgenommen, d.h. die
beiden "Telefone" müssen direkt miteinander sprechen können, ohne das man
STUN, TURN o.ä. involvieren muß.

Wzut

Oh das ging ja fix.
OK dann muss ich mir sein  t/04_call_with_rtp.t  Beispiel mal genau ansehen.
Zum besseren Verständnis, kannst du mal genauer erklären was du so im Detail vor hast und vor allem soll der Rufaufbau von FHEM  ausgehen ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

netbus

Ich möchte von Fhem (Sipclient) einen Call auf Doorbird (Sipclient) machen.
Beide befinden sich im selben LAN.

Wzut

also ich habe mir das Beispiel jetzt mal angeschaut , eigentlich sollte es machbar sein den Part noch ins Modul zu  packen.
Was mir aber noch immer unklar ist :
Was willst du Doorbird senden , Sprachnachricht oder DTMF Töne ? und warum ?
Da ich keinen Doorbird besitze ist mir ebenfalls noch unklar wie ich testen soll bzw. welche Parameter dort wie zu besetzen sind.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

netbus

genau, eine Sprachnachricht oder kurze Wartemusik.
Also jemand klingelt und fhem macht einen Call zum Doorbird, Doorbird hebt sofort ab und spielt die Musik ab.

Wzut

wäre es nicht viel einfacher dem Doorbird diese Nachricht via http POST zu senden ?
Laut Doorbird Doku lan-api :
LIVE AUDIO TRANSMIT
Transmit audio (G.711 μ-law) from your mobile device (e.g. Home Automation tablet)
to the device. Only one consumer can transmit audio (talk) at the same time. The
second consumer will be rejected.
When the request is correct, but the requesting user has no permission to view the
live stream at the moment, the request is answered with a return code 204. This
usually happens for users without "watch-always" permission when there was no ring
event in the past 5 minutes.
Please note, that the audio connection can get interrupted at any time, when the
official DoorBird App requests the stream. It has precedence over users of the LAN-
API.
Method:
POST
Required permission:
valid user, "watch always" or ring event in the past 5 minutes for the requesting user
Syntax:
http://<device-ip>/bha-api/audio-transmit.cgi
Example 1:
Singlepart audio data transmit with G.711 μ-law (authorization omitted).
POST /bha-api/audio-transmit.cgi HTTP/1.0\r\n
Content-Type: audio/basic\r\n
Content-Length: 9999999\r\n
Connection: Keep-Alive\r\n
Cache-Control: no-cache\r\n
\r\n
<AUDIO DATA>
<AUDIO DATA>
<AUDIO DATA>

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

netbus

Das funktioniert leider nicht (Herstellerseitig) obwohl in der API dokumentiert.
Daher der SIP workaround

Wzut

ja ich habe die Antwort von Sailor heute Morgen im Doorbird Fred gelesen.
IMHO sollten wir ihn mit ins Boot holen da er ja scheinbar Ahnung von Doorbird hat.
Ich habe das 04_call_with_rtp.t  in zwei Teile zerlegt und würde dir bevor ich das SIP Modul durchwürfle erst einmal ein mini Prg geben das ein Audiofile zu deinem Doorbird schickt.
Dazu benötige ich unbedingt noch Infos von dir und/oder Sailor :
a. welche IP hat dein Doorbird ?
b. welcher Port ist offen für SIP ?
c. Transport udp oder tcp ?
d. welche Domain bzw. Domainname soll  verwendet werden ? example.com
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

loescher

Hallo Wzut,

Ich hatte vor ein paar Monaten in diesem Thread eine kleine Verbesserung bzgl. "ps" vorgeschlagen.
Beim heutigen Update habe ich aber gesehen, dass du das noch nicht übernommen hast.
Gibt es dafür einen Grund?
Funktioniert es bei dir nicht?
Wenn ich noch etwas helfen kann, lass es mich bitte wissen!
Hier nochmal der Patch:

--- 96_SIP.pm.ORIG 2019-11-29 21:52:12.638690240 +0100
+++ 96_SIP.pm 2019-11-29 21:53:48.691695431 +0100
@@ -378,9 +378,7 @@
   $sub_register = sub
   {
my $expire = $ua->register(registrar => $registrar ) || return "registration failed: ".$ua->error;
-        my $cmd    = "ps -e | grep '".$hash->{parent}." '";
-        my $result = qx($cmd);
-        if  (index($result,"perl") == -1)
+ unless (kill 0, $hash->{parent})
         {
           Log3 $name,1,"$logname, can´t find my parent ".$hash->{parent}." in process list !";
           die;


LG,
Stephan.

Wzut

Zitat von: loescher am 30 November 2019, 21:31:40
Gibt es dafür einen Grund?
ja, leider : mein Alter ..... ich habe es einfach glatt vergessen :(
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

itse-jens

Zitat von: Wzut am 11 August 2019, 14:38:27
Sodle , das hat mir doch keine Ruhe gelassen .... eine kleine Änderung an der Call Funktion und schon kann man DTMF auch bei ausgehendem .
Welche Änderung hast du denn vorgenommen? Ich wäre ander Funktion intersssiert, auf einen Anruf mit Tastendruck zu reagieren.

Wzut

Das war nur quick & dirty. Ich hoffe das ich zwischen Weihnachten und Neujahr etwas Zeit finde um zum einen endlich das ps Thema vom Tisch zu bekommen
und ich werde das reagieren auf DTMF mal sauber mit aufnehmen - ggf. per Attribut   
oder : @plin hast du im Moment dafür Zeit ? Meine neue Baustelle MAX Module erfordern akuell recht viel Zeit.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

Zitat von: Wzut am 15 Dezember 2019, 19:19:16
@plin hast du im Moment dafür Zeit ? Meine neue Baustelle MAX Module erfordern akuell recht viel Zeit.
Mal schaun, bin im Vorweihnachtsstress, evtl. am Freitagvormittag ...
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

pejonp

#853
Hallo,

ich nutze seit einiger Zeit auch dieses Modul und bin zufrieden. Vielen Dank an die Entwickler.

Ich habe eine Fritzbox 7490 und eine Auerswald TFS-Universal plus.  An der Auerswald sind 2 Klingelknöpfe aktiv. Die Klingelknöpfe sind mit jeweils einer Kurzwahlnummer aus dem Telefonbuch der Fritzbox belegt. Im Fritzbox-Telefonbuch werden die Telefone (DECT, LAN-IP, Handy) der jeweiligen Kurzwahlnummer zugeordnet.

Für Klingelknopf 1 habe ich über das SIP-Modul eine Rufumleitung auf die Telefone des 2. Klingelknopfes eingerichtet. Wenn wir nicht zu Hause sind, erreicht die Post trotzdem jemanden.

Wenn wir aber zu Hause sind und an die Türsprech gehen, werden leider die anderen Telefone nicht abgeschaltet, sie klingeln bis zum Ende und es geht unter Umständen jemand ran und bekommt die Textnachricht vorgelesen.

Jetzt meine Frage:
Wie bekomme ich mit das das Gespräch von der Tür entgegengenommen wurde ?
Wie kann ich die anderen Telefone die ich über das SIP-Modul benachrichtige habe auflegen lassen ?

Ich meine schon mal hier im Forum dazu etwas gelesen zu haben, finde es aber jetzt nicht wieder.

SIP Notify für Rufweiterleitung

defmod Tur2Ruf notify sipfritz:caller_nr:.\*\*1 set sipfritz call **772 30 !Es ist jemand an der Tür



Ich wünsche allen noch ein gesundes neues Jahr.

pejonp

LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

plin

Moin,

ich habe da ein paar Fragen:



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