Cursos Asterisk en México

AutoDialer Agi Php

Colapsar

Anuncio

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

  • AutoDialer Agi Php

    Buen día.

    Tengo una problema. estoy haciendo un AGI en el cual quiero llamar a una lista de Numero desde una base de datos y cuando conteste el telefono mande una grabacion. El problema es que no me detecta cuando descuelgan el telefono no se si estoy bien en mi AGI. Este es El codigo con el que estoy Haciendo una Prueba:

    #!/usr/bin/php -q
    <?php
    require("phpagi/phpagi.php");
    $agi= new AGI();
    $agi->exec("Dial","DAHDI/g1/0444771251481,300,");
    $agi->answer();
    $agi->exec("Playback","custom/EMERGENCIAS");
    ?>

    Con ese Agi puedo llamar pero no detecta el Answer(); y no reporduce la grabacion. No se si estoy haciendo algo mal en el codigo.

    Saludos.

  • #2
    La comando Answer() es para que tu contestes, no te abre el canal remoto. Yo te recomiendo que uses un canal Local y manejes eso desde el dialplan. Con el canal local puedes saber es estado de tu llamada con DIALSTATUS y asi saber que paso con ella.

    De otro modo y para controlarlo vía tiempo real puedes usar el phpasmanager del mismo PHPAGI con eso estarás comunicándote vía AMI con el asterisk y sabrás que pasa en cada evento.

    Comentario


    • #3
      Los AGIs no funcionan asi. Si lo que quieres es marcarle a alguien y que cuando conteste reproducirle el sonido de EMERGENCIAS que dice tu script, necesitas algo como esto:

      Código:
      #!/usr/bin/php -q
      <?php
      require("phpagi/phpagi.php");
      $agi= new AGI();
      $agi->exec("Dial","DAHDI/g1/0444771251481,300,M(reproduce^custom/EMERGENCIAS)");
      ?>
      Y luego, en tu extensions.conf, poner algo como esto:

      Código:
      [macro-reproduce]
      exten => s,1,Playback(${ARG1})
      exten => s,n,Set(MACRO_RESULT=CONTINUE)
      exten => s,n,Hangup
      De esta manera, le llamarás al número que indicas y al contestar, lo conectarás al macro-reproduce pasando como argumento el nombre del archivo de sonido que quieres reproducir.

      Ahora bien, si tu DAHDI/g1 es una tarjeta analógica, lamento decirte que esto no te va a funcionar, ya que las tarjetas analógicas marcan la llamada como contestada al momento en que toman línea para marcar, no cundo te contestan (pero ese ya es otro problema).

      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

      Principales Usuarios Activos

      Colapsar

      No hay usuarios activos superiores.
      Trabajando...
      X