Cursos Asterisk en México

Ayuda GoogleTTS

Colapsar

Anuncio

Colapsar
No hay anuncio todavía.
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Ayuda GoogleTTS

    Hola nuevamente les escribo por un problema que tengo con googleTTS.....
    Tengo instalado GoogleTTS siguiendo los pasos de:

    Asterisk AGI script that uses Googles' translate text to speech service.


    Mi Script al que he llamado vozgoogle2.php :

    #!/usr/bin/php -q
    <?php
    set_time_limit(30);
    require("phpagi.php");
    $agi = new AGI();
    $agi->answer();
    $agi->exec("AGI","googletts.agi,"Hola Mundo.",es");
    $agi->hangup();
    ?>

    Pero al llamar a la extensión no escucho la reproducción del audio, cabe recalcar que cuando ejecuto un comando en linux para escuchar musica con mpg123 (que es el que utiliza googleTTS) si reproduce la música.
    Ejecutando mi script desde la consola va bien.

    php vozgoogle2.php

    ANSWER

    EXEC AGI googletts.agi,"Hola Mundo.",es

    HANGUP


    Al llamar a la extensión 2504 lo que obtengo con el DEBUG AGI:

    -- Executing [2504@from-internal:1] Goto("SIP/2500-00000003", "prueba,2504,1") in new stack
    -- Goto (prueba,2504,1)
    -- Executing [2504@prueba:1] AGI("SIP/2500-00000003", "vozgoogle2.php") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/vozgoogle2.php
    -- AGI Script Executing Application: (AGI) Options: (googletts.agi,Hola Mundo.,es)
    -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
    -- <SIP/2500-00000003>AGI Script googletts.agi completed, returning 0
    -- <SIP/2500-00000003>AGI Script vozgoogle2.php completed, returning 4
    == Spawn extension (prueba, 2504, 1) exited non-zero on 'SIP/2500-00000003'


    He visto varios foros buscando si alguien ya había solucionado este problema, he intentado lo que a ellos les dió resultado pero a mi sin éxito

  • #2
    Habilita el AGI debug, intenta ejecutar el script(el del api) desde consola y busca errores.

    Comentario


    • #3
      Navaismo gracias por tu respuesta. El AGI debug está habilitado desde el CLI> agi set debug on
      Y lo que obtengo de respuesta es lo que puse arriba.
      Ejecutar el script desde consola lo hice y está todo ok, no hay ningun error.
      Ejecuté con: php vozgoogle2.php es lo que puse arriba también.

      Comentario


      • #4
        El debug no aparece, el script que ejecutas es el tuyo, necesitamos ver la salida del googletts.agi no la del vozgoogle2.php. Ya checaste las dependencias y permisos?

        Comentario


        • #5
          Hola Navaismo

          Originalmente publicado por navaismo Ver Mensaje
          Habilita el AGI debug, intenta ejecutar el script(el del api) desde consola y busca errores.

          Mmmm entonces ejecutar el phpagi.php? Ejecuto y no lanza nada, ni mensaje de error ni nada, Así nada mas pongo enter y no da nada.
          [root@Ss agi-bin]# php phpagi.php
          [root@Ss agi-bin]# php phpagi.php

          .
          pero el problema sera ahi? porque he podido ejecutar otros SCRIPT SIN GOOGLETTS SIN NINGUN PROBLEMA. Es decir creo mi extensión, he hecho script con text2wav y reproduce el audio sin problema, ejecuta todo el script.
          También ejecuto el de googletts.agi y no lanza error solo me muestra todo el código fuente, esta bien eso?

          Verifiqué los archivos a los que llama googletts.agi y esos archivos estan.
          No me deja Adjuntar el agi de googletts.agi a este mensaje....

          Dependencias permisos mmmm instalé todo, incluso el otro día pensé que el problema era de mpg123 y verifiqué. Ahora No lo es todo funciona bien con mpg123 reproduce música desde consola porque ahi si el otro dia faltaba los rpm.

          Algún problema con googleTTS específicamente pordría ser porque en el DEBUG solo entra a llamar al script para a ejecutar el googletts HASTA AHI no hay problema pero no reproduce el audio, la llamada queda en silencio.... De qué otra manera puedo ver si falta alguna dependencia? Si al instalar no pidió nada mas. Seguí los pasos que dice en la pag web.
          Asterisk AGI script that uses Googles' translate text to speech service.



          Estoy usando:
          CENTOS v5.9
          ELASTIX 2.4
          ASTERISK 1.8.20
          PHP 5.1.6
          PHPAGI 2.20
          MPG123 v1.20
          GOOGLETTS v0.6

          He visto otros foros donde tenían el mismo problema, uno que faltaba el rpm de mpg123 y solucionó instalando, en mi caso he instalado y sigue igual.
          Otro caso donde al momento de llamar a googletts debía ser con / en vez de " " hice eso pero ahí si lanzaba error.
          Otro caso que tenía que ejecutar amportal restart que ese era lo q le faltaba hacer a esa persona que por eso no funcionaba...
          Pero a mi ninguna de estas posibles soluciones me ha servido
          Muchas gracias.
          Editado por última vez por glap04; https://asteriskmx.org/foros/member/2501-glap04 en 01-14-2015, 01:23 PM.

          Comentario


          • #6
            Prueba con lo siguiente, añade esta linea en tu dialplan:
            Código:
            exten => 1234,1,Answer()
            exten => 1234,n,AGI(googletts.agi,"Esta es una simple prueba",es)
            Después entra al cli de asterisk e incrementa el verbose a 10. Habilita de nuevo el AGI debug. y pega la salida completa del cli.
            Revisa os permisos del script googletts.agi para que asterisk sea capaz de usarlo.

            Comentario


            • #7
              Los permisos de googletts.agi:

              # ls -lha googletts.agi
              -rwxrwxr-x 1 asterisk asterisk 7,7K ene 8 16:38 googletts.agi

              Soy principiante en Linux, pero el permiso de googletts.agi esta bien? porque es el mismo que tiene mi script vozgoogle2.php

              Entrando al CLI con asterisk -r he cambiado el verbose
              *CLI> core set debug 10
              Core debug was 0 and is now 10

              Esta bien?

              Ahora el debug lanza lo siguiente aun en esta parte no cmabié al ejemplo que me diste queria ver como recibo el debug

              -- Executing [2504@from-internal:1] Goto("SIP/2500-00000004", "prueba,2504,1") in new stack
              -- Goto (prueba,2504,1)
              -- Executing [2504@prueba:1] AGI("SIP/2500-00000004", "vozgoogle2.php") in new stack
              -- Launched AGI Script /var/lib/asterisk/agi-bin/vozgoogle2.php
              <SIP/2500-00000004>AGI Tx >> agi_request: vozgoogle2.php
              <SIP/2500-00000004>AGI Tx >> agi_channel: SIP/2500-00000004
              <SIP/2500-00000004>AGI Tx >> agi_language: en
              <SIP/2500-00000004>AGI Tx >> agi_type: SIP
              <SIP/2500-00000004>AGI Tx >> agi_uniqueid: 1421239769.4
              <SIP/2500-00000004>AGI Tx >> agi_version: 1.8.20.0
              <SIP/2500-00000004>AGI Tx >> agi_callerid: 2500
              <SIP/2500-00000004>AGI Tx >> agi_calleridname: device
              <SIP/2500-00000004>AGI Tx >> agi_callingpres: 0
              <SIP/2500-00000004>AGI Tx >> agi_callingani2: 0
              <SIP/2500-00000004>AGI Tx >> agi_callington: 0
              <SIP/2500-00000004>AGI Tx >> agi_callingtns: 0
              <SIP/2500-00000004>AGI Tx >> agi_dnid: 2504
              <SIP/2500-00000004>AGI Tx >> agi_rdnis: unknown
              <SIP/2500-00000004>AGI Tx >> agi_context: prueba
              <SIP/2500-00000004>AGI Tx >> agi_extension: 2504
              <SIP/2500-00000004>AGI Tx >> agi_priority: 1
              <SIP/2500-00000004>AGI Tx >> agi_enhanced: 0.0
              <SIP/2500-00000004>AGI Tx >> agi_accountcode:
              <SIP/2500-00000004>AGI Tx >> agi_threadid: -1222886512
              <SIP/2500-00000004>AGI Tx >>
              <SIP/2500-00000004>AGI Rx << ANSWER
              <SIP/2500-00000004>AGI Tx >> 200 result=0
              <SIP/2500-00000004>AGI Rx << EXEC AGI googletts.agi,"Hola Mundo.",es
              -- AGI Script Executing Application: (AGI) Options: (googletts.agi,Hola Mundo.,es)
              -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
              <SIP/2500-00000004>AGI Tx >> agi_request: googletts.agi
              <SIP/2500-00000004>AGI Tx >> agi_channel: SIP/2500-00000004
              <SIP/2500-00000004>AGI Tx >> agi_language: en
              <SIP/2500-00000004>AGI Tx >> agi_type: SIP
              <SIP/2500-00000004>AGI Tx >> agi_uniqueid: 1421239769.4
              <SIP/2500-00000004>AGI Tx >> agi_version: 1.8.20.0
              <SIP/2500-00000004>AGI Tx >> agi_callerid: 2500
              <SIP/2500-00000004>AGI Tx >> agi_calleridname: device
              <SIP/2500-00000004>AGI Tx >> agi_callingpres: 0
              <SIP/2500-00000004>AGI Tx >> agi_callingani2: 0
              <SIP/2500-00000004>AGI Tx >> agi_callington: 0
              <SIP/2500-00000004>AGI Tx >> agi_callingtns: 0
              <SIP/2500-00000004>AGI Tx >> agi_dnid: 2504
              <SIP/2500-00000004>AGI Tx >> agi_rdnis: unknown
              <SIP/2500-00000004>AGI Tx >> agi_context: prueba
              <SIP/2500-00000004>AGI Tx >> agi_extension: 2504
              <SIP/2500-00000004>AGI Tx >> agi_priority: 1
              <SIP/2500-00000004>AGI Tx >> agi_enhanced: 0.0
              <SIP/2500-00000004>AGI Tx >> agi_accountcode:
              <SIP/2500-00000004>AGI Tx >> agi_threadid: -1222886512
              <SIP/2500-00000004>AGI Tx >> agi_arg_1: Hola Mundo.
              <SIP/2500-00000004>AGI Tx >> agi_arg_2: es
              <SIP/2500-00000004>AGI Tx >>
              <SIP/2500-00000004>AGI Rx << CHANNEL STATUS
              <SIP/2500-00000004>AGI Tx >> 200 result=6
              -- <SIP/2500-00000004>AGI Script googletts.agi completed, returning 0
              <SIP/2500-00000004>AGI Tx >> 200 result=0
              <SIP/2500-00000004>AGI Rx << HANGUP
              <SIP/2500-00000004>AGI Tx >> 200 result=1
              -- <SIP/2500-00000004>AGI Script vozgoogle2.php completed, returning 4
              == Spawn extension (prueba, 2504, 1) exited non-zero on 'SIP/2500-00000004'
              Editado por última vez por glap04; https://asteriskmx.org/foros/member/2501-glap04 en 01-14-2015, 02:26 PM.

              Comentario


              • #8
                AHORA CON EL EJEMPLO QUE ME ENVIASTE PARA EL DIALPLAN
                exten => 1234,1,Answer() exten => 1234,n,AGI(googletts.agi,"Esta es una simple prueba",es) AL LLAMAR A LA EXTENSION 1234 ME DICE LA OPERADORA QUE MI LLAMADA NO SE PUEDE REALIZAR TAL COMO LA HE MARCADO.
                ESTE ES EL DEBUG :


                -- Executing [1234@from-internal:1] Answer("SIP/2500-00000007", "") in new stack
                -- Executing [1234@from-internal:2] AGI("SIP/2500-00000007", "googletts.agi,"Esta es una simple prueba",es") in new stack
                -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
                <SIP/2500-00000007>AGI Tx >> agi_request: googletts.agi
                <SIP/2500-00000007>AGI Tx >> agi_channel: SIP/2500-00000007
                <SIP/2500-00000007>AGI Tx >> agi_language: en
                <SIP/2500-00000007>AGI Tx >> agi_type: SIP
                <SIP/2500-00000007>AGI Tx >> agi_uniqueid: 1421240652.7
                <SIP/2500-00000007>AGI Tx >> agi_version: 1.8.20.0
                <SIP/2500-00000007>AGI Tx >> agi_callerid: 2500
                <SIP/2500-00000007>AGI Tx >> agi_calleridname: device
                <SIP/2500-00000007>AGI Tx >> agi_callingpres: 0
                <SIP/2500-00000007>AGI Tx >> agi_callingani2: 0
                <SIP/2500-00000007>AGI Tx >> agi_callington: 0
                <SIP/2500-00000007>AGI Tx >> agi_callingtns: 0
                <SIP/2500-00000007>AGI Tx >> agi_dnid: 1234
                <SIP/2500-00000007>AGI Tx >> agi_rdnis: unknown
                <SIP/2500-00000007>AGI Tx >> agi_context: from-internal
                <SIP/2500-00000007>AGI Tx >> agi_extension: 1234
                <SIP/2500-00000007>AGI Tx >> agi_priority: 2
                <SIP/2500-00000007>AGI Tx >> agi_enhanced: 0.0
                <SIP/2500-00000007>AGI Tx >> agi_accountcode:
                <SIP/2500-00000007>AGI Tx >> agi_threadid: -1222886512
                <SIP/2500-00000007>AGI Tx >> agi_arg_1: Esta es una simple prueba
                <SIP/2500-00000007>AGI Tx >> agi_arg_2: es
                <SIP/2500-00000007>AGI Tx >>
                <SIP/2500-00000007>AGI Rx << CHANNEL STATUS
                <SIP/2500-00000007>AGI Tx >> 200 result=6
                -- <SIP/2500-00000007>AGI Script googletts.agi completed, returning 0
                -- Executing [1234@from-internal:3] Progress("SIP/2500-00000007", "") in new stack
                -- Executing [1234@from-internal:4] Wait("SIP/2500-00000007", "1") in new stack
                -- Executing [1234@from-internal:5] Progress("SIP/2500-00000007", "") in new stack
                -- Executing [1234@from-internal:6] Playback("SIP/2500-00000007", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
                -- <SIP/2500-00000007> Playing 'silence/1.gsm' (language 'en')
                -- <SIP/2500-00000007> Playing 'cannot-complete-as-dialed.gsm' (language 'en')
                -- <SIP/2500-00000007> Playing 'check-number-dial-again.gsm' (language 'en')
                -- Executing [1234@from-internal:7] Wait("SIP/2500-00000007", "1") in new stack
                -- Executing [1234@from-internal:8] Congestion("SIP/2500-00000007", "20") in new stack
                == Spawn extension (from-internal, 1234, 8) exited non-zero on 'SIP/2500-00000007'
                -- Executing [h@from-internal:1] Macro("SIP/2500-00000007", "hangupcall") in new stack
                -- Executing [s@macro-hangupcall:1] GotoIf("SIP/2500-00000007", "1?endmixmoncheck") in new stack
                -- Goto (macro-hangupcall,s,9)
                -- Executing [s@macro-hangupcall:9] NoOp("SIP/2500-00000007", "End of MIXMON check") in new stack
                -- Executing [s@macro-hangupcall:10] GotoIf("SIP/2500-00000007", "1?nomeetmemon") in new stack
                -- Goto (macro-hangupcall,s,28)
                -- Executing [s@macro-hangupcall:28] NoOp("SIP/2500-00000007", "End of MEETME check") in new stack
                -- Executing [s@macro-hangupcall:29] GotoIf("SIP/2500-00000007", "1?noautomon") in new stack
                -- Goto (macro-hangupcall,s,34)
                -- Executing [s@macro-hangupcall:34] NoOp("SIP/2500-00000007", "TOUCH_MONITOR_OUTPUT=") in new stack
                -- Executing [s@macro-hangupcall:35] GotoIf("SIP/2500-00000007", "1?noautomon2") in new stack
                -- Goto (macro-hangupcall,s,41)
                -- Executing [s@macro-hangupcall:41] NoOp("SIP/2500-00000007", "MONITOR_FILENAME=") in new stack
                -- Executing [s@macro-hangupcall:42] GotoIf("SIP/2500-00000007", "1?skiprg") in new stack
                -- Goto (macro-hangupcall,s,45)
                -- Executing [s@macro-hangupcall:45] GotoIf("SIP/2500-00000007", "1?skipblkvm") in new stack
                -- Goto (macro-hangupcall,s,48)
                -- Executing [s@macro-hangupcall:48] GotoIf("SIP/2500-00000007", "1?theend") in new stack
                -- Goto (macro-hangupcall,s,50)
                -- Executing [s@macro-hangupcall:50] AGI("SIP/2500-00000007", "hangup.agi") in new stack
                -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
                <SIP/2500-00000007>AGI Tx >> agi_request: hangup.agi
                <SIP/2500-00000007>AGI Tx >> agi_channel: SIP/2500-00000007
                <SIP/2500-00000007>AGI Tx >> agi_language: en
                <SIP/2500-00000007>AGI Tx >> agi_type: SIP
                <SIP/2500-00000007>AGI Tx >> agi_uniqueid: 1421240652.7
                <SIP/2500-00000007>AGI Tx >> agi_version: 1.8.20.0
                <SIP/2500-00000007>AGI Tx >> agi_callerid: 2500
                <SIP/2500-00000007>AGI Tx >> agi_calleridname: device
                <SIP/2500-00000007>AGI Tx >> agi_callingpres: 0
                <SIP/2500-00000007>AGI Tx >> agi_callingani2: 0
                <SIP/2500-00000007>AGI Tx >> agi_callington: 0
                <SIP/2500-00000007>AGI Tx >> agi_callingtns: 0
                <SIP/2500-00000007>AGI Tx >> agi_dnid: 1234
                <SIP/2500-00000007>AGI Tx >> agi_rdnis: unknown
                <SIP/2500-00000007>AGI Tx >> agi_context: macro-hangupcall
                <SIP/2500-00000007>AGI Tx >> agi_extension: s
                <SIP/2500-00000007>AGI Tx >> agi_priority: 50
                <SIP/2500-00000007>AGI Tx >> agi_enhanced: 0.0
                <SIP/2500-00000007>AGI Tx >> agi_accountcode:
                <SIP/2500-00000007>AGI Tx >> agi_threadid: -1222886512
                <SIP/2500-00000007>AGI Tx >>
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(uniqueid)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (1421240652.7)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(answer)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (2015-01-14 17:04:12)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(src)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (2500)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(dst)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (1234)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(billsec)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (28)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(dstchannel)
                <SIP/2500-00000007>AGI Tx >> 200 result=0
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(disposition)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (ANSWERED)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(accountcode)
                <SIP/2500-00000007>AGI Tx >> 200 result=0
                <SIP/2500-00000007>AGI Rx << GET VARIABLE CDR(channel)
                <SIP/2500-00000007>AGI Tx >> 200 result=1 (SIP/2500-00000007)
                <SIP/2500-00000007>AGI Rx << GET VARIABLE DIAL_TRUNK
                <SIP/2500-00000007>AGI Tx >> 200 result=0
                -- <SIP/2500-00000007>AGI Script hangup.agi completed, returning 0
                -- Executing [s@macro-hangupcall:51] Hangup("SIP/2500-00000007", "") in new stack
                == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/2500-00000007' in macro 'hangupcall'
                == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/2500-00000007'


                Muchas gracias Navaismo.
                Editado por última vez por glap04; https://asteriskmx.org/foros/member/2501-glap04 en 01-14-2015, 02:26 PM.

                Comentario


                • #9
                  En ninguno de los dos casos termina por ejecutar el script googletts.agi, Ejecutalo desde consola usando perl:

                  Código:
                  #perl googletts.agi "tes"  "es"
                  Y pega la salida ´para saber si existe algún error. Si no se ejecuta desde consola habilita el verbose que viene dentro del script para ver si envía algo al cli de asterisk. ¿El pbx tiene salida a internet cierto?

                  Comentario


                  • #10
                    Hola Navaismo, si hay error al ejecutarlo:

                    # perl googletts.agi "tes" "es"

                    Use of uninitialized value in concatenation (.) or string at googletts.agi line 108, <STDIN> line 1.
                    Use of uninitialized value in length at googletts.agi line 140, <STDIN> line 1.
                    CHANNEL STATUS

                    -- : Unexpected result:
                    -- : Failed to fetch file.


                    Mi PBX si tiene salida a internet, solo que hay un servidor Proxy, la IP del proxy tengo configurado en YUM y WGET . Eso no será problema para googletts?? será que en alguna parte se configura el IP del Proxy.
                    Gracias Navaismo.

                    Comentario


                    • #11
                      Navaismo, me faltaba configurar la ip del proxy!!! ahora si da todo OK!!
                      Es para darme un golpe en la cabeza!! jajaja tantos dias viendo que no daba esto, y era algo mas simple!.
                      Muchas gracias.

                      Comentario

                      Principales Usuarios Activos

                      Colapsar

                      No hay usuarios activos superiores.
                      Trabajando...
                      X