Cursos Asterisk en México

Reproduccion de Audios en un AGI

Colapsar

Anuncio

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

  • Reproduccion de Audios en un AGI

    Hola

    He desarrollado 2 AGI, el primero permite levantar un reporte y el segundo da el tiempo promedio de atencion de reportes, a fin de cuentas será solo uno, el problema que tengo es que al final reproduzco una grabacion y esta no se escucha (o no se reproduce), en el caso del segundo AGI es minutes;

    $agi->stream_file('minutes');
    $agi->hangup();
    ?>

    asi finaliza el AGI, la "solucion" temporal que le he dado a esto es poniendo 2 veces la grabacion:

    $agi->stream_file('minutes');
    $agi->stream_file('minutes');
    $agi->hangup();
    ?>

    con esto se escucha una sola vez pero como verán no es una solución correcta, ¿alguien me podría decir como evitar hacer esta "doble" reproducción del audio?

    Gracias de antemano

  • #2
    habilita el debug de agi, vuelve a ejecutarlo y muestranos los resultados...
    Hector Alvarez
    dCAP Certified #2199
    http://mx.linkedin.com/in/alvarezhector/

    Comentario


    • #3
      Solo para validar: ¿estás ejecutando un answer ANTES de usar el AGI? He tenido este tipo de problemas antes por la misma causa.

      Saludos,
      dCAP Christian Cabrera R.
      Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
      Si deseas asesoría pagada, por favor contáctame

      Comentario


      • #4
        Hola Christian

        este es el agi completo

        #!/usr/bin/php -q
        <?php
        include 'phpagi.php';
        // Creamos un objeto de la clase AGI
        $agi = new AGI();
        // Contestamos el canal
        $agi->answer();
        $fecha =date("Y-m-d");

        include("conexion2.php");
        $sql="select floor(avg((UNIX_TIMESTAMP(fec_sur)-UNIX_TIMESTAMP(fec_ped))/60)) as minutos from ped_eqp where fec_sur<>'0000-00-00 00:00:00' and date(fec_ped)='".$fecha."'";

        $link=Conexion();
        if (!$result=mysql_query($sql,$link))
        {
        // Fallo el insert;
        }
        else
        {
        // SI Encontro;
        $mins = mysql_fetch_array($result);
        //echo "Si Encontro ".$mins[0];
        }
        $agi->say_number($mins[0]);
        $agi->stream_file('minutes');
        $agi->stream_file('minutes');

        $agi->hangup();
        ?>

        Comentario


        • #5
          Hola Viendo un poco el tema y que aun no esta resuelto, yo lo haria simple para ver si lo que esta mal es el codigo que no digo que lo este, pero para ver si el problema es en la reproduccion del archivo hazlo simple solo manda la reproduccion del archivo desde el agi aver que pasa

          Comentario


          • #6
            Me ha pasado que cuando la reproducción es inmediatamente después del contestado, el canal de audio no se ha terminado de abrir así que no se escucha inmediatamente.

            ¿Ya probaste insertando un tiempo de espera después del answer() para ver si eso facilita?
            dCAP Christian Cabrera R.
            Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
            Si deseas asesoría pagada, por favor contáctame

            Comentario


            • #7
              Buen día

              como veras despues del answer() el AGI hace varias cosas entre ellas una consulta a una base de datos donde saca un promedio, hasta después de eso es cuando mando reproducir el audio, ¿sugieres que le meta mas tiempo?, ¿Cuando seria razonable?

              saludos

              Comentario


              • #8
                En efecto, haces más, pero nada de eso le llega a Asterisk. Ejecuta un $agi->exec('Wait',1), eso debería ser suficiente.
                dCAP Christian Cabrera R.
                Para aprender a usar Asterisk, asiste a uno de mis cursos Asterisk
                Si deseas asesoría pagada, por favor contáctame

                Comentario


                • #9
                  Hola Christian

                  Hice la prueba como me lo sugieres y no funcionó, cambie el 1 por 2 y 3 sin resultado satisfactorio

                  saludos

                  Comentario


                  • #10
                    cambia $agi->stream_file('minutos') por $agi->exec('playback','minutos') ya que tu solo quieres reproducir y no obtener el primer tono dtmf, espero te ayude saludos.

                    Comentario

                    Principales Usuarios Activos

                    Colapsar

                    No hay usuarios activos superiores.
                    Trabajando...
                    X