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

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

    This topic has been deleted. Only users with topic management privileges can see it.
    • PLCHome 0
      PLCHome 0 Developer @ewc last edited by PLCHome 0

      @ewc Das fehlt da ... Das musst du selber dazu dichten. Die Stelle ist aber ersichtlich, da wird jetzt Anruf in das Log geschrieben.

      Für den Anruf musst den Text un, Telefonnummer setzen und das Objekt mit true beschreiben.
      Am besten kann man das dirket in den Objekten testen.

      E 1 Reply Last reply Reply Quote 0
      • E
        ewc @PLCHome 0 last edited by

        @plchome-0
        Moin Moin... ich habs mittlerweile "gepeilt" und bin auf dem Durchbruch zur Raketentechnik^^

        Alarmierung, Gartenbeleuchtung und auch externe Abschaltung durch die vis (z.B. Alarmanlage vom Haus scharf, aber Gärtner im Garten) funzt nun einwandrei. Ein Manko ist noch die zeitliche Verzögerung (Timer) für die Alarmauslösung, für die ich mir noch eine intelligentere Logik einfallen lassen muss.

        Aktuell versuche ich mich mit DTMF zur Anrufquittierung, sodass ich eine Schleife auf mehrere Nummern stoppen kann 🙂

        PLCHome 0 1 Reply Last reply Reply Quote 1
        • PLCHome 0
          PLCHome 0 Developer @ewc last edited by

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

          bin auf dem Durchbruch zur Raketentechnik^^

          🙂

          A E 2 Replies Last reply Reply Quote 0
          • A
            amgxda @PLCHome 0 last edited by amgxda

            Zur Info für Nutzer einer aktuellen RaspberryPi OS Version / Debian 12 und Asterisk. Nachdem Asterisk unter Debian 12 aus den Paketquellen geflogen ist, bleibt nur ein selbst kompilieren. Über nachfolgende Anleitung lässt sich eine lauffähige Version (16.30.1) erzeugen, die mit dem iobroker-asterisk kompatibel ist. Tests mit neueren Versionen (20.5) waren jedoch nicht erfolgreich (Manager zwar verbunden, jedoch Fehlermeldung beim Aufruf der Call-Funktion). Der Asterisk-Adapter sollte zudem aus den Github-Quellen installiert werden, da nur dort Änderungen vorhanden sind, die in der npm-Version fehlen. Konfiguration nach Installation wie in der Adapter-Doku beschrieben. Noch ein Hinweis: Weitere Updates für die 16er Version sind nicht zu erwarten, die letzte Änderung ist von Mitte 2023. Ich teste ggf. noch die 18er-Version, diese wird bis 2025 unterstützt.

            Anleitung Asterisk unter Debian 12 Bookworm:


            sudo apt install git vim curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev

            cd /usr/src/
            sudo wget https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-16.30.1.tar.gz
            sudo tar xvf asterisk-16*.tar.gz
            cd asterisk-16*/
            sudo contrib/scripts/get_mp3_source.sh
            sudo contrib/scripts/install_prereq install
            sudo ./configure
            sudo make menuselect

            Im Menü jeweils folgende Pakete auswählen:

            • Add-ons: chan_ooh323 & format_mp3
            • Core Sound Packages: Audio packets CORE-SOUNDS-EN-*
            • Music On Hold: MOH-OPSOUND-WAV bis MOH-G729
            • Extra Sound: EXTRA-SOUNDS-EN-WAV bis EXTRA-SOUNDS-EN-G729
            • Applications: app_macro

            Optional weitere Pakete hinzufügen. Beenden mit "Save&Exit".

            sudo make
            sudo make install
            sudo make progdocs (optionale Dokumentation)
            sudo make samples
            sudo make config
            sudo ldconfig

            sudo groupadd asterisk
            sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
            sudo usermod -aG audio,dialout asterisk
            sudo chown -R asterisk:asterisk /etc/asterisk
            sudo chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk
            sudo chown -R asterisk:asterisk /usr/lib/asterisk

            Asterisk als Default User für Asterisk:
            sudo nano /etc/default/asterisk
            AST_USER="asterisk"
            AST_GROUP="asterisk"

            sudo nano /etc/asterisk/asterisk.conf
            runuser = asterisk ; The user to run as.
            rungroup = asterisk ; The group to run as

            sudo ufw allow proto tcp from any to any port 5060,5061 (optional Firewall öffnen, falls aktiv)

            sudo systemctl restart asterisk
            sudo systemctl enable asterisk

            Status prüfen:
            sudo systemctl status asterisk
            sudo asterisk -rvv

            1 Reply Last reply Reply Quote 1
            • E
              ewc @PLCHome 0 last edited by

              @plchome-0
              Moin Moin... habs dank Dir incl. Vis Steuerung und RFID-Leser für den Hausmeister gerockt bekommen!

              Jetzt suche ich mir einen Ast, wie ich nacheinander oder von mir aus auch gleichzeitig mehrere Nummern anrufen kann 😞

              S 1 Reply Last reply Reply Quote 0
              • S
                StefanRied @ewc last edited by

                Moin

                der Thread ist zwar schon alt, aber vielleicht findet sich ja ein asterisk Profi der mir helfen kann.

                Ich habe den iobroker asterisk adapter auf einem anderen host wie den asterisk server und alles entsprechend https://github.com/schmupu/ioBroker.asterisk/blob/master/docs/SSH_DE.md eingerichtet.

                Der iobroker meldet sich korrekt am remote asterisk an und schickt auch via ssh/scp die generierten audio files rüber.

                Leider scheint dort irgend was mit er Konfiguration schief zu laufen.

                Der asterisk adapter im iobroker meldet dann "Originate failed:

                	Error while dialing (1). Error: {"response":"Error","actionid":"ee1bb6cf-1fe7-80ae-252c-8ba913a0d052","message":"Originate failed"}, Result: {"parameter":{"callerid":"**620","telnr":"017643282951","text":"Hallo!","extension":"Smarthome","audiofile":"/tmp//audio_1234","delete":"delete"},"options":{"action":"originate","channel":"SIP/Smarthome/1234","context":"ael-ansage","exten":"1234","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp//audio_1234","del":"delete"},"callerid":"**620"},"guid":"ee1bb6cf-1fe7-80ae-252c-8ba913a0d052","result":{"response":"Error","actionid":"ee1bb6cf-1fe7-80ae-252c-8ba913a0d052","message":"Originate failed"}}
                

                Der asterisk sagt im debug mode dies:

                asterisk -rvvvvv
                Asterisk 18.24.3, Copyright (C) 1999 - 2022, Sangoma Technologies Corporation 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 18.24.3 currently running on mediau (pid = 8597)
                mediau*CLI> core set debug 10
                Core debug was OFF and is now 10.
                  == Manager 'manager' logged on from 10.0.0.3
                [Sep 21 13:23:14] WARNING[8682]: channel.c:6332 request_channel: No channel type registered for 'SIP'
                    -- Executing [failed@ael-ansage:1] Answer("OutgoingSpoolFailed", "") in new stack
                    -- Executing [failed@ael-ansage:2] Wait("OutgoingSpoolFailed", "1") in new stack
                    -- Executing [failed@ael-ansage:3] Read("OutgoingSpoolFailed", "dtmf,/tmp//audio_1726924993523&beep,0,s,5,1") in new stack
                    -- Executing [failed@ael-ansage:4] GotoIf("OutgoingSpoolFailed", "0?5:6") in new stack
                    -- Goto (ael-ansage,failed,6)
                    -- Executing [failed@ael-ansage:6] NoOp("OutgoingSpoolFailed", "Finish if_ael-ansage_1") in new stack
                    -- Executing [failed@ael-ansage:7] Hangup("OutgoingSpoolFailed", "") in new stack
                  == Spawn extension (ael-ansage, failed, 7) exited non-zero on 'OutgoingSpoolFailed'
                    -- Executing [h@ael-ansage:1] GotoIf("OutgoingSpoolFailed", "1?2:4") in new stack
                    -- Goto (ael-ansage,h,2)
                    -- Executing [h@ael-ansage:2] NoOp("OutgoingSpoolFailed", "/bin/rm /tmp//audio_1726924993523.*") in new stack
                    -- Executing [h@ael-ansage:3] System("OutgoingSpoolFailed", "/bin/rm /tmp//audio_1726924993523.*") in new stack
                    -- Executing [h@ael-ansage:4] NoOp("OutgoingSpoolFailed", "Finish if_ael-ansage_2") in new stack
                    -- Executing [h@ael-ansage:5] SayDigits("OutgoingSpoolFailed", "") in new stack
                    -- Executing [h@ael-ansage:6] NoOp("OutgoingSpoolFailed", "Finish if_ael-ansage_1") in new stack
                    -- Executing [h@ael-ansage:7] Hangup("OutgoingSpoolFailed", "") in new stack
                  == Spawn extension (ael-ansage, h, 7) exited non-zero on 'OutgoingSpoolFailed'
                

                ich habe keine Ahnung was der Asterisk Channel ist, der hier fehlt.

                Meine sip.com

                [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 => 62162162:pw****@10.0.0.1/1000 ; Username, Password and IP address of Fritzbox WLAN/LAN telephone
                
                [62162162]             ; Change to username of Fritzbox WLAN/LAN telephone
                type = friend           ; Do not change
                username = 62162162  ; Change to username of Fritzbox WLAN/LAN telephone
                host = 10.0.0.1         ; Change hostname / IP address of Fritzbox
                secret = pw******      ; Change password of Fritzbox WLAN/LAN telephone
                fromdomain = 10.0.0.1 ; Change hostname / IP address of Fritzbox
                fromuser = 62162162    ; Change username of Fritzbox WLAN/LAN telephone
                context = default
                

                der 62162162 ist der username des SIP accounts in meine Fritzbox
                extentions.ael ist die oben beschrieben datei:

                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 extenstions.conf ist der standard den die 1000 definiert

                ...
                exten => 1000,1,Goto(default,s,1)
                ...
                

                Irgend wie scheint in der asterisk config was faul zu sein.
                Kann jemand helfen?
                Lieben Dank
                Stefan

                S 1 Reply Last reply Reply Quote 0
                • S
                  StefanRied @StefanRied last edited by

                  @stefanried
                  the issue is resolved.
                  There was something wrong with files in the /etc/asterisk folder.

                  Der folder stammt aus einer aktuellen 18.24.3 installation.
                  Auf einem älteren iobroker war ein asterisk 16.2.1 mit dem es lief.
                  Ich habe einfach alle files aus dem /etc/asterisk von der alten version auf die neu installiert und siehe da. das Problem war weg.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Powertrain01 @StefanRied last edited by

                    Hallo Zusammen,

                    wird der Adapter noch gepflegt ?

                    ich bekomme nach der Installation des Adapters keine Instanz angezeigt um die Konfiguration vorzunehmen

                    https://github.com/schmupu/ioBroker.asterisk über URL installiert.

                    27d2c0c4-593b-4b7f-a215-b77c1f37365a-image.png

                    so sieht es dan unter Adapters aus.

                    was mach ich Falsch ?

                    Danke

                    mcm1957 1 Reply Last reply Reply Quote 0
                    • M
                      maxemaxe last edited by maxemaxe

                      @powertrain01 Welche URL haben Sie verwendet? Ich kann den Adapter nach dem Update des Brokers nicht mehr installieren. Gefunden: https://github.com/schmupu/ioBroker.asterisk.git Es erstellt die Instanz für mich und die telefonischen Benachrichtigungen funktionieren. Habe versucht, auf die drei vertikalen Punkte und dann auf + zu klicken? Cattura.PNG

                      R mcm1957 2 Replies Last reply Reply Quote 0
                      • R
                        Roelli @maxemaxe last edited by

                        Ich hab ne dumme Frage!

                        Kann man den Adapter auch zum telefonieren benutzen?
                        Ich würde gerne einen Button in der VIS haben, und wenn ich den anklicke dann soll aus der VIS heraus eine Nebenstelle angerufen werden.

                        Soetwas gibts irgendwie noch nicht.
                        Die Kollegen von home assistant haben einen ha-sip Adapter der mit pjsip programmiert ist. Da kann man scheinbar ohne websocket-verbindung und vor allem ohne Zertifikat direkt telefonieren. So kann jeder mit seiner Fritzbox eine Sprechverbindung aufbauen ohne asterisk installieren zu müssen.

                        Hintergrund:
                        Ich will mal meine Türsprechanlagen in iobroker integrieren.

                        1 Reply Last reply Reply Quote 0
                        • mcm1957
                          mcm1957 @maxemaxe last edited by

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

                          @powertrain01 Welche URL haben Sie verwendet? Ich kann den Adapter nach dem Update des Brokers nicht mehr installieren. Gefunden: https://github.com/schmupu/ioBroker.asterisk.git Es erstellt die Instanz für mich und die telefonischen Benachrichtigungen funktionieren. Habe versucht, auf die drei vertikalen Punkte und dann auf + zu klicken? Cattura.PNG

                          Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.

                          GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird.

                          Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen.

                          Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.

                          Und falls es irgendwie unklar ist:

                          ioBroker unterstützt folgende Arten von Installation:

                          • aus dem STABLE Repository

                            Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Natürlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern.

                          • aus dem LATEST Repository

                            Das sind Adapter Releases die neu erstellt wurden und nur rudimentär getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind primär für unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases können durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten außer man braucht irgenein neues Feature (z.B. neues Gerät) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist.

                          • direkt von GITHUB

                            Von Installationen direkt aus Giuthub wird definitiv abgeraten außer auf Anweisung des Maintainers und für den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben.

                          • direkt von npm

                            Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren möchte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist.

                          Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudimentären Review unterzogen und sollten mit dem Attribut "vollständig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits für solche Adapter ist mit Sicherheit minimalistisch.

                          @mcm1957

                          P.S: Der Adapter ist ganz normal in den Repositories enthalten.

                          1 Reply Last reply Reply Quote 0
                          • mcm1957
                            mcm1957 @Powertrain01 last edited by

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

                            Hallo Zusammen,

                            wird der Adapter noch gepflegt ?

                            ich bekomme nach der Installation des Adapters keine Instanz angezeigt um die Konfiguration vorzunehmen

                            https://github.com/schmupu/ioBroker.asterisk über URL installiert.

                            27d2c0c4-593b-4b7f-a215-b77c1f37365a-image.png

                            so sieht es dan unter Adapters aus.

                            was mach ich Falsch ?

                            Danke

                            Der Fehler liegt darin einen Adapter direkt von Github zu installieren ohne dass es dazu einen Grund gibt. Bei einem nur für die Ntwicklung / Fehlersuche vorgesehenen Installationweg fallen zusätzliche Schritte an, die hier offensichtlich fehlen.

                            --> Adapter bitte ganz normal über das Repository installieren - sofern keine Aufforderung des Maintainers existiert etwas zu testen.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            966
                            Online

                            32.1k
                            Users

                            80.7k
                            Topics

                            1.3m
                            Posts

                            46
                            205
                            37330
                            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