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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

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

      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 Reply Quote 0
      • Stuebi
        Stuebi last edited by

        @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));
        });  
        
        
        1 Reply Last reply Reply Quote 0
        • D
          DeepCore last edited by

          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 Reply Quote 0
          • Stuebi
            Stuebi last edited by

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

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

              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 Reply Quote 0
              • Stuebi
                Stuebi last edited by

                @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

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

                  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 Reply Quote 0
                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            734
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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