Curso Asterisk (II): Instalación

En el capítulo de hoy vamos a instalar Asterisk en una Debian 7 Wheezy. Para ello tenemos dos formas, en función de si queremos utilizar los repositorios de Debian o preferimos compilar la última versión de Asterisk a partir de su código fuente. Yo os recomiendo esta última.

Instalar Asterisk: The Easy Way

En los repositorios de Debian tenemos la versión Asterisk 1.8 disponible. Instalarla es tan fácil como hacer lo siguiente:

# apt-get install asterisk

La versión 1.8 es suficiente para empezar a cacharrear, pero es bastante antigua. Para un uso real recomiendo instalar la última versión disponible, normalmente con más funcionalidades y menos bugs, a partir del código fuente. También necesitaremos compilar si queremos hacerlo funcionar en plataforma ARM (RaspBerry Pi, PandaBoard, etc). La versión estable más reciente en este momento es Asterisk 11.5.

Instalar Asterisk: The Hard Way

Como no nos dejamos asustar tan fácilmente, vamos a instalar Asterisk a partir de sus fuentes para poder trabajar con la última versión. Para aquellos que estén acostumbrados a hacer instalaciones por esta vía sólo habrá un par de puntos a los que deban prestar atención.

Primero vamos a instalar las herramientas de desarrollo para poder compilar:

# apt-get install build-essential checkinstall

También necesitaremos instalar algunos requisitos de Asterisk:

# apt-get install ncurses-dev libxml2-dev libsqlite3-dev libssl-dev uuid-dev

Bajamos y descomprimimos el código fuente de Asterisk 11 en su versión más reciente:

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
$ tar zxvf asterisk-11-current.tar.gz
$ cd asterisk-11.x.x

Configuramos y revisamos que todos los módulos necesarios para SIP estén preparados:

$ ./configure
$ make menuselect

En el menú de configuración deberemos comprobar que los siguientes módulos aparezcan seleccionados (marcados con un asterisco [*]):

  • Channel Drivers / chan_sip
  • Resource Modules / res_crypto
  • Resource Modules / res_rtp_asterisk

Si alguno no está seleccionado es porque no hemos cumplido con los requisitos necesarios. En ese caso, en la parte inferior se indica cuál es el componente que requiere, y deberemos instalarlo mediante APT. Normalmente se necesitan los paquetes de desarrollo, es decir, si el componente nos dice que necesita de «uuid», tendremos que instalar el paquete «uuid-dev». Una vez instaladas las dependencias, deberemos volver a hacer ./configure.

Además de lo anterior, vamos a seleccionar también la colección de sonidos en español:

  • Core Sound Packages / CORE-SOUNDS-ES-GSM

Una vez que todo esté bien, compilamos, instalamos, añadimos los scripts de arranque para /etc/init.d, y la configuración de logrotate:

$ make
# make install
# make config
# make install-logrotate

Y por último, podemos instalar una configuración completa de Asterisk que nos servirá como ejemplo para ir viendo la sintaxis:

# make samples

La configuración de Asterisk se instala en /etc/asterisk/, y los dos archivos sobre los que vamos a trabajar en futuras entregas son:

  • sip.conf
  • extensions.conf

Ya podemos arrancar Asterisk:

# /etc/init.d/asterisk start

En el siguiente capítulo: creación de dos extensiones internas para hacer llamadas entre ellas por SIP. ¡No te lo pierdas!

Índice del Curso Asterisk:

8 comentarios en “Curso Asterisk (II): Instalación

  1. No se por que pero en la parte de make menuselect me falla

    root@debian:/home/joyman/asterisk-11.7.0# make menuselect
    make: Atención: El archivo `Makefile’ tiene una hora de modificación 2,4e+08 en el futuro
    ****
    **** The configure script must be executed before running ‘make’.
    **** Please run «./configure».
    ****
    make: *** No hay ninguna regla para construir el objetivo `makeopts’, necesario para `menuselect/makeopts’. Alto.

  2. Asegúrate de haber hecho primero el «./configure» y de que haya ido bien, sin errores. Si quieres empezar de cero puedes limpiar todo con «make distclean».

  3. me ha pasado lo mismo que a joyman, he notado que en las indicaciones que vos colocas aparece $ menuselect.. pero despues de hacer ./configure a mi me queda # .. eso es un error?

  4. Comprueba que tengas correctamente establecida la hora de sistema. Acabo de compilar Asterisk 11 en una Xubuntu siguiendo al pie de la letra las instrucciones y no he recibido error alguno. El error indicado sugiere un problema de fechas.

    Sobre tu segunda pregunta, el símbolo «$» y «#» al principio de cada línea representan la cuenta de usuario desde la que debes escribir cada comando, pero no debe escribir tú los símbolos. «$» significa que puedes ejecutar el comando con tu cuenta de usuario, y «#» que debes ejecutarlo como root. Es una notación habitual.

    Cuando indico «$ ./configure» quiero decir que debes ejecutar «./configure» desde tu cuenta de usuario estándar. Cuando indico «# make install» quiero decir que debes ejecutar «make install» como root, normalmente habiendo hecho previamente «sudo su», o bien ejecutando la línea como «sudo make install» desde tu cuenta estándar.

    Un saludo.

  5. El problema de compilación que tienen joyman y rodrigo se debe a la fecha y hora del sistema, ya que deben tener una fecha anterior a la última fecha que modificaron el makefile. solo configuren la hora actual y listo.

    Saludos.

  6. como instalo las dependencias que me hacen falta
    Channel Drivers / chan_sip
    Resource Modules / res_crypto
    Resource Modules / res_rtp_asterisk

  7. Para verificar las dependencias entras a «channel drivers» y verificas que tenga el asterisco chan_sip, luego volves para atras, entras a «Resource modules» y verificas que tenga el asterisco res_crypto y asi con Resource Modules / res_rtp_asterisk.
    Saludos. me costo pero le encontre la vuelta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *