8/10/2013

Asterisk: Software Dependencias


La primera cosa que hay que hacer una vez que haya completado la instalación de su sistema operativo es instalar las dependencias de software requeridas por Asterisk. Los comandos que se muestran a continuación se han dividido en dos columnas,una para ubuntu server y otra para centos. Estos paquetes le permiten construir un sistema Asterisk básico, junto con DAHDI y Libpri. No todos los módulos estarán disponibles en tiempo de compilación con estas dependencias; se integraron sólo los módulos más utilizados.

Software dependencia para asterisk sobre Ubuntu Server y Centos Server.


Estos paquetes le permiten obtener mucho más de lo que necesita para empezar con la instalación

Asterisk, DAHDI y Libpri. Tenga en cuenta que también se requieren las dependencias de software para otros paquetes que necesitan ser instalado. Estos se resuelve automáticamente utilizando el comando yum o apt-get.

También incluiremos las librerías de desarrollo de OpenSSL, que no son estrictamente NECESARIA para compilar Asterisk, pero es bueno tenerla: permiten el soporte de clave y otras funciones de cifrado. 

También instaláremos vim como nuestro editor, pero usted puede seleccionar cualquier otro que quieras, tal como nano, joe o emacs.

Asterisk contiene un script que instalará las dependencias de todas las funcionalidades de Asterisk. Una vez que haya descargado Asterisk use los siguientes comandos si desea ejecutar este script. ejemplo para Ubuntu.
  
$ cd ~/src/asterisk-complete/asterisk/1.8

$ sudo ./contrib/scripts/install_prereq install

$ sudo ./contrib/scripts/install_prereq install-unpackaged

Descargando lo que Usted Necesita


Hay varios métodos para obtener Asterisk: a través del repositorio de código subversión,
a través del comando wget del para bajarlo del sitio Descargas, o través de un sistema de administración de paquete tal como apt-get o yum.  Nosotros sólo vamos a cubrir los dos primeros métodos, ya que lo que nos interesa ​​es trabajar con  la última versión de Asterisk.

Los paquetes oficiales de Digium tienden a estar actualizado. Hay paquetes al momento para CentOS/RHEL disponible en http://www.asterisk.org/downloads/yum

Antes de empezar a obtener los archivos de código fuente, vamos a crear una estructura de directorios para guardar el código descargado. Crearemos la estructura de directorio dentro del directorio Home para el usuario del sistema pbxsncvoip (puedes usar el nombre de usuario que desee).

Una vez que todo se haya hechovamos a volver atrás y cambiar los permisos y la propiedad de los archivos instalados con el fin de construir un sistema seguro. Para comenzar, ejecute el comando siguiente:

 $ mkdir -p ~/src/asterisk-complete/asterisk

Ahora que hemos creado una estructura de directorios para guardar todo, vamos a descargar el código fuente. Elija uno de los dos métodos siguientes para obtener sus archivos:

1. Subversion

2. wget

Obteniendo los Fuente a través de Subversión.


Subversion es un sistema de control de versión que se utiliza por los desarrolladores para rastrear cambios en el código durante un periodo de tiempo. Cada vez que el código se modifica, en primer lugar se debe comprobar fuera del repositorio, entonces debe ser revisado de nuevo, momento en el cual se registran los cambios. Por lo tanto, si un cambio crea una regresión, los desarrolladores pueden volver a ese cambio y quitarlo si fuera necesario. Este es un sistema potente y robusto para el trabajo de desarrollo. También pasa a ser útil para los administradores del asterisk que buscan recuperar el software. Para descargar el código fuente de la última versión de Asterisk 1.8, utilice los siguientes comandos:

$ cd ~/src/asterisk-complete/asterisk


Obteniendo los fuentes vía wget


Para obtener la ultima version de  DAHDI, LibPRI, and Asterisk usando la aplicación wget use los siguientes comandos: 


$ cd ~/src/asterisk-complete/asterisk
$ wget \

http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz

$ tar zxvf asterisk-1.8-current.tar.gz
 
El siguiente paso es compilar e instalar el software.

Cómo instalar esto?


Con los archivos fuente descargado ya puedes compilar el software e instalarlo. El orden para la instalación es:

1. LibPRI 
2. DAHDI

3. Asterisk




Hacer la instalacion en este orden asegura que cualquier dependencias para DAHDI y Asterisk son instalada antes de correr los scripts de configuración. Instalar secuencial mente asegura que todos los módulos que dependen de Libpri o DAHDI se construirán.

Instalando LibPRI


LibPRI es una libreria que agregar soporte para ISDN (PRI y BRI). El uso de LibPRI es opcional, pero ya que toma muy poco tiempo para instalar, no interfiere en nada, y sera de gran utilidad si en un momento dado desea agregar tarjetas a sus sistema, le recomendamos que lo instale ahora.

Ahora verifiquemos la ultima version de LibPRI y lo compilaremos como sigue:

$ cd ~/src/asterisk-complete/
$ mkdir libpri
$ cd libpri/
$ svn co
http://svn.asterisk.org/svn/libpri/tags/1.8 <indique el numero de su versión de LibPRI>
$ cd 1.8.<indique el numero de su versión de LibPRI>
$ make
$ sudo make install

También puedes descargar los fuentes vía wget desde  http://downloads.asterisk.org/pub/telephony/libpri/.

Una vez ya hemos instalado LibPRI podemos proceder a instalar DAHDI.

DAHDI.

Digium Asterisk Hardware Device Interface, o DAHDI (formalmente conocido como Zaptel), es el software que Asterisk usa para interactuar  con el hardware telefónico. Es recomendable que este sea instalado incluso aunque no tenga hardware telefónico instalado en sus sistema, porque DAHDI es una dependencia requerida para el módulo de sincronización res_timing_dahdi y se utiliza para aplicaciones del dialplan de asterisk como MeetMe().

Otra dependencia requerida para instalar DAHDI, es la fuente del Kernel. Es muy importante que la versión del Kernel que esta siendo usada sea exactamente igual a la versión del Kernel que sera instalado. Con el comando uname -a podemos verificar la versión del Kernel que se esta ejecutando.

CentOS: sudo yum install kernel-devel-`uname -r`
• Ubuntu: sudo apt-get install linux-headers-`uname -r`

El uso de uname -r encerrado en comillas invertidas (`) es para que en la versión del Kernel corriendo se instalen los paquetes adecuados.

Los comandos siguientes muestran como instalar DAHDI-linux-complete 2.7.0+2.7.0. es recomendable verificar si hay nueva versiones disponible, debe chequear primero en http://www.asterisk.org/downloads. Si hay una nueva versión disponible, simplemente remplace el numero de la versión en el comando.

$ cd ~/src/asterisk-complete/
$ mkdir dahdi
$ cd dahdi/
$ svn co http://svn.asterisk.org/svn/dahdi/linux-complete/tags/2.7.0+2.7.0
$ cd 2.7.0+2.7.0
$ make
$ sudo make install
$ sudo make config


Recuerde que necesita acceso a internet cuando ejecuta el comando make all, ya que este intenta descargar los ultimos firmware del hardware desde los servidores de Digium.


Puedes descargar los fuentes vía wget desde http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/.



Asterisk

Con LibPRI y DAHDI ya instalado podemos proceder a instalar asterisk. ejecute los siguientes comandos:

cd ~/src/asterisk-complete/asterisk/11.5
$ ./configure
$ make
$ sudo make install
$ sudo make config


Con los archivos ya instalado en su localización por defecto, necesitamos modificar los permisos del directorio y su contenido.

Modificando los permisos de archivos

Para poder ejecutar el sistema de forma más segura, después de instalar los archivos en sus ubicaciones predeterminadas, necesitamos cambiar los permisos de los archivo para que coincida con los permisos del usuario con que vamos a correr Asterisk. Ejecute los siguientes comandos  y después de ejecute el comando make install.

$ sudo chown -R pbxsncvoip:pbxsncvoip /usr/lib/asterisk/
$ sudo chown -R 
pbxsncvoip:pbxsncvoip /var/lib/asterisk/
$ sudo chown -R 
pbxsncvoip:pbxsncvoip /var/spool/asterisk/
$ sudo chown -R 
pbxsncvoip:pbxsncvoip /var/log/asterisk/
$ sudo chown -R 
pbxsncvoip:pbxsncvoip /var/run/asterisk

$ sudo chown  pbxsncvoip:pbxsncvoip  /usr/sbin/asterisk

Recuerde que debe sustituir el usuario pbxsncvoip por el que creo en su sistema.

Para utilizar MeetMe() y DAHDI con Asterisk como no root, debe cambiar el directorio /etc/udev/rules.d/dahdi.rules de manera que los campos Owner y Group y coincidan con el usuario no root que esta ejecutando Asterisk. En este caso, estamos utilizando el usuario pbxsncvoip.

Cambie las ultimas lineas del archivo dahdi.rules para lo siguiente:

SUBSYSTEM=="dahdi", OWNER="pbxsncvoip", GROUP="pbxsncvoip", MODE="0660"

En este punto todavía Asterisk no hace nada útil, el propósito aquí es hacer que cargue el sistema y mostrar los pasos que todo administrador necesita para iniciar cuando lleva a cabo una nueva instalación.

Con el sistema ya instalado podemos pasar a realizar la configuración básica que se debe hacer después de todas las instalaciones. De la cual hablaremos en la siguiente entrega.

Por el momento si desea seguir adelante te recomiendo descargar la documentación siguiente:




Aprende a Implementar Asterisk paso a paso y en español
Libro: Asterisk PBX: Instalación, implementación y puesta en marcha.