FHEM > Sonstiges

Modul 96_SIP

<< < (239/239)

plin:

--- Zitat von: tremichl am 13 November 2021, 12:08:38 ---Im Prinzip wäre ja im Modul schon alles dafür notwendige vorhanden wie z.B. DTMF-Auswertung und Ruf-Auslösung. Wäre diese Funktion mit vertretbarem Aufwand machbar? Die Konstellation Fritz-Box, FHEM, Türklingel/Türöffner ist sicher öfter gegeben.

--- Ende Zitat ---
Ja, so hat alles angefangen. Aber dann stelle ich mir die Frage wie der Prozess aussehen soll? Kannst Du den mal beschreiben.

tremichl:
Hallo Peter!

Das wäre der Wunsch:

für Türklingel: Modul baut einen Anruf auf (zB über ein notify) löscht DTMF Reading, wartet auf Rufannahme und beendet diesen nach einer vorgegeben Zeit wenn Ruf nicht angenommen wird (das funktioniert ja schon)

für Türöffner: Nach Rufannahme der Gegenstelle wartet Modul eine vorgegebene Zeit auf z.B. 2 bis 4 DTMF Signale, dekodiert diese und befüllt ein DTMF Reading und trennt danach die Verbindung.

Im Grunde "Anruf tätigen und DTMF-Töne empfangen". Das wäre eine elegante Möglichkeit AVM DECT Telefone nicht nur als verlängerte Türklingel, sondern auch für den Türöffner benutzen zu können.

LG, Michael

plin:

--- Zitat von: tremichl am 13 November 2021, 17:14:55 ---Hallo Peter!

Das wäre der Wunsch:

für Türklingel: Modul baut einen Anruf auf (zB über ein notify) löscht DTMF Reading, wartet auf Rufannahme und beendet diesen nach einer vorgegeben Zeit wenn Ruf nicht angenommen wird (das funktioniert ja schon)

für Türöffner: Nach Rufannahme der Gegenstelle wartet Modul eine vorgegebene Zeit auf z.B. 2 bis 4 DTMF Signale, dekodiert diese und befüllt ein DTMF Reading und trennt danach die Verbindung.

Im Grunde "Anruf tätigen und DTMF-Töne empfangen". Das wäre eine elegante Möglichkeit AVM DECT Telefone nicht nur als verlängerte Türklingel, sondern auch für den Türöffner benutzen zu können.

LG, Michael

--- Ende Zitat ---

mmhh, jetzt hast Du beschrieben was Du haben möchtest, aber nicht wie der Gesamtablauf aussehen soll und wie das zugehörige Umfeld aussieht.

Wenn ich das richtig sehe möchtest Du

* jemand klingelt an der Tür
* Welche Hardware nutzt Du hier? Eine Doorline?
* die Fritzbox leitet den Anruf von **11 an Telefone weiter (nur das SIP-Modul oder auch andere interne Telefone?)
* Was macht das SIP-Modul jetzt wenn's klingelt?
* dann soll das SIP-Modul jemanden anrufen (intern oder extern?)
* der Angerufene tippt den DTMF-Code für das Öffnen des Türschließers ein
* Ist der Türöffner an die Klingel angeschlossen oder ein separates Teil?
* die Tür öffnet sich für den Menschen vor der TürIst das der gedachte Ablauf???

VG Peter

tremichl:
ja, ich habe der Einfachheit halber nur beschrieben was das SIP Modul machen soll. Hier der gesamte Vorgang:


* jemand klingelt an der Tür (ein Taster an einem RPI GPIO)
* ein notify löst einen Anruf über das SIP Modul (eingebunden in der Fritzbox als Türsprechanlage) aus (set FHEM_SIP call 11 13), DECT Telefone läuten und zeigen ein Bild der Haustür-CAM (Dahua) an, Sonos Lautsprecher geben über speak ein Klingeln aus, ein CAM-Snapshot wird gemacht und per E-Mail verschickt und an einem Tablet öffnet sich für 30 Sekunden ein Fenster mit dem Bild der Haustür-CAM
* am DECT Telefon gibt es eine Taste "ÖFFNEN" diese nimmt den Anruf an und sendet eine Sequenz DTMF Töne (konfigurierbar in der Fritzbox/Türsprechanlage)
* das SIP-Modul soll die DTMF Töne auswerten und in ein Reading schreiben.
* ein notify nützt diese Reading um einen Türöffner (hängt an einem RPI GPIO) zu betätigen
* die Tür öffnet sich
Die letzten 3 Punkte fehlen mir noch. An Hardware gibt es an der Tür einen Klingeltaster, einen magnetischen Türöffner, und eine IP-CAM. Bisher war eine analoge Türsprechstelle dran, die ich auf diesem Weg teilweise ersetzen möchte. Auf eine Sprechverbindung wird verzichtet.

Danke

LG, Michael


hansdepp:

--- Zitat von: hansdepp am 04 Mai 2021, 22:33:52 ---Ich hab ein Problem, das mich jetzt schon länger beschäftigt. Trotz intensiver Suche bin ich noch nicht dahinter gekommen, was das Problem ist.
Es passiert sporadisch, dass bei einem Anruf, den das Modul tätigt, der Status in einem "timeout" endet, obwohl der Anruf korrekt angenommen wurde. Das hat zur Folge, dass der Anruf nach der eingestellten Zeit wiederholt wird.
Und nicht entgegengenomme Anrufe enden korrekterweiße mit dem Status "no answer"

--- Ende Zitat ---


--- Zitat von: plin am 07 Mai 2021, 20:38:32 ---@wzut: Eine Alternative wäre

--- Code: ---use Net::SIP::Debug '50';
use Net::SIP::Debug qw( Net::SIP*=50 Registrar=1 );

--- Ende Code ---
Wenn wir denn das was im Log steht verstehen  ;D

--- Ende Zitat ---

So wie es aussieht, scheint das Rätsel gelöst zu sein. Schuld war die Firewall bzw. derjenige der sie konfiguriert hat (also ich :-[ )
Als ich mir das Log-File (danke für den Tip) etwas näher angeschaut habe und die verwendeten Ports und Protokolle gesehen habe, dämmerte es mir.

FHEM läuft bei mir in einer VM unter Proxmox und SIP wird nur für ausgehende Anrufe verwendet. In den Firewallregeln habe ich den Zugriff auf das Notwendige beschränkt. Leider hatte ich nicht an die SIP-Geschichte gedacht. Gemeinerweise hat es ja grundsätzlich auch funktioniert, nur eben nicht immer. Das war anscheinend abhängig davon, wie schnell der Anruf angenommen wurde, wie sich jetzt im Nachhinein herausgestellt hat. Der Verbindungsaufbau läuft nämlich per UDP. Wenn es zu lange dauert, bis das Telefonat angenommen wird, dann "vergisst" die Firewall die Verbindung und das eingehende UDP Paket, welches die Anrufannahme signalisieren sollte, kam nicht mehr durch. Das ist zumindest meine Interpretation, zumal UDP ja eigentlich ein verbindungsloses Protokoll ist. Bei meinen Testanrufen hat es immer funktioniert, weil ich da das Telefonat natürlich ohne große Wartezeit angenommen hatte.
Seitdem ich in der Firewall jetzt grundsätzlich alles freigegeben habe, was als Absender die Fritzbox hat, funktioniert es seitdem ohne einen einzigen Timeout.

Also nochmal Danke für eure Hilfe und an die Entwickler für dieses Modul! Und natürlich frohe Weihnachten!

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln