Cursos Asterisk en México

Ayuda urgente

Colapsar

Anuncio

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

  • Ayuda urgente

    Hola, soy nueva en esto de Asterisk y deseo realizar un IVR que le permita al usuario gestionar(crear, eiiminar) listas de distribucion mediante el telefono fijo, instale Asterisk 1.8 en UbuntuGnome 13.10, si me pudieran ayudar con el codigo seria mucho mejor, gracias de atemano.

  • #2
    Como lo que solicitas es un trabajo bajo demanda deberás pagar consultoría a alguien del foro. Si deseas contactarnos entra a http://enlaza.mx y utiliza nuestro formulario de contacto.

    Si deseas ayuda gratis deberás mostrar el código que has hecho y donde te has atorado.

    Comentario


    • #3
      Bueno he configurado algunos archivos, pero esto no realiza lo que deseo, no se como realizar un IVR que pueda ayudar al usuario al envio de mensajes de voz a varias personas mediante una lista de destinatarios, lo que he realizado, creo que es para la comunicacion entre dos personas mediante un softphone, pero ese no es mi objetivo, aqui te envio lo que he realizado:
      sip.conf:
      [general]
      context=default
      srvlookup=yes
      videosupport=yes
      disallow=all
      allow=alaw
      allow=ulaw
      allow=ilbc
      allow=gsm
      allow=h261
      port=5060
      bindaddr=0.0.0.0
      tos=184
      tos=lowdelay

      [rosita]
      type=friend
      host=dynamic
      username=rosita
      secret=1234
      canreinvite=no
      nat=no
      context=usuarios
      mailbox=20000@default

      [yudiamarys]
      type=friend
      host=dynamic
      username=yudismarys
      secret=5678
      canreinvite=no
      nat=no
      context=usuarios
      mailbox=20010@local

      extensions.conf:
      [grabar_mensajes]
      exten => 888,1,Answer()
      exten => 888,n,Wait(0.5)
      exten => 888,n,Record(menu_real.wav)
      exten => 888,n,Wait(0.5)
      exten => 888,n,Playback(menu_real)
      exten => 888,n,Hangup()

      ;menu inicio
      [IVR]
      exten => s,1,Answer()
      exten => s,n,Wait(0.5)
      exten => s,n,Playback(bienvenido)
      exten => s,n,Background(menu_real)
      exten => s,n,WaitExten(5)
      exten => s,n,WaitExten(5)
      exten => s,n,Dial(SIP/20000&SIP/20010,30)
      exten => s,n,Hangup()
      exten => 1,1,Goto(20000,1)
      exten => 2,1,Goto(20010,1)
      exten => 3,1,Goto(20000,1)
      exten => 4,1,Goto(20010,1)

      [macro-correovoz]
      exten => s,1,Dial(${ARG1},20)
      exten => s,2,Goto(s-$DIALSTATUS},1)
      exten => s-NOANSWER,1,Voicemail(u${MACRO_EXTEN})
      exten => s-NOANSWER,2,Hangup()
      exten => s-BUSY,1,Voicemail(b${MACRO_EXTEN})
      exten => s-BUSY,2,Hangup()
      exten => _s-.,1,Goto(s-NOANSWER,1)

      [local]
      ;Ignorepat => 9
      ;exten => s,1,Answer()
      ;exten => s,2,BackGround(welcome)
      ;include => usuarios

      [usuarios]
      ;exten => 20000,1,Dial(SIP/rosita,20)
      exten => 20000,2,Voicemail(20000@local,u)
      exten => 20000,3,Hangup()

      ;exten => 20010,1,Dial(SIP/yudismarys,20)
      exten => 20010,2,Voicemail(20010@local,u)
      exten => 20010,3,Hangup()

      exten => 3200,1,VoiceMailMain(20000@local)
      exten => 3201,1,VoiceMailMain(20010@local)

      exten => _1xx,1,Dial(SIP/${EXTEN},30,tTrxXkK
      exten => 20000,2,VoiceMail(20000@local)
      exten => 20010,3,VoiceMail(20010@local)

      [voicemail]
      exten => 1111,1,Answer()
      exten => 1111,2,VoiceMailMain(@default)

      voicemail.conf:
      [general]
      format=wav
      attach=yes
      maxmessage=30
      minmessage=3
      saycid=yes
      maxlogins=3
      cidinternalcontexts=house_local,house_toll,house_a dmin
      mailcmd=/usr/sbin/sendmail –t


      20000 => 20000,20000,,
      20010 => 20010,20010,,


      [local]
      20000 => 1234a,rosita,rsavon@estudiantes.uci.cu
      20010 => 5678b,yudismarys,ycalero@estudiantes.uci.cu

      Espero su ayuda, Gracias!!!!

      Comentario


      • #4
        Lo que te puedo recomendar es esto: crea un Agi en tu IVR el cual grabe el mensaje y lo guarde, enseguida utiliza el AGI para preguntar cuantos usuarios recibirán ese mensaje, usa un loop que vaya de 0 a n usuarios en el que insertes los teléfonos de cada persona que recibirá el mensaje. Al finalilizar el loop podrás usar otro loop dentro del AGI para enviar el audio o bien hacerlo desde el dialplan con un originate.

        Comentario


        • #5
          Donde haria esta Agi??

          Comentario


          • #6
            Esta liga puede ayudar http://bit.ly/1j9AhB1
            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
              SFLphone

              Originalmente publicado por Christian Cabrera Ver Mensaje
              Esta liga puede ayudar http://bit.ly/1j9AhB1
              Hola, necesito necesito ayuda en la configuracion de un sflphone, ya lo tengo instalado pero la aplicacion para configurarlo no me abre, que problema crees que tendria???

              Comentario


              • #8
                Probablemente un error en la interfaz gráfica. Siempre puedes probar con otros como SJPhone o Zoiper.
                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
                  Eliminar datos

                  gracias, ya resolvi, estou utlizando las funciones odbc pero ahora no se como se pondria para eliminar se que para eleccionar es readsql y para insertar y actualizar es writesql, pero para eliminar no tengo ni idea???/

                  Comentario


                  • #10
                    Simplemente haz tu query DELETE en el writesql. No necesariamente tienes que ocupar el valor que le pases como argumento.
                    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


                    • #11
                      Insertar Elementos

                      que puedo hacer para cuando el usuario presione la tecla * vaya a la linea q deseo, hasta ahora no coge el simbolo, cuando cambio este simbolo por un numero si me realiza lo que deseo, aqui le muestro el codigo para q entienda:
                      exten => s,1,Wait(1)
                      exten => s,2,NoOp(Entre el numero de telefono)
                      exten => s,3,Read(telef,beep,6)
                      exten => s,4,NoOp(telefono: ${telef})
                      exten => s,5,Set(telefono=${ODBC_select(${telef})})
                      exten => s,6,GotoIf($["${telefono}foo" = "foo"]?notfound)
                      exten => s,7,NoOp(El telefono: ${telefono} ya existe)
                      exten => s,8,Hangup()
                      exten => s,9(notfound),Set(ODBC_list_insert()=${telef})
                      exten => s,10,NoOp(Telefono insertado)
                      exten => s,11,WaitExten(7)
                      exten => *,1,Goto(crear_lista,s,2) ;volver a insertar numeros (Esto es lo que no me hace el programa)
                      exten => 4,1,Goto(ivr_tesis,s,2) ;Volver al menu principal
                      exten => s,12,Hangup()

                      Comentario


                      • #12
                        Tu problema es que para que el * sea reconocido, necesitas utilizar la aplicación Background, no Read, pero hacer eso no cumpliría lo que buscas.

                        Me imagino que lo que quieres es que los dígitos ingresados sean solamente números, y no símbolos como * o #. Prueba con esto:

                        Código:
                        exten => s,1,Wait(1) 
                        exten => s,n(ingresa),NoOp(Entre el numero de telefono)
                        exten => s,n,Read(telef,beep,6)
                        exten => s,n,GotoIf($[$[${telef}*1]=${telef}]?ingresa)
                        exten => s,n,NoOp(telefono: ${telef})
                        exten => s,n,Set(telefono=${ODBC_select(${telef})})
                        exten => s,n,GotoIf($["${telefono}foo" = "foo"]?notfound)
                        exten => s,n,NoOp(El telefono: ${telefono} ya existe)
                        exten => s,n,Hangup()
                        exten => s,n(notfound),Set(ODBC_list_insert()=${telef})
                        exten => s,n,NoOp(Telefono insertado)
                        exten => s,n,WaitExten(7)
                        Aquí lo que propongo es que compares el número ingresado: si es posible multiplicarlo por 1 y que el resultado siga igual que el número ingresado original entonces significa que es 100% numérico. En caso de que no sea igual, hay caracteres raros y debo volver a preguntar el número.

                        Espero te sirva.

                        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


                        • #13
                          Graciassss, voy a probar

                          Comentario


                          • #14
                            Me da el error
                            [Jun 15 00:30:18] WARNING[2820]: ast_expr2.fl:468 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '*', expecting $end; Input:
                            *1=

                            Aunque marque numeros correctos siempre va para ingresa.

                            Comentario


                            • #15
                              Quizá así entonces:
                              Código:
                              exten => s,1,Wait(1) 
                              exten => s,n(ingresa),NoOp(Entre el numero de telefono)
                              exten => s,n,Read(telef,beep,6)
                              exten => s,n,GotoIf($["$[${telef}*1]"="${telef}"]?ingresa)
                              exten => s,n,NoOp(telefono: ${telef})
                              exten => s,n,Set(telefono=${ODBC_select(${telef})})
                              exten => s,n,GotoIf($["${telefono}foo" = "foo"]?notfound)
                              exten => s,n,NoOp(El telefono: ${telefono} ya existe)
                              exten => s,n,Hangup()
                              exten => s,n(notfound),Set(ODBC_list_insert()=${telef})
                              exten => s,n,NoOp(Telefono insertado)
                              exten => s,n,WaitExten(7)
                              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