Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Configurar Asterisk para trabajar con Mysql usando Odbc (2 de 3)

David Muñoz
  • Escrito por David Muñoz el 21 de Octubre de 2013
  • 2 min de lectura | Sistemas
Configurar Asterisk para trabajar con Mysql usando Odbc (2 de 3)
Este post está basado en el libro Asterisk: the definitive guide de O'Reilly, considerado la biblia de asterisk.  http://ofps.oreilly.com/titles/9781449332426/asterisk-DB.html Después del primer post sobre como instalar y configurar ODBC  con MySQL vamos a continuar con la explicación

Instalando y configurando ODBC

El conector ODBC nos permite tener una capa de abstracción entre asterisk y nuestra base de datos. La gran ventaja de usar ODBC es que podemos conectarnos a casi cualquier base de datos, esto nos permite ahorrar mucho tiempo en desarrollo en caso de que en un futuro cambiemos de sistema de sistema de base de datos. Tiene un pequeño coste en performance ya que añadimos una aplicación en medio de nuestra conexión entre mysql y asterisk pero esto se puede mitigar con un buen diseño de base de datos y nos da a cambio más capacidad y flexibilidad.

Necesitamos instalar ODBC en nuestro linux y configurarlo para usarlo con la base de datos creada en el post anterior, además instalamos el paquete devel de ODBC para poder recompilar asterisk con el módulo de ODBC.

$ sudo apt-get install unixODBC unixODBC-dev
El siguiente paso es instalar el conector de mysql para ODBC.
$ sudo apt-get install libmyodbc

Configurando ODBC para Mysql

Para configurar ODBC para trabajar con Mysql editamos el fichero /etc/odbinst.conf: (podemos usar nano si no estamos acostrumbrados a usar vim) .
$ sudo vim /etc/odbcinst.conf
[MySQL]
Description   = ODBC for MySQL
Driver        = /usr/lib/odbc/libmyodbc.so
Setup         = /usr/lib/odbc/libodbcmyS.so
FileUsage     = 1

Si nuestro sistema es 64 bits, necesitamos cambiar la ruta /usr/lib/ por /usr/lib64/ para que odbc acceda correctamente a las librerías necesarias.

Ahora vamos a verificar que la conexión se realiza correctamente entren ODBC y Mysql.
$ odbcinst -q -d
[MySQL]
Si nos devuelve la etiqueta MySQL todo ha ido bien.

Configuramos el fichero /etc/odbc.ini  para crear un identificador que Asterisk usará para hacer referencia a esta configuración. Si en algún momento en el futuro es necesario cambiar la base de datos a otra base de datos, sólo hay que configurar de nuevo el archivo, lo que permite a Asterisk continúar apuntando al mismo lugar:

[asterisk-connector]
Description           = MySQL connection to 'asterisk' database
Driver                = MySQL
Database              = asterisk
Server                = localhost
Port                  = 3306
Socket                = /var/lib/mysql/mysql.sock
En ubuntu el socket es /var/run/mysqld/mysqld.sock .

Validando la conexión ODBC

echo "select 1" | isql -v asterisk-connector asterisk nuestra_clave
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> +------------+
| ?column?   |
+------------+
| 1          |
+------------+
SQLRowCount returns 1
1 rows fetched
Si nos devuelve 1 rows fetched es que nuestra conexión se ha realizado correctamente. En el siguiente y último post veremos como conectar asterisk a esta conexión odbc para trabajar con mysql.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars