¿Que es Asterisk?
Asterisk es un programa de código abierto bajo licencia GPL, que permite disponer de funcionalidades de centralita telefónica (PBX) suportando muchos protocolos VoIP como SIP, IAX, H.323, MGCP entre otros que están basados en TCP/IP, se pueden conectar teléfonos que cumplan estos protocolos y asignarles una extensión para realizar llamadas internas, aunque puede soportar teléfonos analógicos usando tarjetas telefónicas FXS o FXO.
Asterisk también soporta hardware especifico para conexión con líneas de teléfono analógicas (FXS y FXO), RDSI, IDN BRI y GSM entre muchos otros.
Como centralita cumple con todas las características de un PBX, como buzón de voz, salas de conferencia, IVR, distribución automática de llamadas, reglas horarias, etc. el administrador de la centralita también puede programar funcionalidades especificas mediante un dialplan en lenguaje de script Asterisk e incluso puede añadir modulos escritos en cualquier lenguaje de programación suportado por Linux, es decir, existen funcionalidades ilimitadas para Asterisk.
¿Cómo instalar Asterisk?
En este post voy a explicar como instalar Asterisk 1.8 en un Linux Debian 7.6, existen 3 opciones para instalar Asterisk en Debian:
- Usando los repositorios oficiales en Debian.
- Usando los repositorios oficiales de Digium para Debian.
- Usando las fuentes de Asterisk para compilar e instalar.
Tal y como indico en el titulo del post vamos a elegir la tercera opción, ya que la finalidad del mismo es comprender que componentes instalamos y los pasos necesarios para que Asterisk funcione.
Antes que nada, necesitamos una instalación limpia de Debian, en este post explico como realizar dicha instalación.
Una vez tenemos el sistema listo, debemos instalar las dependencias necesarias para la compilar y instalar Asterisk, nos elevamos como root y ejecutamos los siguientes comandos:
apt-get update
apt-get install linux-headers-uname -r build-essential libxml2-dev libssl-dev libncurses-dev libnewt-dev doxygen subversion libmysqlclient-dev unixodbc-dev libmyodbcNos pide si queremos instalar paquetes adicionales, le decimos que si.

Una vez instaladas las dependencias necesarias ya podemos proceder a descargar los binarios para su compilación, todos estos los vamos a descargar en /usr/src/:
cd /usr/srcUna vez en el directorio vamos a descargar las librerías necesarias:
- Dahdi son unas librerías y utilitades que permiten integrar Asterisk con tarjetas de comunicaciones, solo es valido para tarjetas Digium y compatibles, aunque no vayamos a instalar tarjetas en nuestro sistema, Dahdi, es necesario para crear salas de conferencias, por lo que vamos a descargar el paquete Dahdi-linux-complete, que incluye Dahdi Linux (modulos para las tarjetas) y Dahdi-Tools (utilidades de gestión de Dahdi):
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz- Libpri son unas librerías necesarias para conectar Asterisk con líneas primarias (PRI), aunque no lo necesitemos lo vamos a instalar ya que ocupa poco espacio y no consume ningún recurso adicional por si en un futuro necesitamos conectar una tarjeta PRI.
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
A continuación descargamos Asterisk:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
Una vez descargados todos los ficheros los vamos a descomprimir:
tar -xzvf libpri-1.4-current.tar.gz
tar -xzvf dahdi-linux-complete-current.tar.gz
tar -xzvf asterisk-1.8-current.tar.gzY podemos borrar los ficheros descargados:
rm -r *.tar.gzCompilar e instalar Dahdi
Nos situamosen el directorio de Dahdi:
cd /usr/src/dahdi-linux-complete-*Compilamos e instalamos:
make
make install
make configCompilar e instalar Libpri
Nos situamos en el directorio de Libpri:
cd /usr/src/libpri-1.4.*Compilamos e instalamos:
make
make installCompilar e instalar Asterisk
Ya tenemos todo listo para empezar a compilar e instalar Asterisk, nos situamos en el directorio de Asterisk:
cd /usr/src/asterisk-1.8*Configuramos:
./configureVamos a seleccionar que componentes de Asterisk necesitamos, como es un Asterisk para pruebas lo vamos a dejar tal y como nos lo muestra de serie, en caso de necesitar algún componente adicional lo podremos configurar desde este menú:
make menuselect
Pulsamos en "Save & Exit" para guardar la configuración.
Podemos compilar y instalar Asterisk:
make
make install
make samples
make progdocs
make configAhora ya tenemos instalado Asterisk en nuestro sistema y lo podemos iniciar por primera vez, tanto Asterisk como Dahdi son un servicio más en el sistema, en el caso de Debian deberemos arrancar los componentes por primera vez de forma manual:
service dahdi start
service asterisk startUna vez arrancados los servicios podemos acceder a la consola o CLI de Asterisk con el siguiente comando:
asterisk -rPara ver todo lo que ocurre en tiempo real en Asterisk lanzamos el siguiente comando:
core set verbose 999Para apagar desde el CLI Asterisk podemos ejectuar el siguiente comando, con este comando Asterisk se apagara cuando no se este procesando ninguna llamada, es decir, cuando se libere la centralita para no cortar ninguna llamada:
core stop gracefullyPara salir del CLI escribimos:
exitEn otro articulo voy a contar como configurar Asterisk por primera vez y como instalar AsteriskGUI, una consola de gestión mediante WEB.