Cursos Asterisk en México

Asterisk + Mysql

Colapsar

Anuncio

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

  • Asterisk + Mysql

    Hola gentee!!!!!

    Tengo una duda existencial, como hago para tener toda las configuraciones del * en Mysql???? lei aca mismo que esta version Beta del * 1.2, q trae un modulo llamado ARA. Mi pregunta seria es fiable esa version??? es dificil de instalar??? como hago si no es con esa version, de usarlo aunq sea con algunos archivos de configuracion????

    Si alguien lo logro o sabe como hacerlo, le agradeceria la informacion...

    Saludos
    Nando

  • #2
    Aqui vienen algunas formas:
    http://voip-info.org/tiki-index.php?pag ... m+database

    Para Asterisk 1.0, te recomiendo cheques la parte 4B. Para probar la 1.2, revisa la parte inicial.

    La parte 1.2 es BETA, por lo que no se recomienda para instalaciones "serias", pero puedes instalarla igual que la 1.0 si lo que quieres es probar nuevas características como el Realtime, que supongo es el ARA al que te refieres.

    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
      Asi es Chris, es el ARA..... bueno vere con la info que me pasates a ver q onda.... cualquier cosa te chiflo...jajjaa... Gracias

      Saludos
      Nando

      Comentario


      • #4
        ME queda una duda con la info q me pasastes, como hago para conectarme a la base??? de donde toma el user y pass del Mysql??? q database elige??? ojo te pregunto porque en la 4b, no aparece, no asi en la 4a q si estan los archivos..... sabes algo de eso??

        Gracias
        Nando

        Comentario


        • #5
          Yo estoy utilizando asterisk con RealTime, y funciona muy bien, de todas formas creo esta previsto para este mes que la version 1.2 pase a stable.

          La configuracion es sencilla, debes configurar el archivo extconfconfig.conf con los acceso a la base y luego en tu extensions.conf debes incluir el switch dentro del contexto.

          Ejemplo:

          extconfig.conf
          ivr_ontime => mysql,asterisk,ivr_ontime

          extensions.conf
          switch => Realtime/ivr-ontime@ivr_ontime ;Tabla de opciones del ivr-ontime

          como veras, utilizo mysql, tambien puede ser odbc.
          la base de datos se llama asterisk y la tabla en este caso es ivr_ontime.

          Yo estoy usando por el momento 20 tablas aproximadamente y todo lo manejo desde mysql, algunas basicas como voicemail, sip, iax, extensions, y otras como la del ejemplo anterior para modificar los datos dentro del contexto ivr-ontime.

          Los datos de conexion, user, pass, etc de mysql lo configuras en res_mysql.conf

          Saludos.

          Comentario


          • #6
            Gracias Maxi, pero se me sucita otro problema, no tengo el archivo res_mysql.conf , sino solamente el res_odbc.conf.... mi version de * es la CVS-v1-0-02/17/05, y no le encuentro la forma.... es por la version??? o lo puedo crear yo......
            Para sip.conf creastes la tabla vos???? de donde puedo sacar info...
            ayudaaaaa pleaseee!!!!

            Saludos y gracias.
            Nando

            Comentario


            • #7
              Deberas instalar asterisk-addons [1] es el encargado de brindar, entre otras cosas, el soporte de mysql a Asterisk.

              En realidad mi tabla para sip.conf es bastante a medida de mis necesidades, pero la informacion base la saque de aqui [2], lo que pasa es que he sacado algunos campos que no uso y he agregado otros campos a la tabla ya que los uso para manejar otras cosas que tengo armadas.

              Revisa todo lo que hay en voip-info, con respecto a realtime, parti del [2] y mira los link que estan abajo con respecto a realtime sobre otras configuraciones, como iax, voicemail, queue, extensions, etc.

              Lo bueno de RealTime, es que uno puede generar lo mismo que haces en los files.conf de asterisk en una base de datos, y podes armar todas las tablas que quieras, como se armaban los contextos en extensions.conf

              [1]http://www.voip-info.org/tiki-index.php?page=Asterisk%20addon%20asterisk-addons
              [2]http://www.voip-info.org/tiki-index.php?page=Asterisk%20RealTime%20Sip

              Comentario


              • #8
                Bine grs Maxi, pero ahi radica el problema, no me lo dej ainstalar al asterisk-addons, me da error..... empezare a buscar por el error a ver q pasa...

                Saludos
                Nando

                Comentario


                • #9
                  Bueno, no se que error te da.... coloca la salida del make, para que pueda verlo.

                  pero para ir adelantandome, por si las dudas, y es esta la solucion aunque realmente no se cual es tu problema, revisa que tenes instalado libmysqlclient son las librerias para mysql client es fundamental tenerlo instalado para que asterisk-addons compile.

                  Y bueno, no se que otro problema pueda pasarte, asi que si no podes solucionarlo, coloca la salida del make para ver si a mi se me ocurre como solucionarlo.

                  Comentario


                  • #10
                    Este es el error:

                    [root@/usr/src/asterisk-addons]# make
                    ./mkdep -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql `ls *.c`
                    app_addon_sql_mysql.c:164:64: la macro "AST_LIST_REMOVE" requiere 4 argumentos, pero solo se proporcionan 3
                    make -C format_mp3 all
                    make[1]: Cambiando a directorio `/usr/src/asterisk-addons/format_mp3'
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o common.o common.c
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o dct64_i386.o dct64_i386.c
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o decode_ntom.o decode_ntom.c
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o layer3.o layer3.c
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o tabinit.o tabinit.c
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o interface.o interface.c
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -c -o format_mp3.o format_mp3.c
                    format_mp3.c: En la función `load_module':
                    format_mp3.c:335: aviso: pasando el argumento 5 de `ast_format_register' de tipo de apuntador incompatible
                    gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6
                    -shared -Xlinker -x -o format_mp3.so common.o dct64_i386.o decode_ntom.o layer3.o tabinit.o interface.o format_mp3.o
                    make[1]: Saliendo directorio `/usr/src/asterisk-addons/format_mp3'
                    cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o app_saycountpl.o app_saycountpl.c
                    cc -shared -Xlinker -x -o app_saycountpl.so app_saycountpl.o
                    cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o cdr_addon_mysql.o cdr_addon_mysql.c
                    cdr_addon_mysql.c: En la función `my_load_module':
                    cdr_addon_mysql.c:268: aviso: asignación crea un apuntador desde un entero sin una conversión
                    cc -shared -Xlinker -x -o cdr_addon_mysql.so cdr_addon_mysql.o -lmysqlclient -lz -L/usr/lib/mysql
                    cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o app_addon_sql_mysql.o app_addon_sql_mysql.c
                    app_addon_sql_mysql.c:164:64: la macro "AST_LIST_REMOVE" requiere 4 argumentos, pero solo se proporcionan 3
                    app_addon_sql_mysql.c: En la función `del_identifier':
                    app_addon_sql_mysql.c:164: `AST_LIST_REMOVE' no ha sido declarado aquí (primero úselo en esta función)
                    app_addon_sql_mysql.c:164: (Cada identificador no declarado solamente se reporta una vez
                    app_addon_sql_mysql.c:164: para cada funcion en la que aparece.)
                    make: *** [app_addon_sql_mysql.o] Error 1
                    rm app_saycountpl.o

                    Es algo del app_addon_sql_mysql.c:, pero no logro decifrarlo.
                    Probe con make install directamente y sale lo mismo.
                    Sabes q puede ser??

                    Nando

                    Comentario


                    • #11
                      Yo lo volvi a compilar para ver como es mi salida sin error... y me devuelve esto [1]
                      Lo que te puedo ir diciendo es que verifique estas cosas:

                      1) de seguro tenes los source de asterisk, lo ideal seria que lo tengas compilado, con los temporales, es decir, que no hallas hecho un make clean luego de que lo instalaste, ya que asterisk-addons va a tomar datos del source de asterisk para compilarse.

                      2) definir en el Makefile de asterisk-addons el path donde esta asterisk (source). [2] esta linea.

                      3) revisar que existe /usr/include/mysql o /usr/local/include/mysql lo mismo con lib, revisa las primeras lineas del Makefile y comproba si realmente tenes los path completos y por supuesto mysql correctamente instalado y el libmysqlclient.



                      [1]
                      asterisk-dev:/usr/src/cvs/asterisk-addons# make
                      ./mkdep -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql `ls *.c`
                      make -C format_mp3 all
                      make[1]: Entering directory `/usr/src/cvs/asterisk-addons/format_mp3'
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o common.o common.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o dct64_i386.o dct64_i386.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o decode_ntom.o decode_ntom.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o layer3.o layer3.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o tabinit.o tabinit.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o interface.o interface.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -c -o format_mp3.o format_mp3.c
                      gcc -pipe -fPIC -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -O6 -shared -Xlinker -x -o format_mp3.so common.o dct64_i386.o decode_ntom.o layer3.o tabinit.o interface.o format_mp3.o
                      make[1]: Leaving directory `/usr/src/cvs/asterisk-addons/format_mp3'
                      cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o app_saycountpl.o app_saycountpl.c
                      cc -shared -Xlinker -x -o app_saycountpl.so app_saycountpl.o
                      cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o cdr_addon_mysql.o cdr_addon_mysql.c
                      cc -shared -Xlinker -x -o cdr_addon_mysql.so cdr_addon_mysql.o -lmysqlclient -lz
                      cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o app_addon_sql_mysql.o app_addon_sql_mysql.c
                      cc -shared -Xlinker -x -o app_addon_sql_mysql.so app_addon_sql_mysql.o -lmysqlclient -lz
                      cc -fPIC -I../asterisk -D_GNU_SOURCE -I/usr/include/mysql -c -o res_config_mysql.o res_config_mysql.c
                      cc -shared -Xlinker -x -o res_config_mysql.so res_config_mysql.o -lmysqlclient -lz
                      rm app_saycountpl.o
                      asterisk-dev:/usr/src/cvs/asterisk-addons#

                      [2]
                      CFLAGS+=-I../asterisk

                      Comentario


                      • #12
                        Ha y por las dudas, se supone que la version de asterisk-addons tambien es de cvs !! ya que la version stable no creo que soporte RealTime.

                        Por lo que puedo ver en mi res_config_mysql.c la version que tengo es la 1.8, esto lo saque de las primeras lineas del fuente[1]


                        [1]
                        * Mark Spencer <markster@digium.com> - Asterisk Author
                        * Matthew Boehm <mboehm@cytelcom.com> - MySQL RealTime Driver Author
                        *
                        * res_config_mysql.c <mysql plugin for RealTime configuration engine >
                        *
                        * v1.8 - (04-21-05) - Modified return values of update_mysql to better indicate
                        * what really happened.

                        Comentario


                        • #13
                          Bien mil gracias, el problema radica ahi en el CFLAGS+=-I../asterisk, porque aca adquirieron un CD ya precomplilado del Asteisk con Red Hat enterprise, entonces No tengo el source de asterisk ni donde esta, solo tengo las carpetas ya instaladas..... mi pregunta seria de donde puedo tomarlo?? de las librerias /var/lib ??? o de donde??? o no hay forma y tengo q compilarlo por mi lado???

                          Mil grs Maxi, no sabes cuanto me estas ayudando...
                          Saludos

                          Nando

                          Comentario


                          • #14
                            Realmente no se si podes compilarlo sin los source, habria que revisar el codigo asterisk-addons para relevar lo que necesita para que se compile y modificarlo, esto lo veo muy complicado.

                            Si o si, deberas tener mysql completo, server, client, lib, etc.
                            Trata de cumplir con este requisito y volve a compilar para ver si funciona....

                            Acabo de hacer un make clean en asterisk y movi la carpeta de asterisk-addons al /tmp e intente compilarlo de ahí y me compilo bien, con esto comprobe que realmente no necesita los source, pero no estoy completamente seguro, ya que, como compilo anteriormente y el make install coloco los resultados en include al vorverlo a compilar sin los source de asterisk disponibles busco lo que necesita en include y volvio a compilar correctamente.

                            Genere un tgz con el contenido de /usr/include/mysql y lo coloque en http://www.techgold.com.ar/temp/mysql.tgz

                            Bajalo y destarealo en el /usr/include/
                            Si llegas a tener una carpeta de mysql en ese path movela a mysql.old para no perderla

                            Luego intenta compilarlo de vuelta.

                            Por ultimo, si nada de esto resuelve el problema.
                            Si yo estuviera en tu lugar, bajaria los source de todo asterisk, zaptel, libpri, etc, etc. todo lo que esta en cvs y lo volveria a compilar.

                            Lo que te recomiendo es que hagas un backup !!!!
                            Si podes hace una instalacion de prueba en otro maquina para que te salten las dudas ahí, una vez que lo tenes claro, reinstalalo asterisk en el RHE, previo backup por supuesto.

                            Saludos.
                            Maxi

                            Comentario


                            • #15
                              Kpo q mas te puedo decir Graciasssss.. la verdad te agradezco a vos y al foro, es increible las cosas q uno puede sacar.
                              Bueno le metere mano a ver q onda, sino tratare con el source.... y obviamente si lo logro te aviso.....

                              Saludos y gracias

                              Nando

                              Comentario

                              Nube de Etiquetas

                              Colapsar

                              Principales Usuarios Activos

                              Colapsar

                              No hay usuarios activos superiores.
                              Trabajando...
                              X