Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

Scheduled Pinned Locked Moved JavaScript
209 Posts 47 Posters 41.4k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • StuebiS Offline
    StuebiS Offline
    Stuebi
    wrote on last edited by Stuebi
    #1

    Hallo,

    vielleicht hat jemand daran Interesse. Bei bestimmten Events z.b. wenn die Alarmanlage ausgelöst wurde, soll mich ioBroker auf dem Handy anrufen und eine Sprachnachricht vorspielen.

    Was wird dafür benötigt. Eine Fritzbox oder irgendeinen VoIP Anbieter und Asterisk (https://www.asterisk.org). Asterisk gibt es für Linux und ich glaube aber auch für Windows.
    Falls Asterisk auf der Synology läuft, müssen ie UDP Ports 5038,5060 und die UDP Ports 7078 bis 7079 exposed im Container werden. Das ist etwas aufwändiger

    Nun auf der Fritzbox anmelden und unter Telefon -> Telefoniegeräte ein neues LAN/WLAN Telefon konfigurieren. In meinem Beispiel habe ich ein Telefon angelegt mit dem Namen ioBroker. Der Username lautet 12345689 und das Password mypassword. Die Fritzbox ist unter der IP Adresse 192.168.1.1 erreichbar. Weiterhin sollen Anrufe über die Rufnummer 03047114711 entgegengenommen werden (optional) und getätigt werden.

    Zusammenfassung:

    Beschreibung Wert
    IP Adresse ioBroker und Asterisk Server 192.168.1.2
    Asterisk Port (manager.conf) 5038
    IP Adresse FritzBox (SIP Server) 192.168.1.1
    Eigene Rufnummer 03047114711
    Username Manager manager
    Passwort Manager password1
    FritzBox Benutzername (Telefoniegeräte -> Anmeldedaten) 123456789
    FritzBox Kennwort (Telefoniegeräte -> Anmeldedaten) mypassword

    Konfiguration Fritzbox:
    4352_fritzbox1.png
    4352_fritzbox2.png

    Nun folgende Pakte auf dem ioBroker/Asterisk Server installieren:

    sudo apt-get install lame
    sudo apt-get install sox
    sudo apt-get install libsox-fmt-mp3
    sudo apt-get install ffmpeg
    sudo apt-get install asterisk
    

    Asterisk Adapter in ioBroker installieren und folgende Einstellungen vornehmen und umbedingt die Checkbox "Create Asterisk config files (once)" anklicken.
    Die Einstellungen auf dem Asterisk Settings Tab sind für die Verbindung vom ioBroker zum Asterisk Server notwendig. Die haben noch nichts mit der Verbindung zur Fritzbox zu tun!

    iobroker_main.png

    Jetzt auf den Tab SIP Settings wechseln. Hier werden nun die Einstellungen vorgenommen, dass Asterisk (bzw. ioBroker über Asterisk) mit der Fritzbox kommunizieren kann.

    iobroker_fritzbox_pjsip.png

    Auf dem SSH Tab ist nichts auszufüllen. Dieses ist nur notwendig wenn ioBroker und Asterisk auf unterschiedlichen Servern läuft. Das sollte man aber nur tun, wenn man gute Linux Kenntnisse hat da die Konfiguration komplizierter ist.
    Nicht vergessen auf dem "Asterisk Settings" Tab "Create Asterisk config files (once)" anzuklicken. Nun Konfiguration speichern und den Adapter starten. Es werden jetzt mehrere Konfigurationsfiles im den Verzeichnis /tmp/ erstellt. Diese umbennen, in das Verzeichnis /etc/asterisk verschieben.
    Unter Umständen sind noch die Dateiberechtigungen der kopierten Dateien anzupassen.

    sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
    sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
    sudo mv /tmp/pjsip_fritzbox.conf /etc/asterisk/pjsip.conf
    sudo mv /tmp/rtp.conf /etc/asterisk/rtp.conf
    sudo rm /tmp/pjsip*.conf
    
    # Example if userrights of files have owner asterisk and group asterisk
    sudo chown asterisk:asterisk  /etc/asterisk/extensions.ael
    sudo chown asterisk:asterisk /etc/asterisk/manager.conf
    sudo chown asterisk:asterisk /etc/asterisk/pjsip.conf
    sudo chown asterisk:asterisk /etc/asterisk/rtp.conf
    

    So jetzt Asterisk neu starten. Dieses geschieht z.b. über /etc/init.d/asterisk restart

    Wenn alles geklappt hat, kann man jetzt Anrufe über ioBroker tätigen.
    Das geht z.B. wie folgt (Anruf der Nummer 04047114711 und es wird "Huhu ein Test" angesagt)

    iobroker-dialout.png

    Alternativ kann man auch über Javascript Anrufe durchführen:

    var number   = "040 666-7766";
    var callerid = '040 123 999'; // optional, if not set anonymous call
    var msg      = "Hello, this textmessage will be converted to audio"; 
    
    // call telephone nummber 040 666-7766 and play text message as audio
    sendTo('asterisk.0', "dial", { telnr: number, callerid: callerid, text:  msg},  (res) => {
          console.log('Result: ' + JSON.stringify(res));
    });  
    

    Mehr Infos über den Adapter und Installation findet ihr hier: https://github.com/schmupu/ioBroker.asterisk. Auch wie ihr die Konfigurationsdateien manuell erstellt.

    ioBroker auf Synology DS216+II im Docker Container

    FriedhofsblondF 1 Reply Last reply
    5
    • L Offline
      L Offline
      LJSven
      wrote on last edited by
      #2

      Mega nice! Würde mich über einen Adapter freuen!

      1 Reply Last reply
      0
      • StuebiS Offline
        StuebiS Offline
        Stuebi
        wrote on last edited by
        #3

        @LJSven:

        Mega nice! Würde mich über einen Adapter freuen! `

        Die erste Beta Version ist fertig und kann gerne getestet werden. Muss über die GitHub Katze unter Adapter installiert werden. Dafür folgenden Link eintragen https://github.com/schmupu/ioBroker.asterisk.

        Textnachricht kann man wie folgt als Audio per VoIP an irgendeine Telefonnummer verschicken:

        var number  = "040 666-7766";
        var msg     = "Hello, this textmessage will be converted to audio"; 
        
        sendTo('asterisk.0', "dial", {
            telnr: number, 
            text:  msg}, 
            (res) => {
                console.log('Sent to ' + res + ' users');
        });       
        
        

        ioBroker auf Synology DS216+II im Docker Container

        1 Reply Last reply
        0
        • ThisoftT Offline
          ThisoftT Offline
          Thisoft
          wrote on last edited by
          #4

          HAllo,

          das klingt ja phantastisch! Genau damit wollte ich mich schon lange mal beschäftigen. Jetzt muss ich nur noch etwas Zeit finden um das Ganze zu installieren.

          Ich sag schon mal Danke

          22 HM-Geräte; PivCCU2 auf RasPi

          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

          1 Reply Last reply
          0
          • L Offline
            L Offline
            LJSven
            wrote on last edited by
            #5

            Das heißt ich muss nur den Adapter installieren, alles andere passiert von allein? Ich meine die anderen Verknüpfungen etc.

            Gesendet von iPhone mit Tapatalk

            1 Reply Last reply
            0
            • StuebiS Offline
              StuebiS Offline
              Stuebi
              wrote on last edited by
              #6

              @LJSven:

              Das heißt ich muss nur den Adapter installieren, alles andere passiert von allein? Ich meine die anderen Verknüpfungen etc.

              Gesendet von iPhone mit Tapatalk `

              Leider nein. Du musst einmal Asterisk und ffmpeg mit apt-get install asterisk ffmpeg installieren und anschließend 3 Konfigurationsdateien kopieren und 2 davon anpassen. Sollte aber hoffentlich nicht so schwer sein. Wenn du das geschafft hast, dann kannst Du mit dem Adapter ganz einfach Texte als Sprachnachrichten verschicken.

              Eine genaue Anleitung findest Du hier: https://github.com/schmupu/ioBroker.asterisk

              var number  = "040 666-7766";
              var msg     = "Hello, this text message will be converted to audio"; 
              
              // call telephone number 040 666-7766 and play text message as audio
              sendTo('asterisk.0', "dial", { telnr: number, text:  msg},  (res) => {
                    console.log('Result: ' + JSON.stringify(res));
              });  
              
              

              ioBroker auf Synology DS216+II im Docker Container

              1 Reply Last reply
              0
              • D Offline
                D Offline
                DeepCore
                wrote on last edited by
                #7

                Wow, mega!

                So etwas wollte ich auch schon länger mal versuchen. Danke fürs zeigen!

                Jetzt bin ich etwas "traurig", dass ich aktuell Job-mässig viel zu viel um die Ohren habe, um mit ioBroker und Asterisk spielen zu können … 😢

                1 Reply Last reply
                0
                • StuebiS Offline
                  StuebiS Offline
                  Stuebi
                  wrote on last edited by
                  #8

                  @DeepCore:

                  Wow, mega!

                  So etwas wollte ich auch schon länger mal versuchen. Danke fürs zeigen!

                  Jetzt bin ich etwas "traurig", dass ich aktuell Job-mässig viel zu viel um die Ohren habe, um mit ioBroker und Asterisk spielen zu können … 😢 `

                  Danke!!! läuft ja nicht weg 😉

                  ioBroker auf Synology DS216+II im Docker Container

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    Kai102
                    wrote on last edited by
                    #9

                    Hallo,

                    das ist genau die Funktion, die ich suche, hauptsächlich als Alarmanlage. Kurze SMS oder Push Nachrichten überliest man ja dann doch mal, so dass ein Anruf schon besser wäre.

                    Da ich aber noch absoluter Newbie bin, habe ich an einer Stelle dazu mal eine Frage.

                    Und zwar der Schritt :

                    "Now you have to edit the follwoing asterisk configuration files. Delete the old staff in this 3 files! Do not change the user authority of the files.

                    /etc/asterisk/manager.conf"….

                    Wie genau macht man das ?

                    Ich habe Iobroker auf dem Raspberry und die Befehle ( sudo apt-get install ffmpeg

                    sudo apt-get install asterisk ) auch schon ausgeführt, aber wo / wie editiere und kopiere ich diese Datein ?

                    1 Reply Last reply
                    0
                    • StuebiS Offline
                      StuebiS Offline
                      Stuebi
                      wrote on last edited by
                      #10

                      @Kai102:

                      Hallo,

                      das ist genau die Funktion, die ich suche, hauptsächlich als Alarmanlage. Kurze SMS oder Push Nachrichten überliest man ja dann doch mal, so dass ein Anruf schon besser wäre.

                      Da ich aber noch absoluter Newbie bin, habe ich an einer Stelle dazu mal eine Frage.

                      Und zwar der Schritt :

                      "Now you have to edit the follwoing asterisk configuration files. Delete the old staff in this 3 files! Do not change the user authority of the files.

                      /etc/asterisk/manager.conf"….

                      Wie genau macht man das ?

                      Ich habe Iobroker auf dem Raspberry und die Befehle ( sudo apt-get install ffmpeg

                      sudo apt-get install asterisk ) auch schon ausgeführt, aber wo / wie editiere und kopiere ich diese Datein ? `

                      okay, wenn Du Dich mit Linux auskennst, kannst Du z.B. den Editor vi (apt-get install vim) installieren und dann man mit vi /etc/asterisk/manager.conf editieren. Dann kopierst Du dort den Inhalt der Konfiguration aus der README dort rein.

                      Ich werde aber gleich noch einmal die Configfiles hier mit anhängen. Dann musst Du diese nur anpassen und in das Verzeichnis /etc/asterisk ohne Endung .txt kopieren.

                      4352_sip.conf.txt
                      4352_manager.conf.txt
                      4352_extensions.ael.txt

                      ioBroker auf Synology DS216+II im Docker Container

                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        Kai102
                        wrote on last edited by
                        #11

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

                        1 Reply Last reply
                        0
                        • StuebiS Offline
                          StuebiS Offline
                          Stuebi
                          wrote on last edited by
                          #12

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

                          ioBroker auf Synology DS216+II im Docker Container

                          1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            Kai102
                            wrote on last edited by
                            #13

                            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
                            0
                            • K Offline
                              K Offline
                              Kai102
                              wrote on last edited by
                              #14

                              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
                              0
                              • StuebiS Offline
                                StuebiS Offline
                                Stuebi
                                wrote on last edited by
                                #15

                                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

                                ioBroker auf Synology DS216+II im Docker Container

                                1 Reply Last reply
                                0
                                • K Offline
                                  K Offline
                                  Kai102
                                  wrote on last edited by
                                  #16

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

                                  1 Reply Last reply
                                  0
                                  • StuebiS Offline
                                    StuebiS Offline
                                    Stuebi
                                    wrote on last edited by
                                    #17

                                    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

                                    ioBroker auf Synology DS216+II im Docker Container

                                    1 Reply Last reply
                                    0
                                    • K Offline
                                      K Offline
                                      Kai102
                                      wrote on last edited by
                                      #18

                                      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
                                      0
                                      • StuebiS Offline
                                        StuebiS Offline
                                        Stuebi
                                        wrote on last edited by
                                        #19

                                        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

                                        ioBroker auf Synology DS216+II im Docker Container

                                        1 Reply Last reply
                                        0
                                        • K Offline
                                          K Offline
                                          Kai102
                                          wrote on last edited by
                                          #20

                                          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
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          261

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe