NEWS
IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox
-
@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
-
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 ? -
@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. -
@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 ausroot@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 -
@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. -
@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 ?
-
@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?
-
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 -
@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. -
@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.
-
@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. -
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 -
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 -
@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 . -
Guten Morgen @Stuebi
...so nun habe ich nochmal alles neu aufgesetzt.
Der Log von iobroker wird jetzt nicht mehr zugemüllt.
Allerdings bringt mir der Befehl
asterisk -rvvvvv
folgende AusgabeUnable 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?)Als Werte in der Callout Funktion trage ich die Rufnummer ein, einen Text und die abgehende Rufnummer.
Wenn ich dann den Button betätige, meldet der Log von iobroker "Start dialing".
Mehr passiert leider nicht.Danke und schönes Wochenende
-
Hallo, ich habe da auch mal eine Frage. Ich möchte gerne einstellen das bei meiner Alarmanlage erst die eine Nummer und dann verzögert eine Andere Nummer Angerufen wird. Habe es schon versucht den Adapter zwei mal zu installieren aber es läuft immer nur über einen. Von dem ich halt die Daten kopiert habe per putty.
Hat da jemand eine einfache Lösung für mich?
-
@Flo1989 , standardmäßig laufen die Calls asynchron und daher parallel. schaue nachher ob man diese auch synchron starten kann.
-
@Stuebi , versuche es mit async = false.
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, async: false}, (res) => { console.log('Result: ' + JSON.stringify(res)); });
-
@Stuebi Sry für die doofe Frage aber wo und wie füge ich die zweite Nummer ein bzw. Wie schreibe ich das per putty? Bin da noch Neuling und mache die meisten Einstellungen über den IoBroker oder per Blocky.
-
Hallo,
ich habe mir auch den Asterisk Adapter installiert und eingerichtet.
Bei mir funktioniert nur das einloggen in der Fritzbox nicht. Nutzername und Passwort sind natürlich kontrolliert und richtig. In den Ereignissen der Fritzbox kommen folgende Meldungen:Anmeldung für IP-Telefoniegerät "12345678" von IP-Adresse 192.168.178.xx nicht erfolgreich
Wenn ich in Putty den Befehl asterisk -rvvvvvvv eingebe, kommt folgendes:
[Nov 6 09:22:22] NOTICE[649]: chan_sip.c:15981 sip_reg_timeout: -- Registration for '12345678@192.168.178.1' timed out, trying again (Attempt #379) [Nov 6 09:22:42] NOTICE[649]: chan_sip.c:15981 sip_reg_timeout: -- Registration for '12345678@192.168.178.1' timed out, trying again (Attempt #380) [Nov 6 09:23:02] NOTICE[649]: chan_sip.c:15981 sip_reg_timeout: -- Registration for '12345678@192.168.178.1' timed out, trying again (Attempt #381)
und das wiederholt sich dann immer wieder. Woran kann das liegen? Bin genau nach der Anleitung vorgegangen. Meine Fritzbox ist eine 7590 mit der Firmware 7.12.
Genutzt wird mein ioBroker und somit auch der Asterisk Adapter auf einem Raspberry Pi 4.