Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stuebi
      Stuebi @sergey67 last edited by

      @sergey67 , das sollte eigentlich möglich sein. Aber das musst Du eine eigene extensions.ael und sip.conf bzw. pjsip.conf erstellen. Einfache einmal googlen.

      sergey67 1 Reply Last reply Reply Quote 0
      • sergey67
        sergey67 @Stuebi last edited by

        @Stuebi
        Vielen Dank! Ich werde versuchen, es herauszufinden.

        Stuebi 1 Reply Last reply Reply Quote 0
        • Stuebi
          Stuebi @sergey67 last edited by

          @sergey67 , aus dem Stegreif weiss ich das leider auch nicht 😞

          1 Reply Last reply Reply Quote 0
          • T
            trottellumme last edited by

            Guten Morgen und ein frohes Neues!
            Ich habe nach der Anleitung erfolgreich den Adapter zum Laufen gebracht (Anruf der hinterlegten Telefonnummer und Ansage des Textes funktioniert). ioBroker und der Asterisk-Server sind auf der selben Maschine (Notebook), also auch die selbe IP Adresse. Mit dem Eintrag in der manager.conf hatte ich so mein Problemchen (permit=subnet/mask). Da bei mir alle IP von 192.168.178.1 bis .255 in 255.255.255.0 sind, ist der Eintrag 192.168.178.0/255.255.255.0 wohl passend.
            Jetzt wollte ich das beim Nachbarn auch einrichten, im ioBroker Log kommt aber immer "could not connect to asterisk manager try to connect in 30 seconds again". Beim Ihm läuft ioBroker und Asterisk im selben Docker-Container auf einer Synology. Die Syno und der Container/Docker haben unterschiedliche IP, sind aber alle im selben Subnetz, würde ich sagen.
            Welche IP muss denn im Adapter in ioBroker bei IP des Asterisk-Servers eingetragen werden? Oder woran könnte es noch liegen. Wir haben die Dateien wie in der Anleitung beschrieben im Ordner /etc/asterisk/. Danke schon mal für Eure Ideen.

            Stuebi 1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi @trottellumme last edited by

              @trottellumme , also wenn ioBroker und Asterisk im gleichen Docker Container laufen sollte die Verbindung zum Asterisk Manager unproblematisch sein. Schwieriger wird die Verbindung zur Fritzbox. Da muss man unter Umständen die RTP Ports alle freigeben.
              Läuft der ioBroker Container im Host, Bridge oder MACVLAN Modus? Das kann man auf der Synology in den Docker Einstellungen sehen. Wurde Asterisk auch gestartet. Dafür am einfachsten im ioBroker Docker Container über die Synology anmelden und asterisk -rvvvvv ausführen. Funktioniert das? Du kannst auch ein ps -ef | grep asterisk im ioBroker Container ausführen.

              T 1 Reply Last reply Reply Quote 0
              • T
                trottellumme last edited by

                @Stuebi , vielen Dank. Asterisk war wohl nicht gestartet. Wir dachten, wenn der Container aus und wieder eingeschaltet wird, dann reicht das. Jedenfalls klappte ein Testanruf dann. Aber: Der Nachbar hat zwei Container im Docker parallel, einen zum Testen und einen "Finalen". Wenn eine neue Installation im Test-Container läuft, wird der ausgeschaltet und im finalen wird installiert. Da ging es dann wieder nicht :-(. Zurück zum Testcontainer, da ging es auch nicht mehr :-(. Ein Drama... Wir haben dann im finalen Container sowohl den Asterisk als auch den Adapter im ioBroker deinstalliert/ gelöscht und neu installiert. Klappte nicht, es kam dann irgendetwas mit chan-sip ... registration ... timed out ... try again in 30 seconds. Auch die Fritzbox stromlos, neues Telefon in der Fritzbox und die Einträge qualify=yes und qualifyfreq=600 klappte nicht. Jetzt konnte sich ioB nicht am Asterisk anmelden. Da müssen wir nochmal ran, weiß nur noch nicht so recht wie.
                Für mich nur mal zum Verständnis:

                1. Verbindung ioBroker-Asterisk: wird im Adapter mit IP, Port, Benutzer "manager" und Kennwort eingestellt und diese Daten müssen mit denen in der manager.conf übereinstimmen. Dann würde man über sudo asterisk -rvvvvv hoffentlich die Verbindung zum Asterik-Server erkennen.
                2. Verbindung Asterisk-Fritzbox: Der Anmeldename und das Kennwort aus dem Telefoniegerät in der FB sowie das Subnetz und die Netzmaske in der sip.conf müssen stimmen, dann kann sich Asterisk an der FB registrieren (könnte man in der CLI mit show register... oder so erkennen)

                Etwas viel Text, aber habe ich das so richtig verstanden? Wünsche einen sonnigen Freitag :-).

                1 Reply Last reply Reply Quote 0
                • T
                  trottellumme @Stuebi last edited by

                  @Stuebi im Testcontaier läuft es nun, im echten leider nicht. Wir haben die vier Dateien verglichen, die Portfreigabe geprüft, Rechte der Dateien sind identisch. ioBroker und Asterisk sind verbunden, denke ich. Aber Asterisk kann sich nicht an der Fritzbox registrieren. Wo würdest Du am ehesten den Fehler vermuten? Das ist die Fehlermeldung aus der CLI:
                  Bild.png

                  Vielen Dank.

                  Stuebi 1 Reply Last reply Reply Quote 0
                  • Stuebi
                    Stuebi @trottellumme last edited by

                    @trottellumme sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:
                    Die Fritzbox ist der IP 192.168.1.1? Und kannst Du die 192.168.1.1 aus dem Asterisk Container mit ping erreichen?

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      trottellumme @Stuebi last edited by

                      @Stuebi Ja, die Fritzbox ist die 192.168.1.1 und ich denke, sie ist aus dem Asterisk Container per Ping erreichbar, oder?
                      2C4A4705-C18E-4DA8-AB96-85CBA3CA3B3D.jpeg

                      Stuebi 1 Reply Last reply Reply Quote 0
                      • Stuebi
                        Stuebi @trottellumme last edited by

                        @trottellumme , ja das sieht gut aus! jetzt musst du den Fehler eingrenzen. Siehst Du folgendes wenn Du asterisk -rvvvvaufrufst:

                         == Manager 'manager' logged on from 192.168.20.91
                        

                        Dann steht schon einmal die Verbindung zwischen ioBroker und Asterisk. Die IP 192.168.20.91 in dem Beispiel oben muss natürlich die von ioBroker sein.

                        Schau Dir mal folgende Seite https://www.ip-phone-forum.de/threads/fritzbox-und-asterisk-registration-timed-out.257765/ an. Da sind ein paar Tipps bei dem Fehler. Da musst Du ein wenig experimentieren.

                        T 3 Replies Last reply Reply Quote 0
                        • T
                          trottellumme @Stuebi last edited by

                          @Stuebi , danke erstmal und wir werden berichten. Mich wundert halt nur, dass es in dem einem Container geht und im anderen nicht 😞 Wir werden mal experimentieren, wobei die Einträge in der sip.conf für uns "böhmische Dörfer" sind. Naja, so schnell geben wir nicht auf.

                          1 Reply Last reply Reply Quote 0
                          • T
                            trottellumme @Stuebi last edited by

                            @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 ???

                            1 Reply Last reply Reply Quote 0
                            • T
                              trottellumme @Stuebi last edited by

                              @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.
                              Foto1.png

                              1 Reply Last reply Reply Quote 0
                              • K
                                Knallix last edited by

                                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 erhalten 😞

                                Kann 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}
                                
                                K 1 Reply Last reply Reply Quote 1
                                • K
                                  Knallix @Knallix last edited by

                                  @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 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    martin last edited by

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • Rupert
                                      Rupert last edited by Rupert

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • Knallochse
                                        Knallochse last edited by

                                        @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.

                                        Stuebi 1 Reply Last reply Reply Quote 0
                                        • Stuebi
                                          Stuebi @Knallochse last edited by

                                          @Knallochse , leider schaffe ich es momentan zeitlich nicht am Adapter viel neu zu entwickeln.
                                          Ich hoffe 2021 sieht es wieder besser aus.

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            LJSven last edited by LJSven

                                            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
                                            }
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            644
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            44
                                            202
                                            30991
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo