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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

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

      @Kai102:

      wow, das ging schnell… Das ich mich in Linux auskenne ist etwas .... zu viel gesagt...

      Aber ich werde es mal testen...

      den Editor installiere ich direkt beim Raspberry und nicht in der Iobroker Oberfläche, oder ? ( ich weiß, peinliche Frage).... `

      es gibt keine peinlichen Fragen. Den vi musst Du über Linux installieren. Mein Kollege sagt gerade, installiere den Editor nano (apt-get instlall nano) unter Linux. Der ist viel einfacher zu bedienen.

      https://jankarres.de/2015/03/debian-editor-nano-kompakt-erklaert/

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

        So, das werde ich mal testen, allerdings dauert es etwas, der kleine pi hat sich gerade komplett verabschiedet. Den muss ich erst mal neu aufsetzen…

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

          hm, dachte, das nano einfacher wäre ( oder ich das zumindest verstehen würde… ) Leider wohl nicht.

          Habe als root den Befehl nano / /etc/asterisk/manager.conf

          eingegeben.. Da kam das :

          ; Asterisk Call Management support

          ;

          ; By default asterisk will listen on localhost only.

          [general]

          enabled = yes

          port = 5038

          bindaddr = 127.0.0.1

          ; No access is allowed by default.

          ; To set a password, create a file in /etc/asterisk/manager.d

          ; use creative permission games to allow other serivces to create their own

          ; files

          #include "manager.d/*.conf"

          nano /etc/

          hier weiß ich nun nicht weiter… 😞

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

            Das ist die Standard Konfiguration die bei der Installation angelegt wird. Den Inhalt der Datei durch den Inhalt der jeweiligen Konfiguration in der README ersetzen.

            Hilft das weiter?

            Gesendet von iPhone mit Tapatalk

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

              Sorry, nicht wirklich… Ich stehe da echt auf dem Schlauch...

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

                okay, wenn Du asterisk über apt-get install asterisk installierst, werden im Verzeichnis /etc/asterisk/ Konfigurationsdateien angelegt. Darunter sind auch sip.conf, manager.conf und extensions.ael (die kann vielleicht fehlen). Nun musst die "Standardkonfiguration" aus den 3 Dateien mit dem Inhalt aus der https://github.com/schmupu/ioBroker.asterisk/blob/master/README.md ersetzen.

                Ein Beispiel, in der /etc/asterisk/manager.conf löscht Du den kompletten Inhalt so dass diese leer ist und trägst dann folgendes ein:

                [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 = managerpassword				; Change Manager password for ioBroker asterisk adapter
                permit = 192.168.1.0/255.255.255.0  			; Change to your subnet and netmask
                read = all						; Do not change
                write = all						; Do not change
                
                

                Alternativ kannst Du auch die /etc/asterisk/manager.conf löschen und mit dem Inhalt von oben neu anlegen. Da musst Du aber aufpassen, dass die Berechtigungen und der/die Benutzer/Gruppe der Datei gleich bleiben. Wenn Du den Inhalt von oben in die manager.conf eingetragen hast, musst Du noch die individuellen Anpassungen vornehmen, d.h. bei secret = und permit =

                Das machst Du dann für die sip.conf und extensions.ael genauso. Anschließens startest Du Asterisk nochmals z.B. /etc/init.de/asterisk restart

                Jetzt klarer?

                VG

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

                  Ich habe den Nano aufgerufen im entsprechenden Verzeichnis,

                  habe dann einfach das "leere" Blatt entsprechend gefüllt, mit X beendet, dann kommt die Frage, ob ich speichern will und unter welchen Datei Namen. da habe ich dann einfach z.b: manager.conf angegeben, da kam der Hinweis : gibt es schon und ich konnte es überschreiben. Soweit glaube ich ist alles drin.

                  Asterisk musste ich in iObroker noch mal installieren, dann habe ich meine Werte eingetragen, Asterisk ist grün, aber :

                  Im Log steht : cannot connect to asterisk…

                  ?

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

                    Wenn musst Du mir die ganze Fehlermeldung schicken, sonnst kann ich Dir nicht sagen wo der Fehler ist.

                    Hast Du die 3 Dateien /etc/asterisk/manager.conf, /etc/asterisk/sip.conf und /etc/asterisk/extensions.ael angepaßt, d.h alles gelöscht mit dem Teil aus der README ersetzt? Hast Du auch die Stellen in der Konfiguration angepaßt, die ich im Kommentar gekennzeichnet habe? Die müssen mit Deiner Friztbox Konfiguration übereinstimmen. Und zu aller Letzt musst Du in der Asterisk Instanz Administration auch noch die passenden Werte hinterlegen.

                    Asterisk muss Du nach der Konfiguration neu starten /etc/init.d/astersik restart oder asterisk -vvvv aufrufen und reload eingeben.

                    führe mal folgende nacheinander Befehle aus

                    cat /etc/asterisk/manager.conf

                    cat /etc/asterisk/sip.conf

                    cat /etc/asterisk/extensions.ael

                    Und schicke mir den jeweiligen Output! (Passwort entfernen!!!!) und ein Screenshot von der Asterisk Instanz Administration.

                    VG

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

                      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 = XXXXXX ; Change Manager password for ioBroker asterisk adapter

                      permit = 192.168.0.1/255.255.255.0 255 ; Change to your subnet and netmask

                      read = all ; Do not change

                      write = all ; Do not change

                      –-----------

                      hier sehe ich schon ein Fehler bei permit ( 192.168.0.1/255.255.255.0 255

                      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 => XXXXXXX:XXXXXXX@192.168.0.1/1000 ; Username, Password and IP address of Fritzbox WLAN/LAN telephone

                      [XXXXXXXXXX] ; Change to username of Fritzbox WLAN/LAN telephone

                      type = friend ; Do not change

                      username = XXXXXXX ; Change to username of Fritzbox WLAN/LAN telephone

                      host = 192.168.ß.1 ; Change hostname / IP address of Fritzbox

                      secret = XXXXXXXX ; Change password of Fritzbox WLAN/LAN telephone

                      fromdomain = 192.168.0.1 ; Change hostname / IP address of Fritzbox

                      fromuser =XXXXXXX ; Change username of Fritzbox WLAN/LAN telephone

                      –--------

                      oh man, das ß ist der zweiter Fehler....

                      extensions.ael :

                      context default {

                      1000 => {

                      Goto(ael-antwort,10,1);

                      }

                      }

                      context ael-ansage {

                      10 => {

                      Answer();

                      Wait(1);

                      Read(dtmf,${file}&beep,0,s,${repeat},1);

                      if ("${dtmf}" != "") {

                      SayDigits(${dtmf});

                      }

                      Hangup();

                      }

                      }

                      context ael-antwort {

                      10 => {

                      Answer();

                      Wait(1);

                      Set(repeat=5);

                      Read(dtmf,/tmp/asterisk_dtmf&beep,0,s,${repeat},1);

                      if ("${dtmf}" != "") {

                      SayDigits(${dtmf});

                      }

                      Hangup();

                      }

                      }

                      –---

                      und hier der Screenshot
                      17246_screenasterisk.jpg

                      So, habe doch schon alles geändert, brachte aber nichts, im Log steht trotzdem cannot start asterisk….

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

                        Okay, wenn Du die Dateien korrigiert hast, schreibe mir bitte eine PN nochmals mit den 3 Config Files + Screenshot + Admin Config. Bitte alles mit Benutzernamen und IP Adressen, nur das Passwort entfernen.

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

                          Fehler gefunden, es lag wirklich an den Rechten…

                          nun läuft es , Danke !!!

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

                            Hi,

                            ich bin auf den Adapter gestoßen, welchen ich auch direkt eingerichtet habe. Nun möchte ich primär keine Ansagen haben, sondern einfach nur einen ausgehenden Call. Hintergrund ist der, dass ich per GSM meine Alarmanlage steuern kann, indem ich z.B. +49176123456,,1234,,1,## anrufe.zum scharf schalten etc.

                            Wie kann ich den Adapter nur für das Wählen von Nummern benutzen, ohne dass ich eine Ansage dabei habe?

                            Vielen Dank & Gruß

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

                              Das müsste gehen, habe es aber noch nicht getestet. Versuche mal folgendes.

                              in der /etc/extensions.ael fügst Du die Exten 20 bei ael-ansage ein:

                              context default {
                                	1000 => {
                                      Goto(ael-antwort,10,1);
                                	}
                              }
                              
                              context ael-ansage {
                              	10 => {
                                             Answer();
                                      	Wait(1);
                              		Read(dtmf,${file}&beep,0,s,${repeat},1);
                              		if ("${dtmf}"  != "") {
                              			SayDigits(${dtmf});
                              		}
                              		Hangup();
                                      }
                              
                                      20 => {
                                      	Wait(1);
                                      	SendDTMF(${dtmf});
                                      }
                              }
                              
                              context ael-antwort {
                              	10  => {
                              		Answer();
                              		Wait(1);
                              		Set(repeat=5);
                              		Read(dtmf,/tmp/asterisk_dtmf&beep,0,s,${repeat},1);
                              		if ("${dtmf}"  != "") {
                              			SayDigits(${dtmf});
                              		}
                                  		Hangup();
                              	}
                              }
                              
                              

                              Und in Asterisk rufst Du dann den Context wie folgt auf (123456789 mit Benutzername in sip.conf und die Telefonnummer ersetzen):

                              let options = {
                                              'action': 'originate',
                                              'channel': 'SIP/123456789/0176123456',
                                              'context': 'ael-ansage',
                                              'exten': 20,
                                              'priority': 1,
                                              'variable': {
                                                  'dtmf': 'ww1234ww1w##'
                                              }
                                          };
                              
                              sendTo('asterisk.0', 'action', options, (res) => {
                                  console.log('Result ' + JSON.stringify(res));
                              });  
                              
                              

                              Dann einmal asterisk neu starten oder in unter asterisk -rvvvvv den Befehl ael reload ausführen.

                              Bin mir aber nicht sicher ob es mit dem Codec funktioniert. Da musst Du vielleicht ein wenig spielen.

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

                                Hallo zusammen,

                                da ich das selbe Problem habe wie Kai102, hänge ich mich mal an dieses Thema an.

                                Ich habe gefühlt alles versuch, weiß aber nicht woran es liegen könnte.

                                Beim Start des Adapters bekomme ich im Log den Fehler "Cound not connect to Asterisk Manager".

                                Weil ich mir nicht sicher war, habe ich mehrere Möglichkeiten versucht.

                                Besonders "unsicher" bin ich mir bei folgenden Einstellungen:

                                Ich habe unter Manager bei der Fritzbox "manager" stehen lassen, ich habe es aber auch mit dem Nutzernamen des Telefons, welches ich angelegt habe, versucht. Ohne Erfolgt.

                                In der sip.conf ist die Zeile

                                register => 12345678:XXXXXX@192.168.178.1/1000 ; Username, Password and IP address of Fritzbox WLAN/LAN telephone

                                zu editieren.

                                Die "/1000" habe ich so übernommen - oder muss das durch irgendetwas anderes ersetzt werden?

                                Meine Screenshots sind mit denen von Kai102 vergleichbar.

                                cat /etc/asterisk/manager.conf

                                ! ````

                                ;
                                ; Asterisk Call Management support
                                ;

                                ! ; By default asterisk will listen on localhost only.
                                [general]
                                enabled = yes
                                port = 5038
                                bindaddr = 127.0.0.1
                                ! [manager] ; Do not change
                                secret = XXXXXXXX ; 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
                                ! ````

                                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 => 12345678:XXXXXX@192.168.178.1/1000 ; Username, Password and IP address of Fritzbox WLAN/LAN telephone ! [12345678] ; Change to username of Fritzbox WLAN/LAN telephone type = friend ; Do not change username = 12345678 ; Change to username of Fritzbox WLAN/LAN telephone host = 192.168.178.1 ; Change hostname / IP address of Fritzbox secret = XXXXXXX ; Change password of Fritzbox WLAN/LAN telephone fromdomain = 192.168.178.1 ; Change hostname / IP address of Fritzbox fromuser = 12345678 ; Change username of Fritzbox WLAN/LAN telephone !

                                Mir fehlen leider noch absolut die erforderlichen Kenntnisse im Umgang mit Linux, um alles zu verstehen. Ich stehe da leider noch sehr am Anfang.

                                Daher bedanke ich mich schon einmal im Voraus für die Hilfe 🙂

                                Grüße,

                                TemPeck

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

                                  Auf dem ersten Blick, hast du nicht die Konfiguration aus der README übernommen. Zum Beispiel bind ist anders als in der manager.conf .

                                  Punkt 1 verstehe ich nicht.

                                  Also was ist zu tun! Bitte übernehme 1 zu 1 die Konfiguration aus der Readme. Wähle die SIP und nicht PJSIP Variante. Ersetzte vollständig den Inhalt der Konfiguration manager.conf, sip.conf, extensions.ael mit der aus der Konfiguration.

                                  Aufpassen die Unix Berchtigungen auf Dateiebene müssen gleich bleiben! Z.b sip.conf gehört dem Unix User asterisk ( https://linuxwiki.org/DateiRechte )

                                  https://github.com/schmupu/ioBroker.ast … /README.md

                                  manager.conf

                                  Nur Passwort und Subnetz anpassen. Sonst nichts. Die hat nichts mit der Fritzbox zu tun!

                                  sip.conf

                                  Richte auf der Fritzbox ein LAN/WLAN Telefon ein. Der Benutzername in der Frizzbox für dieses Telefon darf nur aus Zahlen bestehen. Zum Beispiel 123456789

                                  Nun musst du nur noch in der sip.conf 123456789 durch deinen Benutzernamen ersetzen. Dann noch Passwort (passend zum Benutzernamen), Subnetz und IP Adresse der Frizbox anpassen. Das war's. Nicht mehr ändern!!

                                  extensions.ael

                                  Keine Anpassungen vornehmen.

                                  Wenn das alles nicht hilft, schicke mir alle deine 3 config Files und Screenshots vom Fritzbox Wlan/LAN Telefon und ioBroker Asterisk admin per PN

                                  Bitte IP Adressen so lassen. Nur Passwort schwärzen

                                  Gesendet von iPhone mit Tapatalk

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

                                    Hallo 🙂

                                    Mit der Änderung von bind hat es geklappt.

                                    Ich kann dir gar nicht sagen, wo ich die anderen Werte herauskopiert habe :?

                                    Danke für den Support :!:

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

                                      So, jetzt kommt der nächste Linux-Idiot.
                                      Habe alles laut Anleitung gemacht und iobroker Log sagt "Cound not connect to Asterisk Manager"
                                      Kann mir jemand erklären wie ich den Inhalt der Dateien per nano kopieren und einfügen kann? Ich denke da hat sich irgendwo ein Fehler eingeschlichen den ich nicht finde.

                                      Stuebi B 2 Replies Last reply Reply Quote 0
                                      • Stuebi
                                        Stuebi @martin last edited by

                                        @martin said in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                                        So, jetzt kommt der nächste Linux-Idiot.
                                        Habe alles laut Anleitung gemacht und iobroker Log sagt "Cound not connect to Asterisk Manager"
                                        Kann mir jemand erklären wie ich den Inhalt der Dateien per nano kopieren und einfügen kann? Ich denke da hat sich irgendwo ein Fehler eingeschlichen den ich nicht finde.

                                        ich kenne mich leider mit "nano" nicht aus. Ich benutze den vi Editor.
                                        Hast Du die manager.conf mit der aus der readme auf Github ersetzt?
                                        Du kannst mir gerne Deine Asterisk Konfigurationsdateien (Passwort schwärzen) und die Asterisk ioBroker Admin Konfiguration als Scrennshot als PN schicken.

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bb61 @martin last edited by bb61

                                          @martin
                                          ging mir genauso, hatte bis gestern abend auch keine Ahnung, wie ich hier im Editor alles markiere / lösche / einfüge, weil die üblichen (Windows-)copy&paste-Griffe nicht funktionierten.

                                          Andererseits hatte ich böse Erinnerung an "Vi" bzgl. kryptischer Befehle und Zeilenorientiertheit aus meinen Anfängen vor einigen Jahrzehnten. (klar, weil nie genutzt/trainiert damit umzugehen). Da kommt mir "nano" doch etwas plausibler daher, auch wenn ich den hier jetzt das erste mal sah. Man ist eben aus (kundenbedingter) jahrzehntelanger ausschließlicher Windows-Arbeit doch erheblich vorbelastet und kommt sich plötzlich vor wie ein Säugling.

                                          Also, nach Frage an Tante G hat mir folgendes geholfen:
                                          Markiermodus anstellen: ALT + M + A (Alt gedrückt halten, dann nacheinander M bzw. A), das ermöglicht dann entweder per Maus oder (bei gedrückter Strg/Ctrl) per Cursortaste Text zu markieren.

                                          Um das Markieren dann seitenweise (z.B. über 1300 sip.conf-Zeilen) zu machen: Ctrl+V für PgDn (ich glaube Ctrl+Y für PgUp). Auch wenns nicht sichtbar wird, weil Cursor ganz oben steht: geh mal ne Zeile hoch, dann blätterts auf die davorliegende Seite und da ist die Markierung dann sichtbar. Auch wenn's sich komisch anfühlt, mit der millionenfach genutzten "Einfüge-Taste"=Crtl+V nun plötzlich zu blättern: dat is hier offenbar so.

                                          Ein "alles markieren" (wie sonst: Ctrl+A) habe ich nicht gefunden, bzw. dann auch nicht mehr gesucht.

                                          Aber das war noch nicht alles: Wie löscht man das Markierte nun? Ausschneiden (sonst: Ctrl+X) ist ja hier "verlassen" ...und alles markierte verlieren!

                                          Alles markierte Löschen: Ctrl+K. Steht übrigens auch unten im Fuß vom Nano.

                                          Danach vorsichtshalber die leere Datei sichern (Ctrl+O)

                                          Einfügen ging bei mir nur per Maus-Rechtsklick auf der Cursor-Position.

                                          Ich hoffe, das hilft anderen Newbies wie uns erstmal weiter.

                                          Achja: Alle Buchstaben-Kommandos waren bei mir Case-insensitiv, also Ctr+O = Ctrl+o usw.

                                          Gruß von der Küste!

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

                                            Danke für deine Hilfe.
                                            Mit stuebis Hilfe habe ich jetzt den Adapter zum laufen gebraucht.

                                            Jetzt weiß ich nur nicht wie ich das in einem Script einstellen kann, dass er eine bestimmte Nummer anwählt und einen bestimmten Text erzählt.
                                            Habe auch den Telegram-Adapter laufen, da gibt es in Blockly einen extra Block wo man das alles einstellen und eingeben kann.

                                            B Stuebi 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            791
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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