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 @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
                                    • S
                                      schmid_no1 last edited by

                                      @Stuebi stehe irgendwie auf dem schlauch
                                      Wie kann ich die Berechtigung geben15990874572595863667395592355507.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Hexcode last edited by Hexcode

                                        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.

                                        S 1 Reply Last reply Reply Quote 0
                                        • A
                                          andiber last edited by

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

                                          Meine 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

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            andiber @andiber last edited by

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

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            44
                                            202
                                            30952
                                            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