Cursos Asterisk en México

Almacenar un valor ingresado por DTMF en una variable ...

Colapsar

Anuncio

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

  • Almacenar un valor ingresado por DTMF en una variable ...

    Buenas noches a todos.

    Soy nuevo en este foro y relamente el espacio del asunto no me deja escribir completamente mi duda, la duda es:

    ¿Como almacenar un valor ingresado por DTMF en una variable, para consultar un valor de una base de datos Mysql y luego volver a usar este valor ingresado via DTMF (variable), llamando la misma variable para consultar otro valor enla misma Base de datos?

    Estoy haciendo un IVR con DTMF para extraer datos de una BDD Mysql y me esta funcionando con AGi manejando perl, pero no he podido almacenar el codigo que ingreso via DTMF en una variable para seguir sacando valores de la BDD, sin necesidad de volver a digitar la clave de acceso inicial.

    Si alguien me pudiera ayudar le agradeceria mucho.

    A continuación anexo lo que tengo en mi dialplan y que me permite extraer algun dato x de mi base de datos Mysql:

    [globals]

    [general]
    autofallthrough=yes

    [interno]
    exten => s,1,Answer()
    exten => s,n,Set(TIMEOUT(digit)=3)
    exten => s,n,Set(TIMEOUT(response)=6)
    exten => s,n,Background(syderix/Bienvenida 8k)
    exten => s,n,Background(syderix/Cedula 8K)
    exten => s,n,WaitExten(5)

    exten => _XXXXXXXXXX,1,Set(ACCESO=${EXTEN})
    exten => _XXXXXXXXXX,n,Agi(myconnector.pl)
    exten => _XXXXXXXXXX,n,SayAlpha(${NOMBRE})
    exten => _XXXXXXXXXX,n,Goto(menu,s,1)
    exten => s,n,WaitExten(5)


    [menu]

    exten => s,1,Background(syderix/menu)
    exten => s,n,WaitExten(5)

    exten => t,1,Playback(syderix/Despedida)
    exten => t,n,Hangup()

    exten => i,1,Background(syderix/invalida)
    exten => i,n,Goto(2228940,1)

    exten => 1,1,Background(syderix/Notas)
    exten => 1,n,WaitExten(5)





    Gracias por su atención:

    aredjack.

  • #2
    Re: Almacenar un valor ingresado por DTMF en una variable ..

    aredjack,

    Creo que el dialplan está bien. Al final de cuentas, toda la "magia" la tienes en tu AGI.

    Lo que buscas es el equivalente de la aplicación Read,que en AgI se convierte en GET VARIABLE. La idea es que lo invocas y te regresa el valor de lo que marcaste. Puedes hacer consultas y reinvocarla todas las veces que necesites.

    Yo en lo particular ocupo la clase PHPAGI. Si eso fuera lo que usas, con gusto te daría algún ejemplo.

    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


    • #3
      Re: Almacenar un valor ingresado por DTMF en una variable ..

      Hola buenas noches.

      Gracias por tu respuesta Cristian. Realmente soy un principiante en Asterisk y aunque manejo los archivos .conf para configuraciones de canales y desarrollos basicos, soy mas novato en AGI. Por sugerencia de un curso que encontré estoy usando perl y me ha dado buenos resultados en la consulta a la base Mysql, de hecho uso la aplicacion get variable en el script perl y me permite extraer lo que desee de la base mysql.

      My duda esta en que como se puede ver en el dialplan, inicialmente ingreso una clave o en esta caso mi cedula y extraigo un nombre, luego continua el IVR con el menu y despues para saber otro dato asociado (notas, edad, sexo) a esa cedula inicial que ingresé, desconozco como volver a llamar el valor de la variable inicial, por eso tengo que volver a consultar la BDD con la cedula.

      La intencion es que el IVR fluya tomando en cuenta el numero de cedula que ingresé en un principio.

      Como me comentas, que usas PHPAGI, no le veo problema a que me muestres como lo haces de esta manera, quizas me das una idea.

      Gracias por su atención.

      Comentario


      • #4
        Re: Almacenar un valor ingresado por DTMF en una variable ..

        Originalmente publicado por Christian Cabrera
        aredjack,

        Creo que el dialplan está bien. Al final de cuentas, toda la "magia" la tienes en tu AGI.

        Lo que buscas es el equivalente de la aplicación Read,que en AgI se convierte en GET VARIABLE. La idea es que lo invocas y te regresa el valor de lo que marcaste. Puedes hacer consultas y reinvocarla todas las veces que necesites.

        Yo en lo particular ocupo la clase PHPAGI. Si eso fuera lo que usas, con gusto te daría algún ejemplo.

        Saludos,

        Hola buenas noches.

        Gracias por tu respuesta Cristian. Realmente soy un principiante en Asterisk y aunque manejo los archivos .conf para configuraciones de canales y desarrollos basicos, soy mas novato en AGI. Por sugerencia de un curso que encontré estoy usando perl y me ha dado buenos resultados en la consulta a la base Mysql, de hecho uso la aplicacion get variable en el script perl y me permite extraer lo que desee de la base mysql.

        My duda esta en que como se puede ver en el dialplan, inicialmente ingreso una clave o en esta caso mi cedula y extraigo un nombre, luego continua el IVR con el menu y despues para saber otro dato asociado (notas, edad, sexo) a esa cedula inicial que ingresé, desconozco como volver a llamar el valor de la variable inicial, por eso tengo que volver a consultar la BDD con la cedula.

        La intencion es que el IVR fluya tomando en cuenta el numero de cedula que ingresé en un principio.

        Como me comentas, que usas PHPAGI, no le veo problema a que me muestres como lo haces de esta manera, quizas me das una idea.

        Gracias por su atención.

        Comentario


        • #5
          Re: Almacenar un valor ingresado por DTMF en una variable ..

          Me acabo de dar cuenta que la respuesta que escribí hace como 5 horas nunca se mandó... genial...


          Entonces... ¿el AGI solo lo ocupas para extraer y llenar ${NOMBRE}?

          Veo que la cédula ya la guardas en ${ACCESO}, yo pensaria que con eso tienes resuelto el problema: simplemente invócala de nuevo cuando la necesites o pásasela como argumento al AGI

          Disculpa, es que no alcanzo a comprender el problema: veo tu dialplan y por lo que entiendo, ya lo tienes resuelto. Si me puedes dar mas detalles sobre lo que "no ocurre", con gusto te brindaré más ayuda.

          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


          • #6
            Re: Almacenar un valor ingresado por DTMF en una variable ..

            Originalmente publicado por Christian Cabrera
            Me acabo de dar cuenta que la respuesta que escribí hace como 5 horas nunca se mandó... genial...


            Entonces... ¿el AGI solo lo ocupas para extraer y llenar ${NOMBRE}?

            Veo que la cédula ya la guardas en ${ACCESO}, yo pensaria que con eso tienes resuelto el problema: simplemente invócala de nuevo cuando la necesites o pásasela como argumento al AGI

            Disculpa, es que no alcanzo a comprender el problema: veo tu dialplan y por lo que entiendo, ya lo tienes resuelto. Si me puedes dar mas detalles sobre lo que "no ocurre", con gusto te brindaré más ayuda.

            Saludos,
            Que tal Cristian, me ha pasado lo mismo, ya te estaba escribiendo y se me cerró la sesion.

            BUeno gracias por tu respuesta, finalmente consegui lo que deseaba.

            Me voy a dormir, estoy agragandole mas campos a mi bas de datos para hacer mas pruebas. Luego le muestro como lo hice, en realidad era un problema del script Perl, aunque tambien tuve que agregar una linea al dial plan.

            Suerte y exitos.

            Comentario


            • #7
              Re: Almacenar un valor ingresado por DTMF en una variable ..

              En lo que pueda ayudarte, para eso estamos :wink:

              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