Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

Tomk

Hallo, ich habe nochmal eine andere Frage: bei einem speziellen Event möchte ich zwei Telefone anrufen. Es wird im log file auch zweimal ein forcecall angezeigt, es wird aber nur die zweite Nummer angerufen. Sollte hier nicht der zweite Anrufwunsch gespeichert werden und die Anrufe nacheinander abgearbeitet werden?

Wzut

ich verstehe nicht so ganz was du möchtest. Zwei Telefonummern gleichzeitig anrufen ? Das geht nicht , Tipp : Rufgruppe in der FB definieren und diese anrufen.
Zwei Nummern in einem zeitlichen Abstand ? Wenn ja bitte etwas mehr Code und verbose 5 Log posten.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Tomk

#302
Sorry, war vielleicht wirklich wenig detail in meiner Anfrage. Das Szenario ist folgendes: Einbruch Alarm wird erkannt. Darauf hin werden zwei notifys aktiv, welche zwei unterschiedliche Nummern anrufen sollen (eine Mobil und eine im Schlafzimmer (also intern)).
Ich dachte irgendwo gelesen zu haben das die Anrufe gecached werden wenn ein zweiter Anruf gestartet wird und der erste noch nicht abgeschossen ist. Wenn das nicht so ist könnte ich einfach eine Pause vor dem zweiten Anruf einbauen, oder?

Eine Rufgruppe mit externen Teilnehmern geht nicht, richtig?

Wzut

ahh jettzt ja :)
Nein das Modul hat keinen Cache , die zweite Nr. überschreibt die erste.
Was aber geht ist in der FB zwei SIP Telefone anzulegen und in FHEM auch zwei. Bsp Sip_int und Sip_ext oder halt mit einem at den zweiten Anruf verzögern.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

teitesmars

Hallo,

ich bekomme es leider nicht hin.
Ich habe SIP in FHEM wie folgt angelegt.


define RasPi_Fon SIP
attr RasPi_Fon room Wohnzimmer
attr RasPi_Fon sip_dtmf_loop once
attr RasPi_Fon sip_dtmf_send audio
attr RasPi_Fon sip_dtmf_size 2
attr RasPi_Fon sip_elbc yes
attr RasPi_Fon sip_from sip:621@fritz.box       # 621 Interne NR. laut FB
attr RasPi_Fon sip_ip 192.168.178.81             #IP FHEM bzw SIP Client
attr RasPi_Fon sip_listen none
attr RasPi_Fon sip_port 5070
attr RasPi_Fon sip_registrar 192.168.178.1      #IP der Fritzbox
attr RasPi_Fon sip_ringtime 3
attr RasPi_Fon sip_user RasPi_Fon                  # RasPi_Fon = USER auf der FB
attr RasPi_Fon verbose 5


Das Password habe ich über

set RasPi_Fon password xx_xx_xx_xx


im Eingabefeld in der Browser Oberflache festgelegt und wird mit

SIP user password successfully saved in FhemUtils/uniqueID Key SIP_RasPi_Fon_passwd

von FHEM quittiert.
Es ist Länger als 8 Zeichen und wurde von der FB-Oberflche als GUT bewertert.

Setze ich nun ein

set RasPi_Fon call **610 30

ab, erhalte ich

CallRegister: Failed with code 404


Laut https://de.wikipedia.org/wiki/SIP-Status-Codes bedeutet dieser CODE "Die Gegenstelle wurde nicht gefunden oder existiert nicht."

Bei der SIP einrichtung wollte die FB das ich auf dem Telefon einen #123456 Code eingebe bzw. das Gerät per Knopfdrück an der FB bestätigt wird. Letztere habe ich gemacht.

Was kann ich tun? Danke vor ab!

Wzut

Zitat von: teitesmars am 31 Juli 2017, 13:54:12

attr RasPi_Fon sip_from sip:621@fritz.box       # 621 Interne NR. laut FB
attr RasPi_Fon sip_user RasPi_Fon                  # RasPi_Fon = USER auf der FB

Teste mal stat der Rufnummer 621 den echten User:
attr RasPi_Fon sip_from sip:RasPi_Fon@fritz.box
und check bitte auch mal auf der Konsole ob dein FHEM Server fritz.box auch richtig auflösen kann zu  192.168.178.1 ,
wenn nein mach einen manuellen Eintrag in der Datei /etc/hosts
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

teitesmars

ZitatTeste mal stat der Rufnummer 621 den echten User:
Code: [Auswählen]

attr RasPi_Fon sip_from sip:RasPi_Fon@fritz.box

Danke DAS hat es gebracht. Aber der interesse halber was meinst du mit

Zitatcheck bitte auch mal auf der Konsole ob dein FHEM Server fritz.box auch richtig auflösen kann zu  192.168.178.1 ,

Wzut

#307
ja ja die neuen FB Firmware Versionen , müssen wir unbedingt um Wiki vermerken ich habe das in sechs Monaten auch wieder vergessen ....

Zitat von: teitesmars am 31 Juli 2017, 16:14:08
der interesse halber was meinst du
na z.B. ein simples ping fritz.box und ob dann der Name richtig in eine FB IP umgesetzt wird, ist jetzt aber wurscht da das Problem ja der from war.

Edit : Das Wiki war schon auf dem aktuellen Stand :
ZitatBasics & Allgemeines

    sip_from

    Meine SIP-Client-Info. Default ist sip:620@fritz.box für ältere Fritz!OS-Versionen. Ab 6.8 ist das Format sip:Benutzername@fritz.box.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

Zitat von: Wzut am 31 Juli 2017, 17:32:18
Edit : Das Wiki war schon auf dem aktuellen Stand :
Puh ...  ::)
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

fiedel

Hallo Teilnehmer!  ;)

Ich wollte mich mal sehr bei Allen bedanken, die das rudimentäre aber von der Idee her geniale Modul von wmeiners auf den heutigen Stand gebracht haben, der einfach keine Wünsche mehr offen lässt!
Ich habe heute mal probiert einen Anruf mit Ansage in Textform über TTS und sox abzusetzen. Was soll ich sagen: Es geht auf Anhieb, es geht schnell und es geht perfekt! Wenn man sich mal vorstellt, was bei diesem - mit dem Modul jetzt total einfach zu realisierenden -  Vorgang alles im Hintergrund passiert. 1. Hut ab und zwar ganz lange! Und 2. Da können andere (auch kostenpflichtige) SmartHome- Lösungen vermutlich einpacken. Für FHEM geistert mir sowieso schon lange der Slogan "All you can dream" im Kopf herum...  :)

Vielen Dank sagt
Frank
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

:) :) siehste das ist halt das schöne an FHEM , alles ein bischen wie Lego. Die Steine sind da was man daraus baut ist jedem selbst überlassen.
Allerdings steckt IMHO der wirkliche Gehirnschmalz nicht im Modul direkt sondern im Unterbau NET::SIP von Steffen Ullrich. Was mir echt gut bei diesem Projekt gefallen hat war das letztendlich einfache Zusammenspiel mit Text2Speech, was aber auch nur möglich war weil Tobias quasi auf Zuruf umgesetzt hat was gebraucht wurde.
Und hätte plin nicht so mühevolle Basistests gemacht gäbe es das Modul in der heutigen Form nicht, ganz zu schweigen von seinem tollen Wiki. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

sweetie-pie

Hallo,

ich habe heute eine wenig mit dem Modul getestet. Leider ohne Erfolg.

2017.08.22 23:00:35 4: SIP_fhem_neu, Listen new PID : 7745
2017.08.22 23:00:35 4: SIP_fhem_neu[7745], my parent is 24685
2017.08.22 23:00:35 4: SIP_fhem_neu[7745], using random port 44767
2017.08.22 23:00:35 2: SIP_fhem_neu[7745], cannot open port 44767 at 192.168.2.110: Cannot assign requested address
2017.08.22 23:00:35 5: SIP_fhem_neu, ListenDone -> SIP_fhem_neu|ListenRegister: can't open port 44767 or 44777 at 192.168.2.110: Cannot assign requested address
2017.08.22 23:00:35 3: SIP_fhem_neu, listen error -> ListenRegister: can't open port 44767 or 44777 at 192.168.2.110: Cannot assign requested address
2017.08.22 23:00:35 4: SIP_fhem_neu, Listen new PID : 7746
2017.08.22 23:00:35 4: SIP_fhem_neu[7746], my parent is 24685
2017.08.22 23:00:35 4: SIP_fhem_neu[7746], using random port 44702
2017.08.22 23:00:35 2: SIP_fhem_neu[7746], cannot open port 44702 at 192.168.2.110: Cannot assign requested address
2017.08.22 23:00:35 5: SIP_fhem_neu, ListenDone -> SIP_fhem_neu|ListenRegister: can't open port 44702 or 44712 at 192.168.2.110: Cannot assign requested address
2017.08.22 23:00:35 3: SIP_fhem_neu, listen error -> ListenRegister: can't open port 44702 or 44712 at 192.168.2.110: Cannot assign requested address


Die Einstellungen habe ich wie im WIKI gemacht. 192.168.2.110 ist meine Box. Fhem läuft in einem Docker-Container, folglich geNATed.

Kann dies das Problem sein?

Gruß
  sweetie-pie

Wzut

#312
Den Fall hatte ich zwar noch nicht aber ich würde sagen  : ja
Wenn 192.168.2.110 die IP ist unter der FHEM von "aussen" erreichbar ist. Trage doch mal im Attribut für die eigene IP sip_ip die echte IP ein, also das was man überlicherweise unter ifconfig auf der Konsole zu sehen bekommt.
Gibt es dann bei einem Docker Image ausser dem Nating noch Firewall Regeln ?
Wenn ja wirst dich unter sip_sip Port für einen festen  wie z.B. 5060 entscheiden müssen und die Freigaberegeln für diesen und seinen Bruder 5070 auch anpassen.

Edit : gerade gefunden , was sagt denn
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

sbiermann

@Jürgen, ja ich habe den Vortrag letztens Karlsruhe gehalten.

Macht hier das SIP Modul einen eigenen Port auf? Wenn ja muss dieser beim starten des Containers exposed werden, sonst ist der nur lokal innerhalb des Containers verfügbar aber nicht von außen erreichbar.

Wenn man nun in dem Modul den Port 5060 und 5070 eintragen kann als feste Ports und die IP des Wirtrechners (z.B. 192.168.2.110) dann sollte der FHEM Container zusätzlich zu den Webports noch -p 5060:5060 -p 5070:5070 als Startparameter bekommen um die Ports zu exposen.

Was normalerweise gehen sollte ich das ein Docker Container nach außen in die freie Welt funken darf. Sprich die FritzBox sollte erreichbar sein. Aber auch hier kann es Ausnahmen geben.

sweetie-pie

Ich hab heute nochmal diverses probiert. War wohl eine Gemengelage aus mindestens zwei Problemen:

Eines davon konnte ich wie folgt lösen:
Mit dem letzten Update hat AVM die Passwortanforderungen geändert. Ich hatte schon die Passwörter entsprechend angepasst, aber die Fritzbox hat sie nicht richtig übernommen, auch nicht nach einem Neustart.
Die Lösung hierfür war: Alle IP-Telefone löschen, Fritzbox neu starten, Accounts wieder anlegen. Dann habe ich die neuen Accounts mit CSipSimple überprüft.

Als nächsten Test hatte ich nochmal den Vorgänger FB_SIP eingrichtet. Die Anmeldung klappt ohne Probleme, auch aus dem Docker-Container heraus. Portweiterleitungen habe ich dafür nicht extra angelegt...

Nach den ganzen Konfig Versuchen von gestern, habe ich das neue SIP-Device nochmal gelöscht und neu definiert:

defmod SIP_fhem_neu SIP
attr SIP_fhem_neu sip_dtmf_loop once
attr SIP_fhem_neu sip_dtmf_send audio
attr SIP_fhem_neu sip_dtmf_size 2
attr SIP_fhem_neu sip_elbc yes
attr SIP_fhem_neu sip_from sip:625@192.168.2.110
attr SIP_fhem_neu sip_ip 172.17.0.3
attr SIP_fhem_neu sip_listen wfp
attr SIP_fhem_neu sip_registrar 192.168.2.110
attr SIP_fhem_neu sip_ringtime 3
attr SIP_fhem_neu sip_user iptelefon6

setstate SIP_fhem_neu error
setstate SIP_fhem_neu 2017-08-23 22:57:03 last_error ListenRegister: Failed with error 110
setstate SIP_fhem_neu 2017-08-23 22:57:03 state error


Die IP der Dockermaschine ist geNATed, sie lautet:root@automation-nuc:~# docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 41d4c569db12
172.17.0.3


Die Fehlermeldung ist nun eine andere. Braucht das Modul denn zwingend eine Portweiterleitung? Die Verbindung wird doch von innen nach außen aufgebaut. Ich kein VoiP Spezi, was passiert denn bei einem LISTEN?

2017.08.23 23:07:22 4: SIP_fhem_neu, Listen new PID : 13982
2017.08.23 23:07:22 4: SIP_fhem_neu[13982], my parent is 24685
2017.08.23 23:07:22 4: SIP_fhem_neu[13982], using random port 44864
2017.08.23 23:07:22 5: SIP_fhem_neu, ListenDone -> SIP_fhem_neu|ListenRegister: Failed with code 404
2017.08.23 23:07:22 3: SIP_fhem_neu, listen error -> ListenRegister: Failed with code 404


Macht der Prozess  13982 einen lokalen Port 44864 auf den sich dann die Fritzbox verbinden müsste? TCP oder UDP? Random klingt dann ja irgendwie doof. Muss ich also attr sip_port fest setzen und dann den Portforward in den Container machen? Wofür/Was passiert da?

Gruß
   sweetie-pie