Cursos Asterisk en México

duda con agi en php

Colapsar

Anuncio

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

  • duda con agi en php

    hola a todos:
    Tengo el siguiente agi en php

    #!/usr/bin/php5
    $fp=fopen("php://stdin","r");
    $linea=fgets($fp,255);
    echo $linea;
    $param=strtok($linea,",");
    $param=strtok(",");
    $db=mysql_connect("localhost","root","123456");
    mysql_select_db("numero",$db);
    $q="insert into num values('$param')";
    $query=mysql_query($q,$db);
    mysql_close($db);
    ?>

    Cuando hago una pregunta usando un IVR (presiona 1 spanish o 2 english) esos valores los guarda en mi bd.
    Lo que hace es almacenar los valores tecleados por el usuario en el x-lite.
    Sin embargo, como se daran cuenta tambien acepta las opciones 3,4,5...
    Lo que quiero es que cuando marque en el x-lite una opcion diferente a las opciones que tienen mis preguntas, me mande un mensaje de error y me regrese a la pregunta para que vuelva a responderla.

    NOTA:
    Estoy manejando preguntas que tienen diferentes opciones.
    Alguna idea de como hacer el agi?
    Gracias

  • #2
    duda con agi en php

    Karla,
    Esto nada tiene que ver con el AGI. Esto es de programación. y si sabes PHP pues se te va a hacer mucho mas sencillo.
    Debes tener claridad sobre todo en saltos GOTO, Conficionales IF y en ciclos WHILE.
    Posibles soluciones:
    1) Directamente en Extensions.conf tener unicamente las opciones 1 y 2 para que se haga un goto al contexto que tu quieras, sin necesidad del AGI. En caso que se presione un valor diferente vuelves a pasar el mensaje inicial.
    2) Con el AGI manejando todo. Aqui sencillamente guardas los valores leidos en variables y preguntas que valor tiene la variable para enviarlo a donde tu quieres. Si la variable no contiene ni 1 ni 2 pues repites la operación.
    3) Integrando las ocnfiguración de Extension con AGI.

    Saludos

    Comentario


    • #3
      duda con agi en php

      Algo como esto haría lo que dice Jorge

      [contexto]
      exten => s,1,Answer
      exten => s,2,Background(mensaje)

      exten => _[12],1,AGI(miagi.php|${EXTEN})

      exten => _[3-90],1,Playback(error)
      exten => _[3-90],n,Goto(s,2)


      Las instrucciones se leen en el archivo 'mensaje'. Si el usuario presiona 1 o 2, se invoca tu AGI y se hace lo que sea que se haga.
      Si se ingresa un 3,4,5,6,7,8,9 o 0, se reproduce un mensaje de error y se regresa al comienzo.

      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