Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  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.4k

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

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

IoBroker und VOIP / SIP Calls mit Asterisk + Fritzbox

Geplant Angeheftet Gesperrt Verschoben JavaScript
209 Beiträge 47 Kommentatoren 41.8k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B bb61

    Die Idee ist genial.

    Aber noch habe ich (bisher) meine Asterisk-Installation nicht zum Laufen bekommen. Allerdings habe ich einen Verdacht bzgl. meiner Systemumgbung. Deshalb nun dazu folgende Fragen mit dem Hintergrund eines (Linux-/Raspi-)-Newbies:

    Wichtigste:
    Wie genau ist "ioBroker- und Asterisk-Server getrennter / gleicher Server" zu verstehen, wenn es sich um eine Multihost-Umgebung handelt?

    Also einerseits:
    ioBroker ist ja auch auf dem"Slave-Host" lokal installiert, auf dem die Asterisk-Installation folgte (und meine Adapter-/Instanz-Parameter wie IP, Pfade etc. beziehen sich, wie bei anderen verteilt auf Slaves liegenden Instanzen (Homematic, History...) natürlich auch hier auf diesen Slave)

    andererseits:
    ...liegt der Host-Master auf einem anderen Gerät (der aber doch eigentlich nichts damit zu tun haben dürfte?), aber dann doch: getrennte Server?

    Meine Multihost-Umgebung:

    HOST-Master: Windows Server (kleine alte HP-Kiste mit Win 2016-Essential-Server, 1 Platte, 1x 4-core-CPU, aber eben echter 24/7-Server)

    HOST-Slaves: diverse Raspi (3B und 3B+) zur Last- und Standortverteilung (externer Pflegefall), sowie NAS QNAP 453Pro mit ioBroker-Installation lt. Install-Anleitung, aber Ubuntu 16.04 auf der QNAP-Linux-Station (quasi virtueller Server auf dem NAS)

    Um Asterisk installieren zu können (gibts/geht ja offenbar nur unter Linux?), habe ich mich für den QNAP-Slave entschieden. Raspi nicht, weil auf dem NAS echte Platten für die Filearbeit zur Verfügung stehen und keine SD-Card durch ständiges Write geschädigt wird.

    Andere Adapter/Instanzen laufen auf dieser verteilten Umgebung sehr gut und stabil, z.B. HM-ReGa, -RPC, SQL, JS, History (mit aus Slave-Sicht virtuellem Verzeichnis per Samba auf echter Platte) usw.

    Also, die Fragen bzgl. der Asterisk-Installation:

    • kann Asterisk auf Multi-HOST-Slaves installiert werden (überhaupt?), hat das schon jemand erfolgreich getan?
    • wenn ja: gilt das noch als "gleicher Server"?
    • wenn nicht (Asterisk muss dann also auf den Master): Gibt es doch eine Installationsmöglichkeit unter Windows?
    • wenn unter Windows: Was nehme ich dort als "SSH-Server"?

    Falls unter Ubuntu / in Linux-Station des NAS nicht möglich: aber dann optional auf einem Raspi:

    • liegt "/tmp" unter raspian eigentlich auf dem RAM oder schreibt das laufend auf die SD-Karte? (vgl.:raspmatic und diverse Erläuterungen dort dazu von Jens Maus)
    • alternativ wäre hier (wie schon für History laufend) natürlich ein SAMBA-Verzeichnis auf echte Platte möglich (Win-Server oder NAS), aber irgendwie für Asterisk und die hier nun wirklich temporären Files eine ...ähm... kranke Lösung (zB. aus Sicht "Singe Point of failure"), oder?

    Noch eine wichtige Linux-Newbie-Frage:

    • wie kontrolliere ich / gebe ich Ports unter Linux frei?
    • unter raspian
    • unter debian (QNAP-Linux-Station)

    Natürlich kann ich das alles selbst recherchieren und erforschen und werde das auch hier selbst ergänzen, falls ich etwas herausbekomme, aber

    • wo liegt der generelle Ansatz, um sich nicht sinnlos zu verrennen? Geht das überhaupt, was ich vorhabe?
    • Lösung sicher auch für andere Anwender interessant, deshalb besser hier als Ergänzung der Anleitung?
    • vielleicht hat da einer einen kleinen Tipp oder Link, der tagelanges Warten auf Zeitfenster für eigenes Probieren/Suchen erheblich abkürzen könnte (diese Zeit ich dann besser in die eigentliche Lösung / akustisch ausgelöster Notruf, wird natürlich dann hier veröffentlicht) stecken könnte. Sorry, Pflegefall über 100km entfernt mit tgl. Fahren kostet leider viel Zeit, die es wenigstens zum Teil hiermit einzusparen gilt.

    Es sind einfach noch zu viele Freiheitsgrade bei kurzfristig zu knapper Reserve für Linux-Grundkurs, deshalb meine Bitte um einen kleinen Anstoß.

    Viele Grüße von der Küste!

    B Offline
    B Offline
    bb61
    schrieb am zuletzt editiert von bb61
    #35

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

    Habe die Lösung! --> Asterisk läuft im Multihost!! ::+1: :relaxed:

    Also, die Fragen bzgl. der Asterisk-Installation:

    • kann Asterisk auf Multi-HOST-Slaves installiert werden (überhaupt?), hat das schon jemand erfolgreich getan?

    Ja. Ich seit soeben. "Same Server" für Asterisk- und ioBroker-(Slave-)Host auf QNAP NAS unter debian 16.04

    • wenn ja: gilt das noch als "gleicher Server"?

    Ja

    • wenn nicht (Asterisk muss dann also auf den Master): Gibt es doch eine Installationsmöglichkeit unter Windows?

    Nein. Keine Installmöglichkeit unter Windows lt. asterisk-Homepage (alternativ zu Linux nur Solaris für Sun)

    • wenn unter Windows: Was nehme ich dort als "SSH-Server"?

    k.A. Nicht geprüt, da Einbindung des HOST-Masters (bei mir: Windows) nicht notwendig.

    Falls unter Ubuntu / in Linux-Station des NAS nicht möglich: aber dann optional auf einem Raspi:

    • liegt "/tmp" unter raspian eigentlich auf dem RAM oder schreibt das laufend auf die SD-Karte? (vgl.:raspmatic und diverse Erläuterungen dort dazu von Jens Maus)

    Offenbar schreibt "/Tmp" auf dem Raspi tatsächlich direkt auf die SD-Card. Mehrere Lösungen gefunden, um dieses aus genau den von mir genannten Gründen auf RAM zu verlagern, z.B. hier und hier - sollte man generell / werde ich bei all meinen Raspis derart ändern.

    Noch eine wichtige Linux-Newbie-Frage:

    • wie kontrolliere ich / gebe ich Ports unter Linux frei?
    • unter raspian
    • unter debian (QNAP-Linux-Station)

    Offenbar gibt es gar keine, der lokalen Windows-Firewall vergleichbare Sicherheitsschale, um die genannten Linux-Systeme herum. --> Dort ist also keine Portfreigabe für Geräte im LAN (hier: Port 5038) notwendig, da alle (Linux-)Geräte-Ports im LAN sowieso frei zugänglich sind(??!). - auwaia!

    Ach ja, die Lösung:
    Wie immer saß der Fehler VOR dem Monitor. Ich hatte schon vor vielen Tagen erst den Asterisk-Adapter auf dem NAS-Slave-HOST installiert, diesen dann aber ein paar Tage später umbenannt..... Nochmal den HOST-Namen angeclickt und richtigen Namen ausgewählt, unn dat Ding löppt! :relaxed:

    Nirgends tauchte eine Meldung oder Warnung auf, alles war bedienbar... nur es lief am Ende natürlich nicht (da nun gesetzte Parameter wohl nicht wirklich auf den installierten Adapter angewendet wurden)

    Idee / Hinweis --> IObroker-Admin:
    Unter "Instanzen" sollten vielleicht eben solche, die auf nicht mehr unter HOSTS geführten / existierenden Hosts verweisen/registriert sind irgendwie markiert werden (ausgrauen, rot hinterlegen, farbigen Rahmen, Name in Rot o.ä.). Das Problem ist so primitiv, aber sicher eine dumme und zeitfressende Falle für jeden, der eine Multihost-Umgebung managed. ...und so sicher ganz einfach zu umgehen.

    ...und: Danke, dass ich mich hier mal schriftlich austoben durfte. Das sortiert die Gedanken doch ganz gut und hilft, strukturiert und schnell eine Lösung zu finden!

    ...wg. Blockly-Anwendung: Ich schau mal, da geht (nun) sicher was. Aber nicht vorm Wochenende! Leider keine Zeit vorher...

    Gruß von der Küste

    1 Antwort Letzte Antwort
    0
    • StuebiS Stuebi

      @martin , wenn jemand ein Blocky Beispiel hat, dann her damit, sonst findest Du Javascript Beispiele hier: https://github.com/schmupu/ioBroker.asterisk

      B Offline
      B Offline
      bb61
      schrieb am zuletzt editiert von
      #36

      @Stuebi
      genau die Quelle meinte ich auch.

      Wg. blockly: s.o.

      Achja: Danke für deine tolle Lösung!

      1 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        bb61
        schrieb am zuletzt editiert von bb61
        #37

        Ging doch unerwartet etwas schneller.

        Nachfolgend ein frisches Blockly-Demo. Einfach in einem leeren neuen Script importieren, dann die beiden Nummern (ziel- und quellnr "number" und "callerid") anpassen, das ist alles.

        <xml xmlns="http://www.w3.org/1999/xhtml">
          <block type="comment" id="iQk[*%#vV)/#GSZr%wCu" x="-662" y="-437">
            <field name="COMMENT">ASTERISK-Blockly-Demo</field>
            <next>
              <block type="comment" id="CdBGv/twUt|*^x0(Z`0}">
                <field name="COMMENT">Rel 1 2019-02-14 / gw (TheDoctor / bb61)</field>
                <next>
                  <block type="comment" id="Anv#=F5PT*U8WeFd?p%l">
                    <field name="COMMENT"></field>
                    <next>
                      <block type="comment" id=")jiDC@fb~x!5.]6etF/u">
                        <field name="COMMENT">The initialisation (or: input definition)</field>
                        <next>
                          <block type="variables_set" id="yHrxb?yJJ6;e-4TY%NQA" disabled="true">
                            <field name="VAR">text</field>
                            <value name="VALUE">
                              <block type="text" id="t?.~W)KsIld^pq*qUA]h">
                                <field name="TEXT">Hello World. This is your programmers night ending waking call.</field>
                              </block>
                            </value>
                            <next>
                              <block type="variables_set" id="{!kdzMn+F8qItV8Zn;/P">
                                <field name="VAR">text</field>
                                <value name="VALUE">
                                  <block type="text" id="Ai1)QSgP-`u-5[7,-oDt">
                                    <field name="TEXT">Tach. Post.</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="variables_set" id="-|@a_X4vv*[,su?Fsc2%">
                                    <field name="VAR">number</field>
                                    <value name="VALUE">
                                      <block type="text" id=".:i_Wbv,R.s@o|P-xlBS">
                                        <field name="TEXT">0123 / 456-789</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="variables_set" id="O8wCGuQaE73NK5x)dWQZ">
                                        <field name="VAR">callerid</field>
                                        <value name="VALUE">
                                          <block type="text" id="lr[9d1YKX8t_;WW+qBC%">
                                            <field name="TEXT">0123 / 456-780</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="variables_set" id="d%TndOTur7*4`l4Np;m^">
                                            <field name="VAR">repeat</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="4SaGzyJ)oSt3[,95:6Fb">
                                                <field name="NUM">5</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="variables_set" id="=JBIH,:sBB+PRV:g9]1|">
                                                <field name="VAR">priority</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="e4fB,U{R.~zmey`wib,]">
                                                    <field name="NUM">1</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="variables_set" id=")x~*qF!eX`(EHx,!ZSV?">
                                                    <field name="VAR">timeout</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="W`OtfSa2W(v^WN+_h)V=">
                                                        <field name="NUM">60000</field>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="variables_set" id="#+c~MSYJJNnb@vjq?o_}" disabled="true">
                                                        <field name="VAR">language</field>
                                                        <value name="VALUE">
                                                          <block type="text" id="KYUiVH=wSRt#^OMb.dQ*">
                                                            <field name="TEXT">en</field>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="variables_set" id="fFtZc8kQKWn)40Pr`sr`">
                                                            <field name="VAR">language</field>
                                                            <value name="VALUE">
                                                              <block type="text" id="mS2QWE(TTaSK4%Z|bMeM">
                                                                <field name="TEXT">de</field>
                                                              </block>
                                                            </value>
                                                            <next>
                                                              <block type="variables_set" id="kTMsGQ[J4v?O*rx,*ggH">
                                                                <field name="VAR">async</field>
                                                                <value name="VALUE">
                                                                  <block type="logic_boolean" id="].:2h04Jf,AXFxl7:t7k">
                                                                    <field name="BOOL">FALSE</field>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="variables_set" id="aCLu97fteG+tqgF`tr6[">
                                                                    <field name="VAR">audiofile</field>
                                                                    <value name="VALUE">
                                                                      <block type="text" id="J6C/jF+/1[@7E#y2!M:z">
                                                                        <field name="TEXT"></field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="comment" id="]G2HqcW*R}?FisL4FBZ+">
                                                                        <field name="COMMENT">...some code...</field>
                                                                        <next>
                                                                          <block type="comment" id="|Q}NQ`kDAQ?F4:7:}n71">
                                                                            <field name="COMMENT">The output:</field>
                                                                            <next>
                                                                              <block type="sendto_custom" id="~{xFT|#IM5~3(KVlOI1C">
                                                                                <mutation items="text,telnr,callerid,repeat,priority,timeout,language,async,audiofile" with_statement="true"></mutation>
                                                                                <field name="INSTANCE">asterisk.0</field>
                                                                                <field name="COMMAND">dial</field>
                                                                                <field name="WITH_STATEMENT">TRUE</field>
                                                                                <field name="LOG"></field>
                                                                                <value name="ARG0">
                                                                                  <shadow type="text" id="?P|yZqU;J/P51dZ=]0~0">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="Y?.3E)^k:#9E~=vpYkk:">
                                                                                    <field name="VAR">text</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG1">
                                                                                  <shadow type="text" id="Q+X~VRg9.JK~+ae*S:`(">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="`9`/4G+-x?`.VkKHWo51">
                                                                                    <field name="VAR">number</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG2">
                                                                                  <shadow type="text" id="~7OP`9Il(?JWX3dR7134">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="_-c)3-Zh^R^I+@2jIP]R">
                                                                                    <field name="VAR">callerid</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG3">
                                                                                  <shadow type="text" id="wt8VyUGOy6.WaGTj!Ae)">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="57fYTEI1+a,1=EdO@]TI">
                                                                                    <field name="VAR">repeat</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG4">
                                                                                  <shadow type="text" id="jKKv8ctfZeuK`B4[D-l%">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="k.7HR)oIjRWGmE@6UY`H">
                                                                                    <field name="VAR">priority</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG5">
                                                                                  <shadow type="text" id="K^aSRDKX|UL=H[ik0495">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="9Jv@HJzOH,Kg8gPGGOgc">
                                                                                    <field name="VAR">timeout</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG6">
                                                                                  <shadow type="text" id="W+#VKhnJ%T1_b|lD7w-h">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="[Cohr1.,bHSF=IMs_n0:">
                                                                                    <field name="VAR">language</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG7">
                                                                                  <shadow type="text" id="^=xQ{Azr#kgvrOAT?i,8">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="yLUavn=dTttr%.yo|~]|">
                                                                                    <field name="VAR">async</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="ARG8">
                                                                                  <shadow type="text" id="a(eJ50,[r`#auRFF!JQa">
                                                                                    <field name="TEXT"></field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="DhIsb(~E,%1tpwz~3GnC">
                                                                                    <field name="VAR">audiofile</field>
                                                                                  </block>
                                                                                </value>
                                                                                <statement name="STATEMENT">
                                                                                  <block type="comment" id="CzlEMqMFo:NC3CxdTJ0M">
                                                                                    <field name="COMMENT">The feedback:</field>
                                                                                    <next>
                                                                                      <block type="comment" id="c!LZ5@a4PeUj{;ZU*4B]">
                                                                                        <field name="COMMENT">  V1: (embedded function)</field>
                                                                                        <next>
                                                                                          <block type="debug" id="4S22Ag(aYa[1_1,TgZv8">
                                                                                            <field name="Severity">log</field>
                                                                                            <value name="TEXT">
                                                                                              <shadow type="text" id="XKX-#GFD4HX5c5tKgkla">
                                                                                                <field name="TEXT">test</field>
                                                                                              </shadow>
                                                                                              <block type="text_join" id="olKx{f~7W%}anV@!7ZGo">
                                                                                                <mutation items="2"></mutation>
                                                                                                <value name="ADD0">
                                                                                                  <block type="text" id="6#V|Tu0X^SROz#eVfIO^">
                                                                                                    <field name="TEXT">Result V1:</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="ADD1">
                                                                                                  <block type="convert_object2json" id="@71%(iKA*TEvYuo/K@I2">
                                                                                                    <field name="PRETTIFY">FALSE</field>
                                                                                                    <value name="VALUE">
                                                                                                      <block type="variables_get" id="d%m~mCV!STYZtV_c2GIR">
                                                                                                        <field name="VAR">result</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                  </block>
                                                                                                </value>
                                                                                              </block>
                                                                                            </value>
                                                                                            <next>
                                                                                              <block type="comment" id="^QF%e}~kI#NG8}cWV?yQ">
                                                                                                <field name="COMMENT">  V2:(local function /w ability for modification)</field>
                                                                                                <next>
                                                                                                  <block type="debug" id="l~|`?4TRuX7#a[s{BW1~">
                                                                                                    <field name="Severity">log</field>
                                                                                                    <value name="TEXT">
                                                                                                      <shadow type="text" id="XKX-#GFD4HX5c5tKgkla">
                                                                                                        <field name="TEXT">test</field>
                                                                                                      </shadow>
                                                                                                      <block type="text_join" id="Og]}wvu.V(rK`T!?SkHB">
                                                                                                        <mutation items="2"></mutation>
                                                                                                        <value name="ADD0">
                                                                                                          <block type="text" id="u#b@4Hh}Rg2D]hH=P0zo">
                                                                                                            <field name="TEXT">Result V2:</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="ADD1">
                                                                                                          <block type="procedures_callcustomreturn" id="S.T~95tpH6K=PgT({!pS">
                                                                                                            <mutation name="fl_stringifyWoJoin">
                                                                                                              <arg name="inp"></arg>
                                                                                                            </mutation>
                                                                                                            <value name="ARG0">
                                                                                                              <block type="variables_get" id="qIlwo_X(Z(iWU,RJ_`tx">
                                                                                                                <field name="VAR">result</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                  </block>
                                                                                                </next>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </block>
                                                                                </statement>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
          <block type="procedures_defcustomreturn" id="FK-`e`q2wN;WHVhQR+b1" x="-13" y="-337">
            <mutation statements="false">
              <arg name="inp"></arg>
            </mutation>
            <field name="NAME">fl_stringifyWoJoin</field>
            <field name="SCRIPT">Ly8gSlNPTi5zdHJpbmdpZnkgd2l0aG91dCAiam9pbigpIiIKLy8gUmVsLjEgICAgMjAxOS0wMi0xNCAvIGd3IChUaGVEb2N0b3IgLyBiYjYxKQoKcmV0dXJuIEpTT04uc3RyaW5naWZ5KGlucCk7</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          </block>
          <block type="comment" id="OplW|CVD9,UV{JYEF,M7" x="-288" y="-287">
            <field name="COMMENT">&lt;&lt; DEMO (modify this number!)</field>
            <next>
              <block type="comment" id="t|70wz8P.*:o7IULt3.D">
                <field name="COMMENT">&lt;&lt; DEMO (modify this number!)</field>
              </block>
            </next>
          </block>
        </xml>
        

        Es gibt zwei alternative Feedback-Objekte: Eins mit der embedded function, ein zweites mit einer lokalen Funktion, um ggf. die Feedback-Werte dort individuell weiter zu verarbeiten.

        Gruß von der Küste /gerd

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          martin
          schrieb am zuletzt editiert von martin
          #38

          VIELEN DANK für das Script.
          Könntest du das ganze Script mal etwas erklären. Ist auf den 1. Blick doch etwas kompliziert.

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            cybertron
            schrieb am zuletzt editiert von
            #39

            Hallo zusammen,

            ich habe gerade versucht den Adapter bei mir einzurichten.
            ich habe bei mir im Netz eine Fritzbox 7290 hängen, die eigentlich nur als Anruferliste und Accesspoint rennt.
            Auf dieser habe ich wie in der Doku beschrieben einen neuen Teilnehmer angelegt und dann die beschrieben Dateien inhaltlich geleert und durch den Code aus der Doku ersetzt und entsprechend angepasst.
            Mit dem iPhone kann ich diesen Teilnehmer für die abgehende und ankommende Wahl nutzen.

            Aber irgendwie reagiert Asterisk darauf gar nicht.

            die Abfrage astersik -rvvvvvv ergibt folgendes..

            root@mh-iobroker-00:~# asterisk -rvvvvvv
            Asterisk 11.13.1~dfsg-2+deb8u6, Copyright (C) 1999 - 2013 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 11.13.1~dfsg-2+deb8u6 currently running on mh-iobroker-00 (pid = 6044)
            
            

            Der Adapter als solches scheint aus meiner Sicht auch zu laufen.
            Das Log gibt folgendes beim Start aus..

            asterisk.0	2019-02-21 13:47:59.310	debug	system.adapter.admin.0: logging true
            asterisk.0	2019-02-21 13:47:59.310	debug	redis pmessage io.*.logging io.system.adapter.admin.0.logging {"val":true,"ack":true,"ts":1550753279287,"q":0,"from":"system.adapter.admin.0","lc":1550753279287}
            asterisk.0	2019-02-21 13:47:33.434	debug	stateChange asterisk.0.dialout.call {"val":true,"ack":false,"ts":1550753253431,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1550749651332}
            asterisk.0	2019-02-21 13:47:33.433	debug	redis pmessage io.asterisk.0.* io.asterisk.0.dialout.call {"val":true,"ack":false,"ts":1550753253431,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1550749651332}
            asterisk.0	2019-02-21 13:47:30.500	debug	system.adapter.admin.0: logging false
            asterisk.0	2019-02-21 13:47:30.500	debug	redis pmessage io.*.logging io.system.adapter.admin.0.logging {"val":false,"ack":true,"ts":1550753250488,"q":0,"from":"system.adapter.admin.0","lc":1550753250488}
            asterisk.0	2019-02-21 13:47:28.130	debug	stateChange asterisk.0.dialout.call {"val":true,"ack":false,"ts":1550753248128,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1550749651332}
            asterisk.0	2019-02-21 13:47:28.129	debug	redis pmessage io.asterisk.0.* io.asterisk.0.dialout.call {"val":true,"ack":false,"ts":1550753248128,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1550749651332}
            asterisk.0	2019-02-21 13:47:23.283	debug	stateChange asterisk.0.dialout.call {"val":true,"ack":false,"ts":1550753243280,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1550749651332}
            asterisk.0	2019-02-21 13:47:23.282	debug	redis pmessage io.asterisk.0.* io.asterisk.0.dialout.call {"val":true,"ack":false,"ts":1550753243280,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1550749651332}
            asterisk.0	2019-02-21 13:47:16.881	debug	Listing vor Dial In Event
            asterisk.0	2019-02-21 13:47:16.880	debug	Converting completed. Result: {"fileNameMP3":"/tmp/asterisk_dtmf.mp3","fileNameGSM":"/tmp/asterisk_dtmf.gsm","code":0,"signal":null}
            asterisk.0	2019-02-21 13:47:16.319	debug	redis pmessage io.asterisk.0.* io.asterisk.0.dialin.callerid {"val":"","ack":true,"ts":1550753236303,"q":0,"from":"system.adapter.asterisk.0","user":"system.user.admin","lc":1550746841829}
            asterisk.0	2019-02-21 13:47:16.316	debug	redis pmessage io.asterisk.0.* io.asterisk.0.dialin.dtmf {"val":"","ack":true,"ts":1550753236301,"q":0,"from":"system.adapter.asterisk.0","user":"system.user.admin","lc":1550746841825}
            asterisk.0	2019-02-21 13:47:16.308	info	Connected to Asterisk Manager
            asterisk.0	2019-02-21 13:47:16.297	debug	Started function keepConnected()
            asterisk.0	2019-02-21 13:47:16.291	info	Starting Adapter asterisk.0 in version 1.0.3with transcoder sox and language DE
            asterisk.0	2019-02-21 13:47:16.225	info	starting. Version 1.0.3 in /opt/iobroker/node_modules/iobroker.asterisk, node: v8.15.0
            asterisk.0	2019-02-21 13:47:16.095	info	States connected to redis: 0.0.0.0:6379
            asterisk.0	2019-02-21 13:47:16.091	debug	statesDB connected
            asterisk.0	2019-02-21 13:47:16.068	debug	objectDB connected
            

            Fehlt mir noch irgendwas oder woran könnte es liegen, dass es nicht funktioniert?

            Gruss
            Silvio

            1 Antwort Letzte Antwort
            0
            • StuebiS Offline
              StuebiS Offline
              Stuebi
              schrieb am zuletzt editiert von
              #40

              So ganz habe ich das noch nicht verstanden. Ist die Fritzbox mit einem VoiP Provider wie Telekom, Vodafone, 1und1, ... verbunden. Das ist Voraussetzung. D.h. die Fritzbox muss in der Lage sein Anrufe entgegen zunehmen und zu initiieren. Das ist erst einmal unabhängig von Asterisk u. ioBroker.

              In einem zweiten Schritt installierst und konfigurierst Du Astersik und den Asterisk ioBroker Adapter. Das ist aber geschehen, wenn ich es richtig verstehe.

              Starte einmal Asterisk (z.B. über sudo /etc/init.d/asterisk start) und rufe dann asterisk -rvvvvvv auf. Warte ein wenig bis Asterisk die Konfigurationen geladen hat. Dann startetst Du in ioBroker den Asterisk Adapter neu. Nun solltest in der Ausgabe von asterisk -rvvvvvv sehen das sich ioBroker verbunden hat. Da steht etwas mit manger und connected. Wenn das geschehen ist. stimmt die manager.conf Einstellung und die ioBroker Einstellung dazu.
              Nun schreibst Du bei den dialout Objekten bei telnr, text etwas rein und drückst auf den Button dial. Nun solltest Du etwas in der Anzeige unter asterisk -rvvvvvv sehen.
              Den Output und den Log Ouput in ioBroker würde mich interessieren.

              VG

              ioBroker auf Synology DS216+II im Docker Container

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                Muchul
                schrieb am zuletzt editiert von
                #41

                Hallo,

                da mit asterix ein Anruf durchgeführt werden kann, wäre es denn dann auch möglich die Wählhilfe zu nutzen?
                Beispielsweise:
                "Alexa, wähle die Rufnummer meiner Frau"
                der Ruf wird aufgebaut und an des Fritzphone übergeben?
                Richtig gut wäre, wenn das Gespräch komplett über das Echo geführt werden könnte, aber eins nach dem anderen :-)

                StuebiS 1 Antwort Letzte Antwort
                0
                • M Muchul

                  Hallo,

                  da mit asterix ein Anruf durchgeführt werden kann, wäre es denn dann auch möglich die Wählhilfe zu nutzen?
                  Beispielsweise:
                  "Alexa, wähle die Rufnummer meiner Frau"
                  der Ruf wird aufgebaut und an des Fritzphone übergeben?
                  Richtig gut wäre, wenn das Gespräch komplett über das Echo geführt werden könnte, aber eins nach dem anderen :-)

                  StuebiS Offline
                  StuebiS Offline
                  Stuebi
                  schrieb am zuletzt editiert von
                  #42

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

                  Hallo,

                  da mit asterix ein Anruf durchgeführt werden kann, wäre es denn dann auch möglich die Wählhilfe zu nutzen?
                  Beispielsweise:
                  "Alexa, wähle die Rufnummer meiner Frau"
                  der Ruf wird aufgebaut und an des Fritzphone übergeben?

                  Nein das geht leider nicht. Du kannst über Alexa in Verbindung mit Asterisk Deine Frau Anrufen lassen und einen Text vorspielen.

                  Richtig gut wäre, wenn das Gespräch komplett über das Echo geführt werden könnte, aber eins nach dem anderen :-)

                  Auch das geht leider nicht.

                  ioBroker auf Synology DS216+II im Docker Container

                  M 1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    cybertron
                    schrieb am zuletzt editiert von
                    #43

                    @Stuebi

                    ja, die Fritzbox hat eine Verbindung über T-Com. Wie beschreiben, kann ich mit FritzPhone auf dem Iphone diese auch ganz normal nutzen.

                    Inzwischen bin ich auch einen kleinen Schritt weiter.
                    Ich hatte alles nocheinmal deinstalliert (Adapter und Asterisk). Nach der Neuinstallation von Asterik war jedoch der Ordner /etc/asterisk bis aus ein Verzeichnis /manager.d komplett leer.
                    Später fiel mir auf, dass bei der Installation von asterisk-config alle config-Files als z.B sip.conf.dpkg.new kurz da sind und während der Installation dann verschwinden.
                    Ich habe sie dann kurzerhand in der Zeit inder sie da waren gesichert, dann umbenannt und nach der Installation zurück kopiert.

                    nachdem alles wieder konfiguriert war, hat ein core reload und ein core restart geholfen.
                    Seit dem ist iobroker mit dem Manager verbunden.

                    Eingehende Anrufe bekommen jetzt eine engl. Ansage bzgl Pineingabe oder so ähnlich.
                    Um einen abgehenden Anruf zu initialisieren muss ich die callerid mit angeben, dann wird der Anruf ausgelöst.

                    Ich versteh zwar noch nicht so wirklich, was bei der Installation hier immer wieder schief läuft, aber zumindest ist die Funktion jetzt schon mal gegeben.

                    Lieben dank
                    Gruss
                    Silvio

                    1 Antwort Letzte Antwort
                    0
                    • StuebiS Stuebi

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

                      Hallo,

                      da mit asterix ein Anruf durchgeführt werden kann, wäre es denn dann auch möglich die Wählhilfe zu nutzen?
                      Beispielsweise:
                      "Alexa, wähle die Rufnummer meiner Frau"
                      der Ruf wird aufgebaut und an des Fritzphone übergeben?

                      Nein das geht leider nicht. Du kannst über Alexa in Verbindung mit Asterisk Deine Frau Anrufen lassen und einen Text vorspielen.

                      Richtig gut wäre, wenn das Gespräch komplett über das Echo geführt werden könnte, aber eins nach dem anderen :-)

                      Auch das geht leider nicht.

                      M Offline
                      M Offline
                      Muchul
                      schrieb am zuletzt editiert von
                      #44

                      @Stuebi mennooo
                      Schade, das wäre ja echt gut gewesen.

                      M 1 Antwort Letzte Antwort
                      0
                      • M Muchul

                        @Stuebi mennooo
                        Schade, das wäre ja echt gut gewesen.

                        M Offline
                        M Offline
                        martin
                        schrieb am zuletzt editiert von
                        #45

                        @Muchul Dafür gibt es doch den Echo Connect. Mit dem geht das.

                        M 1 Antwort Letzte Antwort
                        0
                        • M martin

                          @Muchul Dafür gibt es doch den Echo Connect. Mit dem geht das.

                          M Offline
                          M Offline
                          Muchul
                          schrieb am zuletzt editiert von
                          #46

                          @martin
                          Danke für die Information.
                          Das kannte ich noch gar nicht.
                          Aber auf die schnelle sieht es nicht so toll aus.
                          Werde mich aber Mal etwas mehr damit beschäftigen.

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            martin
                            schrieb am zuletzt editiert von
                            #47

                            Du kannst mit dem Echo Connect über Alexa Anrufe tätigen und annehmen.
                            Übergabe auf FritzFon etc. geht allerdings nicht - zumindest habe ich es noch nicht geschafft.

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              martin
                              schrieb am zuletzt editiert von
                              #48

                              Kann mir jetzt noch jemand mit dem Script helfen?
                              Das kriege ich noch nicht zum laufen.
                              Ich habe es an mein 3D-Drucker Script anhängt das mir eine Telegram-Nachricht sendet wenn der 3D-Drucker fertig ist. Aber Anruf kommt leider keiner.
                              alt text

                              M 1 Antwort Letzte Antwort
                              0
                              • M martin

                                Kann mir jetzt noch jemand mit dem Script helfen?
                                Das kriege ich noch nicht zum laufen.
                                Ich habe es an mein 3D-Drucker Script anhängt das mir eine Telegram-Nachricht sendet wenn der 3D-Drucker fertig ist. Aber Anruf kommt leider keiner.
                                alt text

                                M Offline
                                M Offline
                                Muchul
                                schrieb am zuletzt editiert von
                                #49

                                @martin
                                Fehlt da nicht ein Trigger?

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  martin
                                  schrieb am zuletzt editiert von
                                  #50

                                  Ich habe keine Ahnung was da fehlt oder nicht stimmt.

                                  M StuebiS 2 Antworten Letzte Antwort
                                  0
                                  • M martin

                                    Ich habe keine Ahnung was da fehlt oder nicht stimmt.

                                    M Offline
                                    M Offline
                                    Muchul
                                    schrieb am zuletzt editiert von
                                    #51

                                    @martin
                                    Wie soll das Blockly erkennen das der Drucker fertig ist?
                                    Irgend ein Ereignis muss ja dazu führen, also angetriggert werden.

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      Michael85117
                                      schrieb am zuletzt editiert von
                                      #52

                                      ich versuche derzeit den Adapter auf einem Raspberry zum Laufen zu bekommen. Die Verbindung zum Manager klappt laut log. Leider bekomme ich danach Fehlermeldungen:
                                      javascript.0 error script.js.Klingel-Telefon: Result: {"result":null,"error":{}}
                                      asterisk.0 error Error while dialing (2). Error: {}
                                      asterisk.0 error Error while Converting File: {}

                                      Kann es daran liegen, weil ich die CLI von Asterisk als sudo aufrufen muss?

                                      StuebiS 2 Antworten Letzte Antwort
                                      0
                                      • M Michael85117

                                        ich versuche derzeit den Adapter auf einem Raspberry zum Laufen zu bekommen. Die Verbindung zum Manager klappt laut log. Leider bekomme ich danach Fehlermeldungen:
                                        javascript.0 error script.js.Klingel-Telefon: Result: {"result":null,"error":{}}
                                        asterisk.0 error Error while dialing (2). Error: {}
                                        asterisk.0 error Error while Converting File: {}

                                        Kann es daran liegen, weil ich die CLI von Asterisk als sudo aufrufen muss?

                                        StuebiS Offline
                                        StuebiS Offline
                                        Stuebi
                                        schrieb am zuletzt editiert von
                                        #53

                                        @Michael85117 , nein an sudo liegt es nicht. Es muss ein anderes Problem sein.
                                        Rufe sudo asrerisk -rvvvvvvv auf und starte einen call über ioBroker. Was steht in asterisk -rvvvvvv ?

                                        ioBroker auf Synology DS216+II im Docker Container

                                        1 Antwort Letzte Antwort
                                        0
                                        • M martin

                                          Ich habe keine Ahnung was da fehlt oder nicht stimmt.

                                          StuebiS Offline
                                          StuebiS Offline
                                          Stuebi
                                          schrieb am zuletzt editiert von
                                          #54

                                          @martin , der Trigger fehlt. Du musst einmal dual auf true setzen

                                          ioBroker auf Synology DS216+II im Docker Container

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          701

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe