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 @martin last edited by

      @martin , werde ich in der nächsten Version bei Textnachrichten berücksichtigen.
      Wird eine Audiodatei statt Text vorgegeben, bleibt die Datei bestehen.

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

        Hallo!

        Ich habe eben ein Update von 1.0.1. auf 1.0.6 gemacht, seitdem funktionieren die Anrufe nicht mehr und es gibt folgenden Fehler im Log:


        2019-03-27 17:50:05.059 - info: asterisk.0 Start dialing
        2019-03-27 17:50:05.064 - error: asterisk.0 Error while dialing (1). Error: {"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}, Result: {"parameter":{"telnr":"+XXXXX","callerid":"+XXXXXX","text":"Einbruchalarm","extension":"XXXXX","audiofile":"/tmp/audio_10953344","delete":"delete"},"options":{"action":"originate","channel":"SIP/XXXX/XXXXX","context":"ael-ansage","exten":"XXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_10953344","del":"delete"},"callerid":"XXXX"},"guid":"7505cffe-eea8-eee4-5289-b60c7711e803","result":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}}
        2019-03-27 17:50:05.066 - info: javascript.0 script.js.Sicherheit.Kamera.test_asterisk: Result: {"result":{"parameter":{"telnr":"+XXXXX","callerid":"+XXXXX","text":"Einbruchalarm","extension":"XXXX","audiofile":"/tmp/audio_10953344","delete":"delete"},"options":{"action":"originate","channel":"SIP/XXXX/XXXXX","context":"ael-ansage","exten":"XXXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_10953344","del":"delete"},"callerid":"XXXXXX"},"guid":"7505cffe-eea8-eee4-5289-b60c7711e803","result":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}},"error":{"response":"Error","actionid":"7505cffe-eea8-eee4-5289-b60c7711e803","message":"Extension does not exist."}}

        Meine Nummern hab ich im Log natürlich gerade durch XXXXX ersetzt.

        Da ich unter Proxmox arbeite habe ich vorher ein Snapshot erstellt und hab den Zustand wiederhergestellt. Unter 1.0.1 läuft es nun wieder.

        Nun meine Frage: Was hätte ich im Skript oder sonst wo anpassen müssen?
        Aus dem Log werde ich leider nicht schlau...

        Das Script, was gestartet wurde, sieht wie folgt aus:

        var number   = "HANDYNUMMER";
        var callerid = 'FESTNETZNUMMER'; // optional, if not set anonymous call
        var msg      = "Einbruchalarm"; 
        
        // 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));
        });  
        
        Stuebi 1 Reply Last reply Reply Quote 0
        • Stuebi
          Stuebi @TemPeck last edited by Stuebi

          @TemPeck, Dein Skript ist okay. die Konfiguration hat sich seit 1.0.1 sher geändert. Hintergrund, Bugfixing, einfachere Konfiguration und neue Anforderungen.
          Am einfachsten ist es, Du installierst die Version 1.0.6 und füllst nochmals nach der Anleitung https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/SIP_FRITZBOX.md die Felder in der Asterisk Konfiguration aus. Anschließend "Asterisk Konfiguration erstellen (einmalig)" anklicken und speichern/schließen. Nun werden die Asterisk Konfigurationsfiles im Verzeichnis /tmp/ abgelegt. Diese wie folgt kopieren:

          sudo mv /tmp/extensions.ael /etc/asterisk/extensions.ael
          sudo mv /tmp/manager.conf /etc/asterisk/manager.conf
          sudo mv /tmp/sip_fritzbox.conf /etc/asterisk/sip.conf
          sudo mv /tmp/rtp.conf /etc/asterisk/rtp.conf
          

          Jetzt Asterisk (sudo /etc/init.d/asterisk restart) und die ioBroker Asterisk Instanz neu starten!

          Alternativ kannst Du auch wie hier beschrieben vorgehen: https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/PJSIP_FRITZBOX.md . Bitte dann die /etc/asterisk/sip.conf löschen, da jetzt die pjsip.conf genutzt wird.

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

            @Stuebi Wunderbar, danke für den Support, es läuft nun alles in der neuesten Version.

            Für mich einer der wichtigsten Adapter, da ich jederzeit "alarmiert" werden kann. Top und vielen Dank für die Arbeit an diesem Adapter!!

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

              Gibt es die Möglichkeit auf DTMF zu reagieren?

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

                @Bluefox sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                Gibt es die Möglichkeit auf DTMF zu reagieren?

                Ja das geht. Man kann zum Beispiel Asterisk anrufen und Und den dann DTMF in iobroker auswerten.
                Es geht auch umgekehrt, ioBroker ruft dich über Asterix an und der Angerufene gibt dann ein DTMF Code ein

                guss
                stübi

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

                  @TemPeck sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                  @Stuebi Wunderbar, danke für den Support, es läuft nun alles in der neuesten Version.

                  Für mich einer der wichtigsten Adapter, da ich jederzeit "alarmiert" werden kann. Top und vielen Dank für die Arbeit an diesem Adapter!!

                  Super, danke das freut mich

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

                    Ich muss mich hier noch mal reinhängen, ursprünglich war ich Kai102, aber irgendwie hat es mich bei der Forumsumstellung zerschossen. Habe nun zum Herbst wieder mal angefangen mich mit Asterisk zu beschäftigten und hänge ziemlich an dem "Standardproblem"Cound not connect to Asterisk Manager! T. Die drei Dateien sind entsprechend angepasst, mir ist aber aufgefallen, dass ich nach dem Befehl asterisk -rvvvvv die Fehlermeldung bekomme :
                    Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?). Stimmt, bzw. stimmt nicht, asterisk.ctl gibt es, die ist aber leer..... Jemand ein Tip ?

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

                      @Kai103 sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                      und hänge ziemlich an dem

                      ja, das klingt so, als ob asterisk nicht läuft. Hast Du es auch gestartet? Unter Linux geht das z.B. mit

                      sudo /etc/init.d/asterisk stop
                      sudo /etc/init.d/asterisk start 
                      

                      prüfe vorher mit

                      ps -ef | grep asterisk
                       
                      

                      ob asterisk läuft. Wenn das der Fall ist, dann sollte auch asterisk -rvvvvv
                      funktionieren.

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

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

                        ps -ef | grep asterisk

                        da bekomme ich

                        asterisk  2821     1 99 17:18 ?        00:00:19 /usr/sbin/asterisk -g -f -U asterisk
                        root      2924  2592  0 17:19 pts/1    00:00:00 grep asterisk
                        

                        muss aber zugeben, dass mir das nix sagt...
                        nach dem Startbefehl sah alles gut aus

                        root@ioBroker-RasPi:/etc/asterisk# /etc/init.d/asterisk restart
                        [ ok ] Restarting asterisk (via systemctl): asterisk.service.
                        

                        asterisk -rvvvvv ergibt

                        root@ioBroker-RasPi:/etc/asterisk# ps -ef | grep asterisk
                        asterisk  2821     1 99 17:18 ?        00:00:19 /usr/sbin/asterisk -g -f -U asterisk
                        root      2924  2592  0 17:19 pts/1    00:00:00 grep asterisk
                        root@ioBroker-RasPi:/etc/asterisk#  asterisk -rvvvvv
                        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 ioBroker-RasPi (pid = 2821)
                        ioBroker-RasPi*CLI> 
                        

                        und trotzdem bekomme ich, nach dem ich im Iobroker Asterisk gestartet habe das hier im LOG angezeigt :
                        asterisk.0 2019-10-13 17:22:49.587 error Cound not connect to Asterisk Manager! Try to connect in 30 seconds again!
                        asterisk.0 2019-10-13 17:22:44.393 info Starting Adapter asterisk.0 in version 1.0.6 with transcoder ffmpeg and language DE
                        asterisk.0 2019-10-13 17:22:44.318 info starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.asterisk, node: v8.15.0
                        asterisk.0 2019-10-13 17:22:44.233 info States connected to redis: 127.0.0.1:6379

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

                          @Kai103 , jetzt läuft schon einmal asterisk. Du sieht unter asterisk -rvvvv ob sich ioBroker connected oder nicht. Wenn das nicht der Fall ist, stimmt etwas an Deiner Konfiguration nicht. Ich nehme an, dass Du die IP Adressen vertauscht hast unter "IP / Hostname des Asterisk-Servers". Dort muss die vom Asterisk Server stehen oder Du hast die erzeugten Konfigurationsdateien von ioBroker aus dem /tmp/ Verzeichnis nicht in /etc/asterisk kopiert oder es stimmen nicht die Berechtigungen der kopierten Dateien.
                          Falls Du die Konfigruationsdateien in /etc/asterisk anpasst, musst asterisk neu starten oder die Konfiguration neu lesen.

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

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

                            Ich nehme an, dass Du die IP Adressen vertauscht hast unter "IP / Hostname des Asterisk-Servers"

                            AUTSCH.... ich sage mal nix, aber ich hatte da gedacht , dass da auch die von der Fritz.box rein muss.... Geändert auf die IP vom PI und schon läuft, zumindest kommt die Verbindung zustande und ich kann einen Call ausgeben. Der Text wird aber "noch" nicht vorgelesen ?

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

                              @Kai103 , wenn das mit dem Anruf funktioniert und es bei Dir klingelt ist schon einmal super.
                              Steht irgendetwas im ioBroker Logfile? Ick könnte mir vorstellen, dass entweder ein falsches Verzeichnis unter "Path for temporary audio files. Must be accessible and authorized for Asterisk and ioBroker" steht. Versuche es z.B. mit /tmp/ . Auf das Verzeichnis sollte ioBroker und asterisk zugreifen können. Dann kann ich mir noch vorstellen, dass kein DNS Service auf Deinem RPI installiert ist und google translate nicht gefunden wird. Um das auszuschließen, versuche auf der Kommandozeile einmal folgendes einzugeben:

                              nslookup translate.googleapis.com
                              # oder folgendes
                              ping translate.googleapis.com
                              

                              Was passiert?

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

                                Log vom Iobroker ist jetzt da (habe aber eben auch erst die ausgehende Nummer angegeben, die er zwar nicht übernimmt, aber das ist erst mal so was von Egal...)
                                *2019-10-13 17:55:00.354 - error: asterisk.0 Error while dialing (1). Error: {"response":"Error","actionid":"5b498833-0a07-5170-aef9-5203a0ebc80b","message":"Originate failed"}, Result: {"parameter":{"callerid":"045242XXXXXX","telnr":"0176XXXXXXX","text":"Testansage"extension":"24XXXXXX","audiofile":"/tmp/audio_1570981947749","delete":"delete"},"options":{"action":"originate","channel":"SIP/24XXXXX/0176XXXXXXX","context":"ael-ansage","exten":"01765XXXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_1570981947749","del":"delete"},"callerid":"0452XXXXXXXX"},"guid":"5b498833-0a07-5170-aef9-5203a0ebc80b","result":{"response":"Error","actionid":"5b498833-0a07-5170-aef9-5203a0ebc80b","message":"Originate failed"}}
                                *
                                tmp Verzeichnis scheint zu gehen, hier mal der Inhalt :

                                asterisk_dtmf.gsm
                                audio_1570965683966.gsm
                                audio_1570980870624.gsm
                                audio_1570980895399.gsm
                                audio_1570981857561.gsm
                                audio_1570981862292.gsm
                                audio_1570981903327.gsm
                                audio_1570981947749.gsm
                                extensions.ael
                                manager.conf
                                npm-1744-b847243b
                                rtp.conf
                                sip_fritzbox.conf
                                systemd-private-f88aeb7dfaff441e8c80f60c295e2eac-redis-server.service-wPY7MK
                                systemd-private-f88aeb7dfaff441e8c80f60c295e2eac-systemd-timesyncd.service-tWRw10
                                
                                

                                Der Pingbefehl geht, der erste wird nicht erkannt...
                                PS: Danke schon mal 👍

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

                                  @Kai103 sagte in IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox:

                                  Originate failed

                                  jetzt musst Du suchen, im ioBroker Logfile und unter asterisk -rvvvv schauen. Das ist nicht ganz so einfach den Fehler einzugrenzen. Ich schätze irgendetwas stimmt mit Deiner Konfiguration nicht.

                                  Du kannst gerne einmal alle Konfigurationsfiles (/etc/asterisk/sip.conf , /etc/asterisk/extensions.ael, /etc/asterisk/manager.conf, ... ) und Screenshots von der ioBroker Asterisk Konfiguration schicken.
                                  Bitte alle Passwörter entfernen bzw. nachdem verschicken ändern. Du kannst mir diese auch gerne an thorsten@stueben.de direkt schicken.

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

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

                                    asterisk -rvvvv

                                    hm... jetzt zwei mal einen Anruf gemacht, keine Fehler . im Asterisk -rvvvv erscheint

                                    Using SIP RTP CoS mark 5
                                       -- Called 24......../01765XXXXXXXX
                                          > 0x73f07880 -- Strict RTP learning after remote address set to: 192.168.0.1:7078
                                       -- SIP/24.......-00000001 is making progress
                                       -- SIP/24........-00000001 answered
                                       -- Executing [0176XXXXXXXXX@ael-ansage:1] Answer("SIP/24......-00000001", "") in new stack
                                       -- Executing [0176XXXXXXX@ael-ansage:2] Wait("SIP/24.........-00000001", "1") in new stack
                                       -- Executing [0176XXXXXXX@ael-ansage:3] Read("SIP/24........-00000001", "dtmf,/tmp/audio_1570985582279&beep,0,s,5,1") in new stack
                                       -- <SIP/24..........-00000001> Playing '/tmp/audio_1570985582279.gsm' (language 'en')
                                       -- <SIP/24...........-00000001> Playing 'beep.gsm' (language 'en')
                                       -- User entered nothing, 4 chances left
                                       -- <SIP/24...........-00000001> Playing '/tmp/audio_1570985582279.gsm' (language 'en')
                                       -- <SIP/24.............-00000001> Playing 'beep.gsm' (language 'en')
                                       -- User entered nothing, 3 chances left
                                       -- <SIP/24.........-00000001> Playing '/tmp/audio_1570985582279.gsm' (language 'en')
                                       -- <SIP/24...........-00000001> Playing 'beep.gsm' (language 'en')
                                       -- User entered nothing, 2 chances left
                                       -- <SIP/24..........-00000001> Playing '/tmp/audio_1570985582279.gsm' (language 'en')
                                       -- <SIP/24...........-00000001> Playing 'beep.gsm' (language 'en')
                                       -- User entered nothing, 1 chance left
                                       -- <SIP/24...........-00000001> Playing '/tmp/audio_1570985582279.gsm' (language 'en')
                                       -- <SIP/24.........-00000001> Playing 'beep.gsm' (language 'en')
                                       -- User entered nothing.
                                       -- Executing [0176xxxxxxxx@ael-ansage:4] GotoIf("SIP/24.......-00000001", "0?5:6") in new stack
                                       -- Goto (ael-ansage,0176xxxxxxx,6)
                                       -- Executing [0176xxxxxxx@ael-ansage:6] NoOp("SIP/24...........-00000001", "Finish if_ael-ansage_1") in new stack
                                       -- Executing [0176xxxxxxxxx@ael-ansage:7] Hangup("SIP/24..........-00000001", "") in new stack
                                     == Spawn extension (ael-ansage, 0176xxxxxxxx, 7) exited non-zero on 'SIP/24........-00000001'
                                       -- Executing [h@ael-ansage:1] GotoIf("SIP/24.........-00000001", "1?2:4") in new stack
                                       -- Goto (ael-ansage,h,2)
                                       -- Executing [h@ael-ansage:2] NoOp("SIP/2...........-00000001", "/bin/rm /tmp/audio_1570985582279.*") in new stack
                                       -- Executing [h@ael-ansage:3] System("SIP/24..........-00000001", "/bin/rm /tmp/audio_1570985582279.*") in new stack
                                       -- Executing [h@ael-ansage:4] NoOp("SIP/24...........-00000001", "Finish if_ael-ansage_2") in new stack
                                       -- Executing [h@ael-ansage:5] SayDigits("SIP/24........-00000001", "") in new stack
                                       -- Executing [h@ael-ansage:6] NoOp("SIP/24.......-00000001", "Finish if_ael-ansage_1") in new stack
                                       -- Executing [h@ael-ansage:7] Hangup("SIP/24........-00000001", "") in new stack
                                     == Spawn extension (ael-ansage, h, 7) exited non-zero on 'SIP/24.......-00000001'
                                    

                                    gefühlt sehe ich da keinen Fehler, aber auf was wartet das Programm ?

                                    User entered nothing, 1 chance left
                                    

                                    Und im Iobroker Log auch keine Fehler mehr :
                                    2019-10-13 18:53:24.161 - info: asterisk.0 Dialing completed. Result: {"parameter":{"callerid":"04111111111","telnr":"0176XXXXXXXX","text":"Test Test","extension":"24........","audiofile":"/tmp/audio_1570985582279","delete":"delete"},"options":{"action":"originate","channel":"SIP/24....../0176XXXXXXX","context":"ael-ansage","exten":"0176XXXXXXX","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/audio_1570985582279","del":"delete"},"callerid":"0411111111111111"},"guid":"8d8e363b-67e2-3517-d116-f8f1aa366880","result":{"response":"Success","actionid":"8d8e363b-67e2-3517-d116-f8f1aa366880","message":"Originate successfully queued"}}

                                    Wobei es schon faszinierend ist, überall ist die zu verwendende abgehende Nummer eingetragen, das wird aber ignoriert und es wird immer die Hauptfestnetznummer angezeigt.

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

                                      @Kai103 , wenn ich dich richtig verstehe, funktioniert es jetzt.
                                      Das Problem mit der Hauptfestnetznummer kenne ich. Ich glaube die Fritzbox überschreibt den die Hauptfestnetznummer wieder. Du kannst ja nochmals versuchen diese mit Vorwahl und ohne Vorwahl einzutragen. Vielleicht hilft das.

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

                                        Hi,
                                        es lief... dann musste ich ich wieder auf einen anderen pi wechseln, und da gibt es nun wieder Ärger. Ich schicke dir mal ne Mail...
                                        Danke schon mal

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          Inxession last edited by Inxession

                                          Leider bekomme ich folgende Fehlermeldung

                                          ...
                                          pi@raspberrypi:~ $ asterisk -rvvvvv
                                          Unable to open specified master config file '/etc/asterisk/asterisk.conf', using built-in defaults
                                          Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist? )

                                          Was mache ich falsch?

                                          Danke und Gruß
                                          Michael

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

                                            @Inxession , es sieht so aus als ob asterisk nicht gestartet wurde. Einmal asterisk starten und dann nochmals versuchen.
                                            Wie du asterisk startest, findest du in der README .

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            448
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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