Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Asterisk bringt "Error while dialing (2). Error: {}"

    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

    Asterisk bringt "Error while dialing (2). Error: {}"

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      boeskij @CrazyFloyd last edited by

      @crazyfloyd
      das sieht jetzt erstmal nicht so verkehrt aus...
      funktionieren denn andere Rufnummern oder gar keine?
      werden eingehende Anrufe vom asterisk/iobroker beantwortet?
      verbindet sich die asterisk-instanz mit dem asterisk?
      verbindet sich asterisk mit der fritzbox?

      C 1 Reply Last reply Reply Quote 0
      • V
        varg @varg last edited by varg

        @varg habe gerade eine chat anfrage erhalten und poste nochmals hier die vorgehensweise die (dank der jungs hier) bei mir funktioniert hat.

        wget -q https://ftp-master.debian.org/keys/release-10.asc -O- | sudo apt-key add -
        echo "deb http://deb.debian.org/debian buster non-free" | sudo tee -a /etc/apt/sources.list
        sudo apt update
        sudo apt install libttspico-utils

        sudo apt-get install libttspico-utils lame

        in asterisk transcoder auf sox gestellt.
        asterisk config nach github

        on({id: 'asterisk.0.dialout.call'}, function (obj) {
            let msg = getState('asterisk.0.dialout.text').val;
            let tnr = getState('asterisk.0.dialout.telnr').val;
            let cid = getState('asterisk.0.dialout.callerid').val;
         
            exec('pico2wave -w /tmp/ttsdatei.wav -l de-DE "' + msg + '"', function (error, stdout, stderr) { 
                                    /* wav erstellt */
                                    exec('sox /tmp/ttsdatei.wav -r 8000 -c 1 /tmp/ttsdatei.gsm', function (error, stdout, stderr) { 
                                        /* gsm erstellt */
                                        exec('rm /tmp/ttsdatei.wav', function (error, stdout, stderr) { 
                                            /* wav gelöscht, sonst wurde beim folgenden Anruf ggf. die falsche Datei aufgerufen... */
                                                sendTo('asterisk.0', "dial", { telnr: tnr , callerid: cid, audiofile: '/tmp/ttsdatei.gsm'},  (res) => {
                                                    console.log('Result: ' + JSON.stringify(res));
                                                    exec('cp /tmp/ttsdatei.gsm /tmp/asterisk_dtmf.gsm', function (error, stdout, stderr) { 
                                                        /* Die asterisk_dtmf.gsm wird für Dial-In Anrufe verwendet... Hier wird dann einfach der letzte Anruf nochmal wiedergegeben */
                                                        /* Das folgende Löschen führte bei mir zu Problemen, also bleibt die Datei liegen.. wird ja eh überschrieben */
                                                        /* exec('rm /tmp/ttsdatei.gsm', function (error, stdout, stderr) { console.log('Telefonalamierung: gsm gelöscht'); }); */
                                                    });
                                                });
                                        });
                                    });
                                });
        });
        
        

        bei instanzstart kommt zwar nach wie vor error while converting file aber das wird ja dann vom script und tts übernommen.

        mit folgendem blockly trigger ich dann die datenpunkte

        <xml xmlns="https://developers.google.com/blockly/xml">
          <block type="on" id="kKge@_%+BDw6n!K(/^X(" x="63" y="1163">
            <field name="OID">0_userdata.0.notfall.asterisk_04</field>
            <field name="CONDITION">true</field>
            <field name="ACK_CONDITION"></field>
            <statement name="STATEMENT">
              <block type="control" id="Zma!K=;5A|U@oRsH4[0s">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">asterisk.0.dialout.text</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="text" id="{d.,gn^x-!O3Mf%OFwu;">
                    <field name="TEXT">Rauchmelder zu Hause ausgelöst</field>
                  </block>
                </value>
                <next>
                  <block type="control" id="j}/Ii|hS}Tm=mI8[ah[Y">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">asterisk.0.dialout.telnr</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="text" id="jGY8`[Q9`0u#J+]CWWmc">
                        <field name="TEXT">00000000000</field>
                      </block>
                    </value>
                    <next>
                      <block type="control" id="7vVeDp2(HKA^yDV..=`M">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">asterisk.0.dialout.callerid</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="text" id=".PKJzB615hu)o|v.ns7)">
                            <field name="TEXT">0</field>
                          </block>
                        </value>
                        <next>
                          <block type="control" id="#gb%Wc4:m]{xk1W|KxyX">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                            <field name="OID">asterisk.0.dialout.call</field>
                            <field name="WITH_DELAY">TRUE</field>
                            <field name="DELAY_MS">2000</field>
                            <field name="UNIT">ms</field>
                            <field name="CLEAR_RUNNING">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="E8SqluH0+3,i.U;2GT+2">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                            <next>
                              <block type="control" id="jpO:t6;=~p9o[/]KMr?A">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                <field name="OID">0_userdata.0.notfall.asterisk_04</field>
                                <field name="WITH_DELAY">TRUE</field>
                                <field name="DELAY_MS">60</field>
                                <field name="UNIT">sec</field>
                                <field name="CLEAR_RUNNING">FALSE</field>
                                <value name="VALUE">
                                  <block type="logic_boolean" id="`s`R94Iz^9G|2Sh/.jsq">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>
        
        1 Reply Last reply Reply Quote 0
        • C
          CrazyFloyd @boeskij last edited by

          @boeskij sagte in Asterisk bringt "Error while dialing (2). Error: {}":

          @crazyfloyd
          das sieht jetzt erstmal nicht so verkehrt aus...
          funktionieren denn andere Rufnummern oder gar keine?
          werden eingehende Anrufe vom asterisk/iobroker beantwortet?
          verbindet sich die asterisk-instanz mit dem asterisk?
          verbindet sich asterisk mit der fritzbox?

          ja und nein. ich habe festgestellt das ich von der asterix istanz folgende fehlermeldung bekomme:

          sudo asterisk -rvvvvvvv
          Asterisk 16.2.1~dfsg-1+deb10u2, Copyright (C) 1999 - 2018, 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 16.2.1~dfsg-1+deb10u2 currently running on rasp-iobroker (pid = 29625)
          rasp-iobroker*CLI> sip show registry
          Host dnsmgr Username Refresh State Reg.Time
          192.168.2.1:5060 N 123456789 120 Request Sent
          1 SIP registrations.
          [Jun 27 17:28:13] ERROR[29927]: chan_sip.c:4321 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
          [Jun 27 17:28:13] NOTICE[29927]: chan_sip.c:15981 sip_reg_timeout: -- Registration for '123456789@192.168.2.1' timed out, trying again (Attempt #2)

          ich bin mir aber sicher das das telefoniegerät an der fritzbox und der user in der sip.conf richtig sind. werde langsam wahnsinnig.
          kann das evtl an der neuen fritz soft liegen version 7.27 auf einer 7530.?

          C 1 Reply Last reply Reply Quote 0
          • C
            CrazyFloyd @CrazyFloyd last edited by

            @crazyfloyd sagte in Asterisk bringt "Error while dialing (2). Error: {}":

            @boeskij sagte in Asterisk bringt "Error while dialing (2). Error: {}":

            @crazyfloyd
            das sieht jetzt erstmal nicht so verkehrt aus...
            funktionieren denn andere Rufnummern oder gar keine?
            werden eingehende Anrufe vom asterisk/iobroker beantwortet?
            verbindet sich die asterisk-instanz mit dem asterisk?
            verbindet sich asterisk mit der fritzbox?

            ja und nein. ich habe festgestellt das ich von der asterix istanz folgende fehlermeldung bekomme:

            sudo asterisk -rvvvvvvv
            Asterisk 16.2.1~dfsg-1+deb10u2, Copyright (C) 1999 - 2018, 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 16.2.1~dfsg-1+deb10u2 currently running on rasp-iobroker (pid = 29625)
            rasp-iobroker*CLI> sip show registry
            Host dnsmgr Username Refresh State Reg.Time
            192.168.2.1:5060 N 123456789 120 Request Sent
            1 SIP registrations.
            [Jun 27 17:28:13] ERROR[29927]: chan_sip.c:4321 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
            [Jun 27 17:28:13] NOTICE[29927]: chan_sip.c:15981 sip_reg_timeout: -- Registration for '123456789@192.168.2.1' timed out, trying again (Attempt #2)

            ich bin mir aber sicher das das telefoniegerät an der fritzbox und der user in der sip.conf richtig sind. werde langsam wahnsinnig.
            kann das evtl an der neuen fritz soft liegen version 7.27 auf einer 7530.?

            Ich hab es jetzt hin bekommen. Kann aber nicht genau sagen woran es letzt-endlich gelegen hat. Danke für alles..... Von Herzen..

            1 Reply Last reply Reply Quote 0
            • Z
              zaggul @boeskij last edited by zaggul

              doppelt, sorry.

              1 Reply Last reply Reply Quote 0
              • Z
                zaggul @boeskij last edited by

                @boeskij said in Asterisk bringt "Error while dialing (2). Error: {}":

                Hallo zusammen,
                ich vermute Google hat etwas an der verwendeten Text-To-Speech API verändert, sodass nur noch eine bestimmte Anzahl Wandlungen in einem Zeitraum möglich sind (wenn überhaupt noch)...
                Ich habe es jetzt so gelöst, dass im Skript "umzu" mit lokalem PicoTTS wav-Dateien erzeugt und mit sox zur gsm konvertiert werden.

                Problem ist, dass beim Starten des Adapters der Dial-In-Text an Google geschickt wird und natürlich nicht gewandelt wird...
                Als Konsequenz daraus startet dann der Adapter nicht korrekt (kein DTMF mehr möglich)
                Um dies quick and dirty zu beheben habe ich in der asterisk.js die Zeilen 757 und 788 auskommentiert...
                Der Teil dazwischen wurde sonst nicht ausgeführt...

                757:	/* convertDialInFile(parameter, () => { */
                .....
                788:	/* }); */
                

                Wäre natürlich toll, wenn jemand den Adapter so umbauen könnte, dass eine andere TTS-Engine genutzt wird...

                Wo finde ich denn die Datei asterisk.js. zum auskommentieren? Im iobroker-data finde ich sie nicht.
                Danke!

                bahnuhr B 2 Replies Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active @zaggul last edited by

                  @zaggul sagte in Asterisk bringt "Error while dialing (2). Error: {}":

                  Wo finde ich denn die Datei asterisk.js. zum auskommentieren? Im iobroker-data finde ich sie nicht.

                  Warum lässt du es nicht so wie es ist.
                  Es kommt Fehlermeldung, aber mehr auch nicht.

                  Beim nächsten update würde dies sowieso wieder überschrieben werden.

                  js findest du in node-modules.

                  1 Reply Last reply Reply Quote 0
                  • B
                    boeskij @zaggul last edited by

                    @zaggul
                    bei mir liegt die Datei unter

                    /opt/iobroker/node_modules/iobroker.asterisk/asterisk.js
                    

                    @bahnuhr said in Asterisk bringt "Error while dialing (2). Error: {}":

                    Warum lässt du es nicht so wie es ist.
                    Es kommt Fehlermeldung, aber mehr auch nicht.

                    Beim nächsten update würde dies sowieso wieder überschrieben werden.

                    Ja, die Datei würde beim nächsten Update überschrieben (aber im Moment gibt es ja keine Updates...)
                    Es kommt die Fehlermeldung und es sind keine DTMF-Befehle mehr möglich!
                    Wenn nur ein Text vorgelesen werden soll ist das OK, wenn aber Befehle durch eine Zahlenkombination ausgeführt werden sollen, funktioniert das nicht...

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

                      This will not work:

                      $ wget "https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=hallo%20du&tl=de&total=1&idx=0&textlen=10"
                      --2021-07-16 22:49:43--  https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=hallo%20du&tl=de&total=1&idx=0&textlen=10
                      Auflösen des Hostnamens translate.google.com (translate.google.com)… 142.250.185.238, 2a00:1450:4005:80b::200e
                      Verbindungsaufbau zu translate.google.com (translate.google.com)|142.250.185.238|:443 … verbunden.
                      HTTP-Anforderung gesendet, auf Antwort wird gewartet … 403 Forbidden
                      2021-07-16 22:49:44 FEHLER 403: Forbidden.
                      
                      

                      This will work:

                      $ wget --user-agent='Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0' "https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=hallo%20du&tl=de&total=1&idx=0&textlen=10" --2021-07-16 22:51:58--  https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=hallo%20du&tl=de&total=1&idx=0&textlen=10
                      Auflösen des Hostnamens translate.google.com (translate.google.com)… 142.250.184.206, 2a00:1450:4001:802::200e
                      Verbindungsaufbau zu translate.google.com (translate.google.com)|142.250.184.206|:443 … verbunden.
                      HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
                      Länge: nicht spezifiziert [audio/mpeg]
                      Wird in »translate_tts?ie=UTF-8&client=tw-ob&q=hallo du&tl=de&total=1&idx=0&textlen=10« gespeichert.
                      
                      translate_tts?ie=UTF-8&client=tw-ob&q=hallo du&tl=de&total=     [ <=>                                                                                                                                     ]   5,16K  --.-KB/s    in 0s
                      
                      2021-07-16 22:51:58 (10,8 MB/s) - »translate_tts?ie=UTF-8&client=tw-ob&q=hallo du&tl=de&total=1&idx=0&textlen=10« gespeichert [5280]
                      
                      

                      So we can change in lib/transcode.js line 100 - 105

                            // https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C%207&tl=ru&total=1&idx=0&textlen=10
                            const options = {
                              host: 'translate.google.com',
                              //port: 443,
                              path: '/translate_tts?ie=UTF-8&client=tw-ob&q=' + encodeURI(text) + '&tl=' + language + '&total=1&idx=0&textlen=' + text.length //
                            };
                      

                      to

                            // https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B8%D1%82%D1%8C%207&tl=ru&total=1&idx=0&textlen=10
                            const options = {
                              host: 'translate.google.com',
                              //port: 443,
                              path: '/translate_tts?ie=UTF-8&client=tw-ob&q=' + encodeURI(text) + '&tl=' + language + '&total=1&idx=0&textlen=' + text.length, //
                              headers: {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'}
                            };
                      
                      

                      The API will only talk to firefox

                      1 Reply Last reply Reply Quote 0
                      • C
                        CrazyFloyd last edited by

                        Kann mir noch einmal jemand helfen.
                        Ich möchte gerne die Anrufzeit begrenzen die versucht werden soll wie lange ein Anrufversuch stattfinden soll. Möchte das gerne für einen Anrufversuch auf z.B. 15 Sekunden begrenzen. Falls der Anruf nicht angenommen wird soll der Anrufversuch beendet werden.
                        Danke schon mal...

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        558
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        10
                        116
                        9003
                        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