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.
    • C
      CrazyFloyd last edited by CrazyFloyd

      Ich bekomme es leider nicht hin.
      Kann jemand vielleicht über mein Fehlerbild drüber schauen und mir noch einen Tipp geben.

      asterisk.0
      2021-06-26 09:29:49.389 error Error while dialing (1). Error: {"response":"Error","actionid":"d4032cc3-b84e-5573-5779-f676c768a050","message":"Originate failed"}, Result: {"parameter":{"telnr":"**611","callerid":"**621","audiofile":"/tmp/ttsdatei","extension":"15041965"},"options":{"action":"originate","channel":"SIP/15041965/**611","context":"ael-ansage","exten":"**611","priority":1,"timeout":60000,"variable":{"repeat":5,"file":"/tmp/ttsdatei","del":""},"callerid":"**621"},"guid":"d4032cc3-b84e-5573-5779-f676c768a050","result":{"response":"Error","actionid":"d4032cc3-b84e-5573-5779-f676c768a050","message":"Originate failed"}}

      **621 und **611 sind die internen Telefonfonnummer der Telephoniegeräte der Fritzbox. Diese habe ich im Script in Hochkommas gesetzt. ohne Hochkommas geht das Script in einen Error, mit den Sternchen vor der Nummer.

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

        @crazyfloyd
        funktionieren denn andere Rufnummern oder gar keine?
        werden eingehende Anrufe vom asterisk/iobroker beantwortet?
        zeig doch mal das Script...

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

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

          @crazyfloyd
          funktionieren denn andere Rufnummern oder gar keine?
          werden eingehende Anrufe vom asterisk/iobroker beantwortet?
          zeig doch mal das Script...

          Hier mein script:

          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 it-IT "' + 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: '**611' , callerid: '**621', 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'); }); */
                                                  });
                                              });
                                      });
                                  });
                              });
          

          });

          B 1 Reply Last reply Reply Quote 0
          • 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

                              766
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

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