Diferencia entre revisiones de «Instalación»

De Asterisk Wiki
Ir a la navegación Ir a la búsqueda
Línea 85: Línea 85:
 
=== Instalar LibPRI ===
 
=== Instalar LibPRI ===
  
Como comentaba antes, la libreria libPRI es la encargada de gestionar lo relacionado a la telefonía digital, es decir los Primarios, PRI, las RDSI (BRI) y a su vez el protocolo QSIG, estandarizado para la señalización entre PBX que utilicen estos sistemas de telefonía.
+
Como comentaba antes, la librería libPRI es la encargada de gestionar lo relacionado a la telefonía digital, es decir los Primarios, PRI, las RDSI (BRI) y a su vez el protocolo QSIG, estandarizado para la señalización entre PBX que utilicen estos sistemas de telefonía.
  
 
La instalación de LibPRI es bastante sencilla y no suele dar lugar a errores. Considerar que como ejemplo voy a utilizar la versión aplicable en el momento de la escritura de este documento, y es muy probable que se mantenga invariable con el tiempo, ya que estas librerías se encuentran en un nivel de madurez bastante alto y son poco propensas a sufrir modificaciones con el tiempo.
 
La instalación de LibPRI es bastante sencilla y no suele dar lugar a errores. Considerar que como ejemplo voy a utilizar la versión aplicable en el momento de la escritura de este documento, y es muy probable que se mantenga invariable con el tiempo, ya que estas librerías se encuentran en un nivel de madurez bastante alto y son poco propensas a sufrir modificaciones con el tiempo.
Línea 102: Línea 102:
 
{{Comando|make}}
 
{{Comando|make}}
 
{{Comando|sudo make install}}  
 
{{Comando|sudo make install}}  
 +
{{Comando|sudo make config}}
  
 +
=== Instalar Asterisk ===
  
=== Subtitulo 1.1  ===
+
Finalmente, el núcleo principal y todos sus añadidos, el origen y el sentido de esta Wiki, llega la hora de instalar Asterisk. Esta parte del proceso es la que debe ser mas cuidada y esta sujeta a varias consideraciones según comento a continuación.
  
Info del Subtitulo 1.1
+
En primer lugar accedemos a las fuentes como viene siendo habitual de las otras instalaciones y realizamos la configuración de los ficheros de compilación gracias a la poderosa herramienta Autoconf.
  
=== Subtitulo 1.2  ===
+
{{Comando|cd asterisk-1.8.12.0/}}
 +
{{Comando|./configure}}
  
Info del Subtitulo 1.2
+
Si nos aparece el símbolo de Asterisk significa que existe una alta probabilidad de que la instalación fluya perfectamente. Sino aparece significa que algo no hemos instalado correctamente, seguramente sea algún paquete de algún programa durante la primera fase de la instalación. Con el siguiente comando, podriamos intentar tener una aproximación de que ha fallado y que puede ser necesario:
  
== Titulo 2 ==
+
{{Comando|./configure | grep "... no"}}
  
Info del Titulo 2
+
En siguiente lugar, nos toca realizar la selección de que es lo que queremos compilar y transitívamente instalar. Para ello la opción mas sencilla sería acceder al menu de selección que provee la herramienta de instalación de Asterisk:
  
=== Subtitulo 2.1  ===
+
{{Comando|make menuselect}}
  
Info del Subtitulo 2.1
+
[[Image:imagen_generica.jpg|thumb|MenuSelect de Asterisk|right|200px]]
  
==== Subitutlo 2.1.1 ====
+
En este apartado podremos seleccionar a voluntad utilizando las teclas de movimiento del teclado. Por defecto esta seleccionado lo mas interesante, así que a priori, no sería necesario cambiar nada, a no ser que realmente lo necesitáramos. Una vez realizada la seleccion a voluntad, pulsamos TAB y luego Intro para "Save and Exit".
  
Info del Subtitulo 2.1.1 <ref>[http://10000horas.com/asterisk/2010/08/09/manos-a-la-obra-con-asterisk/ 10000 Horas], Manuel Camargo (2010)</ref>
+
Con esto ya estamos preparados para compilar las fuentes.
  
=== Subtitulo 2.2  ===
+
{{Comando| make}}
 +
{{Comando| sudo make install}}
 +
{{Comando| sudo make config}}
  
Info del Subtitulo 2.2
+
Y si deseamos también podríamos compilar la documentación en Doxygen. Realmente no es demasiado práctico especialmente si no disponemos de amplios recursos en nuestra máquina y mas sabiendo que hoy en día hay suficiente documentación. Pero si aun así queremos proceder seria:
  
== Referencias ==
+
{{Comando| make progdocs}}
 +
 
 +
Finalmente existe un comando bastante interesante, pero algo "peligroso" si no es tomado con cautela. Es posible cargar todos los archivos de configuración de ejemplo en los directorios ideales por defecto (/etc/asterisk típicamente) y poder trabajar sobre estos archivos en vez de tener que crearlos desde 0. El problema es que ya existe una instalación de Asterisk y ejecutamos el comando, destruiríamos todos los ficheros que ya se encuentran residentes. En una instalación limpia como la que nos ocupa ahora mismo, no habría gran problema. En el caso de este tutorial, no vamos a ejecutarlo para así poder ir construyendo el sistema Asterisk desde la base mínima. Además todos estos ficheros de configuración de ejemplo que estoy hablando se encuentran dentro de nuestro directorio de fuentes de instalación de Asterisk en el directorio /configs/.
 +
 
 +
Pero si aun así queremos hacerlo simplemente ejecutamos:
  
<references />
+
{{Comando| make samples}}
  
== Véase también ==
+
Y con todo esto, ya tenemos el sistema Asterisk instalado.
  
* [[Estructura]]
 
  
== Enlaces Externos ==
+
== Referencias ==
  
* [http://www.10000horas.com 10000 Horas] es un ejemplo de enlace externo
+
<references />
  
[[Category:Índice]]
+
[[Categoría:Introducción]]

Revisión del 18:12 7 may 2012

Es muy común pensar que la instalación de Asterisk es uno de los pasos del proceso mas compleja. De hecho, para el usuario novel podría considerarse así dado que la múltitud de opciones que permite la misma, puede generar confusión, inseguridad y en última instancia problemas a posteriori tras la misma.

Por eso, es fundamental entender todos los aspectos básicos y algo mas avanzados que se encuentran tras la misma, y así poder empezar en la andadura sobre el sistema con buen pie.

La instalación "oficial" de Asterisk, ha de hacerse a traves de las fuentes aunque existen otros metodos de instalación que trataremos limitadamente.

Los dos sistemas operativos mas populares durante la instalación de un sistema Asterisk, suelen ser Debian/Ubuntu Server o CentOS. Aunque como comentado en la introducción es posible hacer una instalación en sistemas totalmente bizarros que tengan fundamentos *nix de trasfondo como por ejemplo, routers Linksys, pasando por un sistema Apple o incluso una Playstation 3 con OtherOS.

En esta primera versión de Página me centrare en la instalación sobre Ubuntu Server, y que es totalmente equivalente a la instalación sobre cualquier sistema derivado de Debian o Ubuntu (como Linux Mint). En un futuro estimo la necesidad de ampliar toda la información relevante para la instalación simultanea pero en otros sistemas popular como CentOS.

Descarga de las fuentes

En primer lugar, sera necesario descargar las fuentes del sistema completo. Para una maquina Asterisk con tarjetas Digium (por ejemplo), serían necesario los tres paquetes principales:

  • La versión de Asterisk con la que queramos trabajar, en este caso lo haremos con la reciente mas estable: Asterisk 1.8
  • LibPRI, librerías para poder trabajar con Primarios Digium
  • Drivers y herramientas DAHDI, para todo lo relacionado al mundo de las tarjetas Digium.

Antiguamente, versiones 1.6 y anteriores, un gran numero de modulos (segun la Arquitectura de Asterisk) eran instalados aparte con un paquete especifico llamado Asterisk Addons seguido de la versión de los mismos (que "casualmente" solía coincidir con la versión del nucleo). Pero a partir de la versión 1.8 se tomo la decisión de unificar este paquete con el general de Asterisk.

El FTP principal de Asterisk es el siguiente, FTP Asterisk

Desde aqui tenemos prácticamente acceso al todos los paquetes fundamentales para una instalación completa. A traves de su estructura de directorios los que nos interesan son:

Considerar que el paquete DAHDI completo a su vez se divide en dos paquetes esenciales, no es necesario instalarlos por separado teniendo la versión completa pero puede resultar útil a efectos informativos.:

  • DAHDI linux, todo lo relacionado a drivers y demas elementos de asociación al sistema operativo Linux]
  • DAHDI tools, una serie de herramientas para comprobar el estado de las tarjetas, canales, calidad, etc.

Dentro de estos directorios, podemos ir a la versión que nos interese instalar y proceder con ella.

Podemos ir al directorio más comun para la descarga, compilación e instalación de fuentes en Linux. Voy a suponer que durante la instalación creamos un usuario llamado asterisk para dar permisos a /usr/src suficientes para poder realizar la instalacion en condiciones:

# cd /usr/src


# sudo chown -R asterisk:asterisk /usr/src/


Y a continuación mediante la aplicación WGET (hay que tenerla instalada en el sistema es importante), o a traves de repositorio SVN de Asterisk que no vamos a tratar en esta explicación, podriamos comenzar a descargarnos las fuentes a este directorio:

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


# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz


# wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz


Y descomprimimos todo en sus respectivos subdirectorios, todos a la vez o individualmente como se prefiera:

# for file in *.tar.gz; do tar zxf "${file}"; done


Compilación e Instalación

Una vez que tenemos las fuentes listas para compilar necesitamos asegurarnos que tenemos todo lo necesario para que el proceso vaya lo mas "suave" posible. En primer lugar debemos disponer de todos los "complementos" y aplicaciones necesarias para que funcione Asterisk perfectamente, y concretamente la instalación vaya fluida.

Esta lista [1], son los paquetes necesarios para realizar una instalación integral de todos los paquetes necesarios, no voy a entrar en detalles para definir el uso de cada una, todo ello puede encontrarse fácilmente por Internet.

- Lo básico para compilar

Build-essential, linux-headers adecuados al kernel de la maquina, flex, bison, gawk

- Herramientas adicionales del servidor

ssh, unixodbc, unixodbc-dev, subversion, mc, pciutils, doxygen

- Librerías múltiples

libxml2-dev, libmysqlclient-dev, libcurl4-openssl-dev, curl, libncurses5-dev, libiksemel-dev, libspeex-dev, libsm1-dev, libssl-dev, libvorbis-dev, libsnmp-dev, libsctp-dev, libsctp1, libnewt-dev, lksctp-tools

Con todo esto procedemos a instalarlo de la siguiente forma, en Ubuntu Server:

# sudo aptitude update


# sudo aptitude upgrade


# sudo aptitude install ssh mc pciutils build-essential libxml2-dev libnewt-dev libssl-dev libmysqlclient-dev

libcurl4-openssl-dev curl libncurses5-dev libiksemel-dev libspeex-dev libgsm1-dev unixodbc-dev flex bison gawk

subversion libvorbis-dev libsnmp-dev libsctp-dev libsctp1 lksctp-tools unixodbc doxygen linux-headers-`uname -r`


En función del equipo y de la conexión esta parte puede tardar bastante. Si no disponemos de conexión a Internet siempre podemos hacer este proceso a través de los CD de instalación. En detalle esto viene bastante bien explicado en este Manual de Instalación de Paquetes.

Y con esto ya tenemos el sistema preparado para instalar las fuentes en orden.

Instalar LibPRI

Como comentaba antes, la librería libPRI es la encargada de gestionar lo relacionado a la telefonía digital, es decir los Primarios, PRI, las RDSI (BRI) y a su vez el protocolo QSIG, estandarizado para la señalización entre PBX que utilicen estos sistemas de telefonía.

La instalación de LibPRI es bastante sencilla y no suele dar lugar a errores. Considerar que como ejemplo voy a utilizar la versión aplicable en el momento de la escritura de este documento, y es muy probable que se mantenga invariable con el tiempo, ya que estas librerías se encuentran en un nivel de madurez bastante alto y son poco propensas a sufrir modificaciones con el tiempo.

# cd libpri-1.4.12


# make


# sudo make install


Instalar DAHDI

Por otro lado, debemos instalar todo lo referente a DAHDI para el correcto uso de tarjetas. Al igual que en el caso de LibPRI, todo resulta bastante secuencial y libre de fallos. Al igual que para el resto de los componentes, esto se aplica a la versión actual, y muy similar también a LibPRI, DAHDI se encuentra en un nivel de madurez el cual hace que no sufra modificaciones apenas, excepto para la incorporación de drivers para tarjetas Digiums nuevas, como ocurrió recientemente con la salida de la tarjeta de 8 spans como comento en la sección Digium

Ademas gracias a la instalación de los paquetes DAHDI aun sin tarjetas insertadas, estamos ofreciendo una fuente de sincronización al sistema por software, vía dahdi_dummy, útil por ejemplo, para determinadas aplicaciones propias de Asterisk como MeetMe que lo requieren para funcionar adecuadamente.

# cd dahdi-linux-complete-2.6.1+2.6.1/


# make


# sudo make install


# sudo make config


Instalar Asterisk

Finalmente, el núcleo principal y todos sus añadidos, el origen y el sentido de esta Wiki, llega la hora de instalar Asterisk. Esta parte del proceso es la que debe ser mas cuidada y esta sujeta a varias consideraciones según comento a continuación.

En primer lugar accedemos a las fuentes como viene siendo habitual de las otras instalaciones y realizamos la configuración de los ficheros de compilación gracias a la poderosa herramienta Autoconf.

# cd asterisk-1.8.12.0/


# ./configure


Si nos aparece el símbolo de Asterisk significa que existe una alta probabilidad de que la instalación fluya perfectamente. Sino aparece significa que algo no hemos instalado correctamente, seguramente sea algún paquete de algún programa durante la primera fase de la instalación. Con el siguiente comando, podriamos intentar tener una aproximación de que ha fallado y que puede ser necesario:

# ./configure


En siguiente lugar, nos toca realizar la selección de que es lo que queremos compilar y transitívamente instalar. Para ello la opción mas sencilla sería acceder al menu de selección que provee la herramienta de instalación de Asterisk:

# make menuselect


En este apartado podremos seleccionar a voluntad utilizando las teclas de movimiento del teclado. Por defecto esta seleccionado lo mas interesante, así que a priori, no sería necesario cambiar nada, a no ser que realmente lo necesitáramos. Una vez realizada la seleccion a voluntad, pulsamos TAB y luego Intro para "Save and Exit".

Con esto ya estamos preparados para compilar las fuentes.

# make


# sudo make install


# sudo make config


Y si deseamos también podríamos compilar la documentación en Doxygen. Realmente no es demasiado práctico especialmente si no disponemos de amplios recursos en nuestra máquina y mas sabiendo que hoy en día hay suficiente documentación. Pero si aun así queremos proceder seria:

# make progdocs


Finalmente existe un comando bastante interesante, pero algo "peligroso" si no es tomado con cautela. Es posible cargar todos los archivos de configuración de ejemplo en los directorios ideales por defecto (/etc/asterisk típicamente) y poder trabajar sobre estos archivos en vez de tener que crearlos desde 0. El problema es que ya existe una instalación de Asterisk y ejecutamos el comando, destruiríamos todos los ficheros que ya se encuentran residentes. En una instalación limpia como la que nos ocupa ahora mismo, no habría gran problema. En el caso de este tutorial, no vamos a ejecutarlo para así poder ir construyendo el sistema Asterisk desde la base mínima. Además todos estos ficheros de configuración de ejemplo que estoy hablando se encuentran dentro de nuestro directorio de fuentes de instalación de Asterisk en el directorio /configs/.

Pero si aun así queremos hacerlo simplemente ejecutamos:

# make samples


Y con todo esto, ya tenemos el sistema Asterisk instalado.


Referencias

  1. 10000 Horas, Manuel Camargo (2010)