NEWS
IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox
-
@Stuebi doofe Frage, wo soll ich das eingeben? Wenn ich das bei mir in der Console eingebe, kommt auch nur Connected to Asterisk... wie bei -r mit 5*v ???
-
@Stuebi wir haben es in der CLI mit manager show connected versucht, dies ist ist Ausgabe. Würde sagen, ist verbunden. Wie gesagt, ioBroker und Asterisk laufen im selben Container.
-
Hallo und Guten Abend,
bin von dem Adapter begeistert.
Er lief ohne Probleme.
Benutze es für einen Anruf, wenn der Feuermelder ausgelöst hat.
Dieser wurde dann in der Küche ausgelöst! Allerdings habe ich keinen Anruf erhaltenKann mir leider nicht erklären wieso?
Die GSM-Datei wird im "tmp" Order erzeugt und kann Sie mir auf dem PC auch anhören.
Auch Interne Telefone laufen nicht :-(. Als würde der Anruf nicht raus gehen....
Wenn ich die Interne Nummer von dem "iobroker"-Telefon anrufe kommt folgende
Sprachansage : Please enter after the beep tone your passwort and press hashtag.Was kann ich noch machen ?
Hier mal der LOG aus iobroker:
asterisk.0 2020-02-23 21:11:50.920 info (29974) Start dialing asterisk.0 2020-02-23 21:11:50.919 debug (29974) Converting completed. Result: {"fileNameMP3":"/tmp/audio_1582488457881.mp3","fileNameGSM":"/tmp/audio_1582488457881.gsm","code":0,"signal":null} asterisk.0 2020-02-23 21:11:50.756 debug (29974) Start converting text message (Feueralarm im Wohnzimmer Unten) to GSM audio ‚file /tmp/audio_1582488457881 asterisk.0 2020-02-23 21:11:50.756 debug (29974) Parameter: {"callerid":"**622","telnr":"**610","text":"Feueralarm im Wohnzimmer Unten","extension":"19900808","audiofile":"/tmp/audio_1582488457881","delete":"delete"} asterisk.0 2020-02-23 21:11:50.755 debug (29974) Dial Command asterisk.0 2020-02-23 21:11:50.755 debug (29974) Message: {"callerid":"**622","telnr":"**610","text":"Feueralarm im Wohnzimmer Unten"} asterisk.0 2020-02-23 21:11:50.712 debug (29974) stateChange asterisk.0.dialout.call {"val":true,"ack":false,"ts":1582488710711,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1578164663861}
-
@Knallix said in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:
.... Habe die Lösung schon gefunden.
Das Password vom "manager" hat sich wohl auch nach dem Update vom " js-controller"
zurückgesetzt...
Allerdings gab es kein Fehler. Bei den anderen Adaptern hat er einen Fehler angezeigt z.B. beim fritzdect.0)
Ist es möglich dieses noch zu ändern , dass ein Fehler angezeigt wird. DANKE -
Bei mir kommt das und weiter passiert leider nichts:
asterisk.0 2020-02-24 09:24:12.402 info (1235) Start dialing
In der Fritzbox wird auch kein aktiver Anruf angezeigt.
-
Nochmals Danke für den tollen Adapter!
Läuft soweit prima. Jetzt geht es bei mir an das Feintuning.
Daher meine Frage:
Was muss ich wo einstellen, damit der interne Ruf nach 20 Sekunde automatisch unterbrochen wird bzw. dass es nur 20 Sekunden lang klingelt?Konstellation ist noch immer wie folgt:
Wenn die Türschelle betätigt wird sollen alle Telefone im Haus für ca. 20 Sek. klingeln.
Auf dem Display soll als Nachricht "Türklingel" erscheinen.
Anruf soll sich danach automatisch beenden.Danke
-
@Stuebi Es gibt einen relativ neuen Adapter welcher es ermöglicht über Asterix Gespräche über ein VIS-Widget zu führen.
https://github.com/iobroker-community-adapters/ioBroker.vis-sip-asterisk
Das funktioniert aber wohl nur, wenn man eine Doorbird-Klingelanlage besitzt.
Das funktioniert per SIP.
Ich habe eine Telegärtner Doorline Exlusive Klingel an meiner Fritzbox (drahtgebunden) angeschlossen.
Meine Frage wäre, ob man den Adapter so umbiegen könnte, das ich mit meiner Klingelanlage Gespräche über mein Wandtablet (ViS) führen könnte. -
@Knallochse , leider schaffe ich es momentan zeitlich nicht am Adapter viel neu zu entwickeln.
Ich hoffe 2021 sieht es wieder besser aus. -
Ich habe eine Fehlermeldung und bekomme den Adapter über mein Tinkerboard nicht ans laufen. Ich vermute es ist ein Rechteproblem. Wenn ich DIAL OUT drücke, kommt die Fehlermeldung "Extension doesn´t exist."
pi@tinkerboardmaster:~$ sudo asterisk -rvvvvvv Asterisk 13.14.1~dfsg-2+deb9u4, Copyright (C) 1999 - 2014, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 13.14.1~dfsg-2+deb9u4 currently running on tinkerboardmaster (pid = 15662) == Manager 'manager' logged on from 192.168.178.15 tinkerboardmaster*CLI> Disconnected from Asterisk server Asterisk cleanly ending (0). Executing last minute cleanups pi@tinkerboardmaster:~$ sudo nano /etc/asterisk/manager.conf pi@tinkerboardmaster:~$ sudo nano /etc/asterisk/sip.conf pi@tinkerboardmaster:~$ sudo nano /etc/asterisk/extensions.ael pi@tinkerboardmaster:~$ sudo nano /etc/asterisk/sip.conf pi@tinkerboardmaster:~$ asterisk -rvvvvvv Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
Meine Configs sehen wie folgt aus ->
manager.conf
pi@tinkerboardmaster:~$ sudo cat /etc/asterisk/manager.conf [general] ; Do not change enabled = yes ; Do not change port = 5038 ; Do not change bindaddr = 0.0.0.0 ; Do not change [manager] ; Do not change secret = Hanna080917! ; Change Manager password for ioBroker asterisk adapter permit = 192.168.178.0/255.255.255.0 ; Change to your subnet and netmask read = all ; Do not change write = all ; Do not change
sip.conf
pi@tinkerboardmaster:~$ sudo cat /etc/asterisk/sip.conf [general] ; Do not change port = 5060 ; Do not change bindaddr = 0.0.0.0 ; Do not change context = default ; Do not change subscribecontext = default ; Do not change register => 123456789: Hanna111111!@192.168.178.1/1000 ; Username, Password and IP address of Fritzbox WLAN/LAN telephone [123456789] ; Change to username of Fritzbox WLAN/LAN telephone type = friend ; Do not change username = 123456789 ; Change to username of Fritzbox WLAN/LAN telephone host = 192.168.178.1 ; Change hostname / IP address of Fritzbox secret = Hanna111111! ; Change password of Fritzbox WLAN/LAN telephone fromdomain = 192.168.178.1 ; Change hostname / IP address of Fritzbox fromuser = 123456789 ; Change username of Fritzbox WLAN/LAN telephone
extensions.ael
pi@tinkerboardmaster:~$ sudo cat /etc/asterisk/extensions.ael context default { 1000 => { Goto(ael-antwort,s,1); } } context ael-ansage { _. => { Answer(); Wait(1); Read(dtmf,${file}&beep,0,s,${repeat},1); if ("${dtmf}" != "") { SayDigits(${dtmf}); } Hangup(); } h => { if ("${del}" = "delete") { NoOp(/bin/rm ${file}.*); System(/bin/rm ${file}.*); } } } context ael-antwort { s => { Answer(); Wait(1); Set(repeat=5); Read(dtmf,/tmp//asterisk_dtmf&beep,0,s,${repeat},1); if ("${dtmf}" != "") { SayDigits(${dtmf}); } Hangup(); } _. => { Goto(ael-antwort,s,1); } }
Die Fehlermeldung im ioBroker sieht wie folgt aus ->
2020-07-24 09:35:52.578 - info: asterisk.0 (23613) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.asterisk, node: v12.18.3, js-controller: 3.1.6 2020-07-24 09:35:52.650 - info: asterisk.0 (23613) Starting Adapter asterisk.0 in version 1.0.6 with transcoder ffmpeg and language DE 2020-07-24 09:35:52.670 - info: asterisk.0 (23613) Connected to Asterisk Manager 2020-07-24 09:35:53.444 - debug: asterisk.0 (23613) Converting completed. Result: {"fileNameMP3":"/tmp/asterisk_dtmf.mp3","fileNameGSM":"/tmp/asterisk_dtmf.gsm","code":0,"signal":null} 2020-07-24 09:35:53.445 - debug: asterisk.0 (23613) Listing vor Dial In Event 2020-07-24 09:36:13.780 - debug: asterisk.0 (23613) system.adapter.admin.0: logging true 2020-07-24 09:36:19.495 - debug: asterisk.0 (23613) stateChange asterisk.0.dialout.call {"val":true,"ack":false,"ts":1595576179488,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1568967941534} 2020-07-24 09:36:19.544 - debug: asterisk.0 (23613) Message: {"callerid":"02561*********","telnr":"01*******","text":"Diest ist ein Test"} 2020-07-24 09:36:19.545 - debug: asterisk.0 (23613) Dial Command 2020-07-24 09:36:19.547 - debug: asterisk.0 (23613) Parameter: {"callerid":"0256********","telnr":"01*******","text":"Diest ist ein Test","extension":"123456789","audiofile":"/tmp/audio_1595576062326","delete":"delete"} 2020-07-24 09:36:19.548 - debug: asterisk.0 (23613) Start converting text message (Diest ist ein Test) to GSM audio ‚file /tmp/audio_1595576062326 2020-07-24 09:36:20.034 - debug: asterisk.0 (23613) Converting completed. Result: {"fileNameMP3":"/tmp/audio_1595576062326.mp3","fileNameGSM":"/tmp/audio_1595576062326.gsm","code":0,"signal":null} 2020-07-24 09:36:20.034 - info: asterisk.0 (23613) Start dialing 2020-07-24 09:36:20.040 - error: asterisk.0 (23613) Error while dialing (1). Error: {"response":"Error","actionid":"78319eac-66e3-bbd7-e21a-d9f9a960b05b","message":"Extension does not exist."}, Result: {"parameter":{"callerid":"025619596536","telnr":"017624222610","text":"Diest ist ein Test","extension":"123456789","audiofile":"/tmp/audio_1595576062326","delete":"delete"},"options":{"action":"originate","channel":"SIP/123456789/017*******610","context":"ael-ansage","exten":"01*********0","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_1595576062326","del":"delete"},"callerid":"025619******"},"guid":"78319eac-66e3-bbd7-e21a-d9f9a960b05b","result":{"response":"Error","actionid":"78319eac-66e3-bbd7-e21a-d9f9a960b05b","message":"Extension does not exist."}} 2020-07-24 09:36:20.041 - debug: asterisk.0 (23613) Calling callback function: (res, err) => { // check for error }
-
@Stuebi stehe irgendwie auf dem schlauch
Wie kann ich die Berechtigung geben15990874572595863667395592355507.jpg -
Moin,
hat schon jemand den Spaß mit FreePBX zum laufen bekommen? Problem ist ich kann ja nicht einfach in den Config-Files rumfummeln da die im Worst-Case beim nächsten mal von FreePBX doch wieder überschrieben werden
Derzeit komme ich bis zum Punkt "(15549) Start dialing" sehe aber in keinem Log etwas auf dem FreePBX / Asterisk Server.
Was natürlich auch der Fall ist: Asterisk ist in meinem Fall der SIP-Server, ich hab also keine Fritzbox oder dergleichen. Die Asterisk kommuniziert direkt mit den SIP-Servern der Telekom.Bisher habe ich in FreePBX eine Extension angelegt (hab ich für z.b. die Doorbird auch gemacht) und diese entsprechend mit den Zugangsdaten im Reiter SIP eingetragen.
Grüße
Edit: So jetzt hänge ich bei "6428) Error while dialing (1). Error: {"response":"Error","actionid":"b9f31712-8e73-c63b-d206-d7cb374b64d6","message":"Extension does not exist."}, ". Dabei existiert die Extension in Asterisk.
-
Hallo zusammen, ich würde mich selbst als Newbie auf diesem Gebiet bezeichnen, versuche mich aber erst mal selbst, indem ich das Forum studiere um Lösungen zu finden. Ich habe bei mir eine CCU3, einen seperaten Raspbi4 mit Iobroker und eine eine Doorbird Klingelanlage installiert. Auf der Suche nach einer Sprachausgabe für Systemzustände (alarm scharf oder unscharf) bin ich auf den Asterisk Adapter gestoßen und direkt als Lösung für mein Problem erkannt. Die Doorbird ist als SIP--Client auf meiner Fritzbox integriert. Ich habe nach langem Hin und Her auf der PI4 den Asterisk Server am laufen und erfolgreich mit dem IObroker verbunden. Allerdings fumtionierte es bisher nicht. Den Fehler habe ich durch die hier studierten Forenbeiträge selbst gefunden. Es liegt an dem Freigabeordner, welcher auf dem IObroker Adapter noch mit /tmp/ am Anfang der Installation bezeichnet war und erst nachfolgend durch mich auf den im Server hinterlegten Ordner geändert wurde. Leider erfolgt für diesen Ordner offensichtlich jetzt keine Freigabe. Ohne alles neu zu installieren würde ich das natürlich gerne manuell konfigurieren/freigeben. Ich habe im Internet hierzu folgende Seite gefunden:
https://www.asterisk-berlin.de/asterisk-grundlagen/asterisk-non-root.phpMeine Frage ist nun, ob ich die dort hinterlegten Befehle nutzen kann, oder ob diese nicht für diese Form des Adapters/Servers funktionieren, wie gesagt ich habe kaum Linux-Kenntnisse und wurschtle mich so durch .
Ach ja getestet habe ich die Funktion mit dem /tmp/ Ordner und es funktioniert dort alles wunderbar. Ich bedanke mich schonmal vorab für die hier geleistete Arbeit, echt Klasse.
Gruß Andi -
@andiber
Leider hat es doch nicht so geklappt. Ich hatte die Funktion zunächst zu meinem Fritzfon getestet, wo es auch geklappt hat. Ich bin irrtmlich danach davon ausgegangen, dass die Funktion auch zu der Doorbird funktionieren würde. Dem ist aber nicht so. Dort kommt derzeit noch keine Verbindung zu stande. Hat jemand einen Tipp diesbezglich? -
Hey,
ich bin eben auch nochmal über den Adapter gestolpert und habe alles eingerichtet.
Lief auch fast auf Anhieb.
Nur die laut Anleitung erstellte pjsip_fritzbox.conf hieß bei mir stattdessen sip_fritzbox.conf. Habe sie auch ohne das pj kopiert. Scheint aber les zu klappen.Jedoch habe ich eine Frage.
Ist es möglich über DTMF möglich eine Art "Gespräch" zu führen?Vereinfacht in etwa so:
Gespräch wird vom iobroker angenommen:
Wenn du das, das, oder das willst drücke 1,2 oder 3.Ich Tippe am Tastenfeld zb "2"
Iobroker antwortet am Telefon "Danke, dass du 2 gedrückt hast, ich mache jetzt was. Wenn du nochwas machen möchtest drücke auf 1.
Also im Gespräch mehrfach die DTMF Töne senden und die Ansage abändern.
-
@andiber Komando zurück, es klappt mit der Sprachausgabe an der Doorbird. Ich mußte nur in den SIP Einstellungen der Doorbird den IObroker als "Telefon" freigeben. Danach klappte es auf Anhieb. Ab jetzt kann ich dann über ein Html-Request an der Doorbird eine Aktion auslösen und bekomme akustisch ein feedback ob die Aktion erfolgreich war. Genau so wollte ich es.
-
@David-G Scheinbar sind wir die Einigen die derzeit hier unterwegs sind. Leider kann ich dazu nichts sagen, da ich kein Tastenfeld an meiner Klingelanlage habe und mich damit nicht beschäftigt habe. Ich vermute aber, dass es möglich ist, da die Tastensignale ja auch anderweitig an einer Telefonanlage empfangen und ausgewertet werden können. Also mit dem richtigen Script, sollte das gehen. Das Problem ist also eher, jemanden zu finden der dazu das richtige Script schreibt.
-
Bin mir nicht so sicher.
Wenn man angerufen wird vom iobroker legt dieser automatisch auf, wenn die ersten Eingaben erkannt wurden.
Wenn man den iobroker anruft, nimmt er den ersten Zahkenblock und setzt diesen. Auf weitere reagiert er nicht. Müsste man ja eigentlich im Datenpunkt sehen.
-
@stuebi Hallo! Auch wenn dieser Post fast zwei Jahre her ist, habe ich genau dasselbe Problem. Ich wollte diesen echt praktischen Adapter nutzen, scheitere aber am selben Fehler wie @martin
asterisk.0 2021-01-24 16:28:36.283 error (1381) Error while dialing (2). Error: {} asterisk.0 2021-01-24 16:28:36.149 debug (1381) Start converting text message (Hello) to GSM audio ‚file /tmp/audio_1611502074946 asterisk.0 2021-01-24 16:28:36.149 debug (1381) Parameter: {"callerid":"Test","telnr":"0123456789","text":"Hello","extension":"47110815","audiofile":"/tmp/audio_1611502074946","delete":"delete"} asterisk.0 2021-01-24 16:28:36.148 debug (1381) Dial Command asterisk.0 2021-01-24 16:28:36.148 debug (1381) Message: {"callerid":"Test","telnr":"0123456789","text":"Hello"} asterisk.0 2021-01-24 16:28:36.143 debug (1381) stateChange asterisk.0.dialout.call {"val":true,"ack":false,"ts":1611502116141,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1611426881947} asterisk.0 2021-01-24 16:28:34.386 debug (1381) system.adapter.admin.0: logging false asterisk.0 2021-01-24 16:28:33.965 debug (1381) stateChange asterisk.0.dialout.telnr {"val":"0123456789","ack":false,"ts":1611502113955,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1611502113955} asterisk.0 2021-01-24 16:28:23.152 error (1381) Error while Converting File: {} asterisk.0 2021-01-24 16:28:22.966 info (1381) Connected to Asterisk Manager asterisk.0 2021-01-24 16:28:22.950 info (1381) Starting Adapter asterisk.0 in version 1.0.6 with transcoder sox and language EN asterisk.0 2021-01-24 16:28:22.932 info (1381) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.asterisk, node: v12.19.0, js-controller: 3.1.6
Leider hat der Tipp mit SOX auch nichts gebracht. Das Package libsox-fmt-mp3 scheint es nicht mehr zu geben, sowohl apt als auch apk melden hier, dass das Paket nicht existiert.
Noch eine Info: Bei mir laufen sowohl iobroker als auch asterisk in eigenen Docker-Containern (Netzwerktyp MACVLAN). Das /tmp Verzeichnis habe ich bei beiden über ein Docker-Volume gemountet. Die erstellten MP3-Dateien sehe ich entsprechend in beiden Maschinen.
Hast du noch eine Idee, was das Problem sein könnte? Vielen Dank vorab. -
@majornaese Mittlerweile läuft der Adapter. Wirklich eine tolle Sache! Danke an @Stuebi.
Vielleicht noch der Hinweis, warum es bei mir nicht geklappt hat. Ich hatte versucht libsox-fmt-mp3 auf dem Asterisk-Container zu installieren. Das war natürlich falsch.
Und der zweite Fehler war, dass ich als callerid nicht nur Zahlen angegeben hatte. Das führte zu dem nicht-sprechenden Fehler "Error while dialing (2). Error {}" -
@majornaese , den Fehler hätte ich auch nicht sofort gefunden. Danke für die Lösung hier!