emsLinux • El mundo según Linux

Cómo instalar paso a paso Asterisk 1.8 sobre Ubuntu Server

Fecha: 23/05/2011 , , , ,

Desde hace ya algunos años, la telefonía convencional ha comenzado una revolución con la tecnología VoIP, tecnología que nos permite comunicarnos no solo dentro de una red LAN sino también a través de grandes distancias gracias a Internet. Asterisk 1.8 es parte fundamental de esta revolución, Software Libre que nos permite configurar nuestra propia central telefónica con las mas avanzadas prestaciones, haciendo uso de la tecnología análoga convencional o usando las troncales mas modernas que hacen uso de otros servidores con Asterisk para permitirnos comunicarnos entre nosotros a precios mas bajos, con mejor disponibilidad y calidad.

En esta guía instalaremos la versión mas reciente de Asterisk 1.8 sobre Ubuntu Server 10.04 LTS, aun así, la guía deberá servir para instalar Asterisk en las versiones mas recientes de Ubuntu Server sin ningún problema.

Lo primero que debemos hacer es instalar el sistema base de Ubuntu Server. Una vez lo tenemos instalado debemos proceder a actualizar el sistema mediante la ejecución de los siguientes comandos:

sudo apt-get update
sudo apt-get dist-upgrade

Vamos a reiniciar nuestro servidor para que tome los cambios realizados en la actualización y preparémonos para comenzar con la instalación de las dependencias necesarias para la instalación de Asterisk 1.8 y todos sus componentes mediante la ejecución del siguiente comando.

sudo apt-get install build-essential linux-headers-`uname -r` subversion libncurses5-dev libssl-dev libxml2-dev vim-nox gawk wget apache2

Nota: es recomendable crear un nuevo usuario y grupo para Asterisk, esto lo puedes realizar por medio de la ejecución de las siguientes lineas:

sudo adduser asterisk --disabled-password --no-create-home --gecos "asterisk PBX user"
sudo adduser www-data asterisk

Con las dependencias instaladas, procedamos con la descarga de los archivos necesarios para la instalación de Asterisk 1.8 sobre Ubuntu Server 10.04 LTS.

Descargar lo que necesitamos

Ahora hay que descargar la ultima versión disponible de Asterisk, esto podemos hacerlo por medio de Subversion o wget, pero en esta guía voy a indicar como hacerlo con wget para bajar el ultimo tarball estable de Asterisk 1.8.

Para esto, ejecuta las siguientes lineas.

mkdir -p ~/src/asterisk-complete/asterisk
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

Asterisk nos permite instalar una gran cantidad de módulos y aplicaciones que podemos utilizar para nuestra central telefónica, generalmente estos módulos o aplicaciones podemos seleccionarlos ejecutando make menuselect durante la instalación de Asterisk, pero estos módulos y aplicaciones tienen varias dependencias que podemos satisfacer fácilmente ejecutando dos scripts que nos provee el paquete de instalación de Asterisk 1.8 mediante la ejecución de las siguiente lineas:

cd ~/src/asterisk-complete/asterisk/asterisk-1.8.4.1/
sudo ./contrib/scripts/install_prereq install
sudo ./contrib/scripts/install_prereq install-unpackaged

Nota: durante la instalación de las dependencias, una de las aplicaciones te pedirá introducir el indicativo del país donde se encuentra ubicado el servidor, si no sabes cual puede ser ese indicativo, verifica la lista completa de indicativos para países en el siguiente enlace a WikipediaPrefijos telefónicos internacionales“.

Comenzamos con la instalación

El orden para la instalación de Asterisk 1.8 sobre Ubuntu Server 10.04 LTS es el siguiente:

  • LibPRI
  • DAHDI
  • Asterisk

Se hace en este orden para garantizar que los scripts de instalación de Asterisk no tengan ningún problema al momento de verificar las dependencias necesarias para la ejecución de varios módulos integrados en Asterisk 1.8.

LibPRI

Para instalar LibPRI ejecutaremos las siguientes lineas en nuestro servidor (hasta el día de hoy, la versión mas reciente de LibPRI es la 1.4.11.5, te recomiendo verificar si existe una nueva versión):

cd ~/src/asterisk-complete/
mkdir libpri
cd libpri/
svn co http://svn.asterisk.org/svn/libpri/tags/1.4.11.5
cd 1.4.11.5
make
sudo make install

DAHDI

Advertencia: si estas instalando Asterisk 1.8 sobre Ubuntu Server 10.04 LTS de 64bits, es necesario que ejecutes la siguiente linea antes de instalar DAHDI para evitar un error de compilación que se presenta por un error en el archivo /usr/src/linux-headers-`uname -r`/include/asm-x86:

sudo ln -nsf /usr/src/linux-headers-`uname -r`/include/asm-x86 /usr/src/linux-headers-`uname -r`/include/asm

Vamos a instalar DAHDI en nuestro servidor ejecutando las siguientes lineas (al día de hoy la mas reciente versión de DAHDI es la 2.4.1.2+2.4.1, te recomiendo verificar cual es la versión mas reciente):

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

Asterisk 1.8

Finalmente llegamos a la instalación de Asterisk, en esta guía no contemplaremos la configuración de los módulos y aplicaciones a instalar por medio de menuselect. Si seguiste los pasos anteriores donde indico como instalar las dependencias para estos módulos y aplicaciones, por defecto, todos los módulos y aplicaciones se encuentran seleccionados para instalación por lo que no tendrás que utilizar menuselect, a menos que quieras eliminar algunos módulos y aplicaciones o instalar los archivos de audio adicionales de Asterisk 1.8.

Para instalar Asterisk 1.8 vamos a ejecutar las siguientes lineas en nuestro servidor:

cd ~/src/asterisk-complete/asterisk/asterisk-1.8.4.1/
./configure
contrib/scripts/get_mp3_source.sh
make
sudo make install
sudo make config

Si quieres instalar los ejemplos para los archivos de configuración y la documentación del programa, ejecuta las siguientes lineas en la terminal:

sudo make samples
sudo make progdocs

Para finalizar vamos a cambiar los permisos de algunos directorios necesarios para correr Asterisk, esto con la intensión de hacerlos propiedad del usuario asterisk que anteriormente creamos y desde el cual controlaremos todos los aspectos de la central telefónica.

sudo chown asterisk. /var/run/asterisk
sudo chown -R asterisk. /etc/asterisk
sudo chown -R asterisk. /var/{lib,log,spool}/asterisk
sudo chown -R asterisk. /var/www/

Ya puedes comenzar con la configuración de Asterisk para tener tu propia planta telefónica con la mas avanzada tecnología libre.

Fuentes

  • Asterisk: The Definitive Guide, Third Edition, by Leif Madsen, Jim Van Meggelen, and Russell Bryant (O’Reilly). Copyright 2011 Leif Madsen, Jim Van Meggelen, and Russell Bryant, 978-0-596-51734-2.”
  • Heuristic Andrew “error: asm/asm-offsets.h: No such file or directory

Relacionadas

Instalar apps Firefox en el Desktop

firefox3 Fecha: 25/01/2014

En la market place de Mozilla se pueden encontrar muchísimas aplicaciones que son perfectas para las personas que están comenzando […]

Cómo integrar ArduBlock con Arduino IDE

integrar ardublock con arduino Fecha: 27/09/2013

El lenguaje de programación en C, no siempre es lo más recomendable, sobre todo para los aficionados sin conocimientos de […]

48 Respuestas a “Cómo instalar paso a paso Asterisk 1.8 sobre Ubuntu Server”

  1. [...] Cómo instalar paso a paso Asterisk 1.8 sobre Ubuntu Server – El mundo según Linux [...]

  2. Lo mejor de mi RSS del 23 al 29 de mayo | Superlinux dice:

    [...] Cómo instalar paso a paso Asterisk 1.8 sobre Ubuntu Server – El mundo según Linux [...]

  3. [...] instalar el lanzador Synapse en Debian 6.0 Squeeze utilizando el repositorio PPA de Synapse para Ubuntu ademas de los paquetes adicionales necesarios para que Synapse trabaje [...]

  4. Johnex82 dice:

    muchas gracias parce, le agradesco en el alma la informacion compartida me es de gran ayuda voy a seguir los pasos q me das xq tengo un trabajo estenuante con esto de asterisk q es bastante complejo gracias  de nuevo…. q estes bien.

  5. Johnex82 dice:

    parce necesito + accesoria para montar una central telefonica con asterisk tengo plazo hasta el viernes para tenerlo hasta la A de asterisk. GRACIAS de nuevo paisano

  6. [...] de Ubuntu, pero siguiendo con el soporte otorgado a la versión de escritorio y servidores Ubuntu 10.04 LTS, que incluso se anunció, tendrán un periodo mas largo de soporte al [...]

  7. felipe dice:

    gracias por el aporte muy bueno y super facil de enterder gracias

  8. [...] 24, 2012 by David Gómez Actualmente, uno de mis servidores favoritos para trabajar es Ubuntu Server, más que todo porque además de ofrecer estabilidad, velocidad y la posibilidad de un soporte [...]

  9. vannessitagol dice:

    hola me ayudo mucho tu blog pero al seguir tus pasos se sale error al hacer make en el dahdi …esto me sale
    /dahdi/2.4.1.2+2.4.1/linux/drivers/dahdi/dahdi_transcode.c:49:31: error: ‘SPIN_LOCK_UNLOCKED’ no se declaró aquí (no en una función)
    make[3]: *** [/home/vanessita/src/asterisk-complete/dahdi/2.4.1.2+2.4.1/linux/drivers/dahdi/dahdi_transcode.o] Error 1
    make[2]: *** [_module_/home/vanessita/src/asterisk-complete/dahdi/2.4.1.2+2.4.1/linux/drivers/dahdi] Error 2
    make[2]: se sale del directorio «/usr/src/linux-headers-3.2.0-24-generic-pae»
    make[1]: *** [modules] Error 2
    make[1]: se sale del directorio «/home/vanessita/src/asterisk-complete/dahdi/2.4.1.2+2.4.1/linux»
    make: *** [all] Error 2

    por fa ayudame a solucionarlo …gracias

  10. jorge santibañez dice:

    para solucionar el problema de 
    ‘SPIN_LOCK_UNLOCKED’ en el make de dahdi hay que editar el linux/driver/dahdi/dahdi_transcode.c y cambiar la linea static spinlock_t translock = SPIN_LOCK_UNLOCKED a  static DEFINE_SPINLOCK(translock); 

  11. Jaime dice:

    Hola,
    Soy un profesor de telecomunicaciones y me gustaría contactar directamente con el autor para preguntarle que una vez realizado todo el procedimiento anterior, cómo configuro los equipos que van a funcionar con softphone dentro de la misma LAN. Además me gustaría saber como poder realizar llamadas al exterior desde mi PABX creada.

    Muchas gracias.

  12. rocko dice:

    hola, por el comentario que hiciste a jaime no se donde esta o no encuentro el formulario de consulta; asi que me dirijo por aca con la siguiente pregunta:

    porq ue tengo el siguiente comentario?
    “bash: cd: /home/rocko/src/asterisk-complete/asterisk/asterisk-1.8.4.1/: No existe el archivo o el directorio”
    al ingresar el siguiente comando, sucede: cd ~/src/asterisk-complete/asterisk/asterisk-1.8.4.1/

    cuando llego a esa parte me sucede tal cosa y no se q hacer m indicas cual el error?
    gracias de antemano

    • David Gómez dice:

      El formulario de contacto esta en la página de contacto del blog, el enlace grande que dice “Contacto” en la barra superior del blog.

      Por otro lado, el error te dice que el archivo o directorio no existe, así que el archivo o directorio no existe, tienes que escribir el nombre correcto a la versión que estas instalando de Asterisk.

  13. renatto dice:

    instale todo al pie de la letra y reinicie el ubuntu server y me pide login y password y ahora no puedo entrar me podrias ayudar con eso??’

  14. tdnf dice:

    hola, hermano que interfaz gráfica PUEDO INSTALAR EN ASTERISK 1.8?

  15. si pueden ayudarme seria magnifico
    mi inquietud es la siguiente
    yo estoy recibiendo un curso de voip en la politecnica,lamentablemente se me hace dificil no se si porque no tengo bases del sitema linux pero tampoco de asterisk.
    yo creo que es nesesario seguir de ley un curso de linux para interactuar con lo voip.
    sugierame porque estoy en el limbo.
    lastimosamente me cambiaron a este puesto en la empresa y se me hace dificil pero no quiero botar la toalla.
    gracias

  16. jhon jimenez dice:

    tengo una pregunta, documentacion para instalar freepbx en el asterisk instalado pero que sirva como tu instalacion

  17. dany dice:

    buenas tardes es que lo que pasa es que con lo que ud ah escrito
    todo me ah funcionado satisfatoriamente solo que este comando que ud escribio aka cuando uno inicia secion sale un usuario y una contraseña pero la contraseña no se cual es ud coloco este comando sudo adduser asterisk –disabled-password –no-create-home –gecos “asterisk PBX user”
    sudo adduser www-data asterisk

  18. dany dice:

    este comando sudo adduser asterisk –disabled-password –no-create-home –gecos “asterisk PBX user”
    sudo adduser www-data asterisk que contraseña escribe uno aqui
    cuando inicia con el ususario

  19. daniel dice:

    buenas tardes caballero lo que pasa es que ejecuto este comando y me sale que no existe el fichero que debo hacer gracias espero su respuesta pronto

    cd ~/src/asterisk-complete/asterisk/asterisk-1.8.4.1/

  20. dany dice:

    caballero una tercera pregunta es que lo que pasa es que yo ya ejecute todos los comandos paso a paso como dice en el manual pero cuando termino toda la intalacion y dentro a cd /etc/asterisk
    entro al asterisk# asterisk -r yo ejecuto este comando y me dice unable to connect a asterisk algo asi y tiene que salir como conectado sera que a su manual le hace falta algo mas
    no c

    espero tu respuesta muchas grasias me ha servido mucho su manual

    • David Gómez dice:

      Al manual no le hace falta nada… Lo que pasa es que este no puede tomarse de forma literal pues con el tiempo algunos comandos deben ser modificados debido a los cambios de versión en las aplicaciones.

      Para seguir este manual es necesario tener conocimientos previos sobre Linux, sin ellos es prácticamente imposible que la instalación te salga bien.

  21. dany dice:

    buenos dias es que lo que pasa es que tengo una pregunta

    yo hago todos los comandos paso a paso y a lo ultimo de tener instalado entro a cd /etc/asterisk#asterisk -r y el asterisk me sale unable y unable es no conectado to asterisk y debe decir conectado to asterisk remote que debo hacer adiccional a lo que falta ??

    espero una pronta respuesta muchas grasias

  22. daniel urrego dice:

    Caballero BUenos Dias… Cuando termino estos comandos y voy VER SI SI ESTA CONECTADO EL ASTERISK Me sale UNABLE DISCONET Que debo hacer Me Falta algun comando algun Comando?

    sudo chown asterisk. /var/run/asterisk
    sudo chown -R asterisk. /etc/asterisk
    sudo chown -R asterisk. /var/{lib,log,spool}/asterisk
    sudo chown -R asterisk. /var/www/

    • David Gómez dice:

      Daniel, de casualidad sabes que es lo que hacen esos comandos que pusiste en el comentario?

      • dany dice:

        no que acen es que no sabemos como conectar asterisk denos una orientacion que estamos perdidos porfavor muchas grasias

        el asterisk no se nos quiere conectar

        espero su respuesta grasias

        • David Gómez dice:

          @Dany, no puedes esperar a que yo haga tu trabajo. Si necesitas consultoría o la configuración del servidor yo lo puedo hacer cobrando ciertos honorarios.

          Si estas interesado envíame un correo a través del formulario de contacto.

          • Daniel Mesones dice:

            Hola David! Permíteme comentarte que hay muchos huecos en tu manual, para Ubuntu server hay ciertas consideraciones de seguridad (entre otros) que no has tomado en cuenta, es por ello que la gente no puede seguirlo. Aquí Dany, usuario que conoce muy poco de linux, te está pidiendo ayuda en su compilación, no que hagas su trabajo. Me parece de muy mal gusto tu respuesta, nada te costó decirle que revise que todas las dependencias estén instaladas, que revise la versión de kernel, hasta que ejecute el “asterisk -vvvvvvvvvvvgc” que no pusiste (que es por ello que no levanta su Asterisk) … por favor, si vas a dar información… DALA COMPLETA!!!!

            Saludos,

            Daniel Mesones

  23. dany dice:

    muchas grasias david por su documento me sirvio de mucho no
    solo era mirar unos comandos y solo abia que escribir asterisk -r reiniciar el sevidor y ya tenia mi servidor asterisk

    muchas grasias por la colaboracion hermano

    dios lo bendiga

  24. max dice:

    hola, he instalado asterisk 1.18.0 en debian 6.0.6 squeeze, y no queda. Hice el usuario, y a los archivos los puse como dueño a asterisk, pero no funciona de todas maneras.
    doy: asterisk -vvvc y me indica esto:
    format_g723.so => (G.723.1 Simple Timestamp File Format)
    == Registered file format sln16, extension(s) sln16
    format_sln16.so => (Raw Signed Linear 16KHz Audio support (SLN16))
    Instrucción ilegal

    la verdad, llevo instalado como en 6 maquina virtuales y me da ese mismo enunciado (Instrucción ilegal)pero se detiene en otro concepto del asterisk (format_g723.so => o cualqier de estos requerimientos)
    al principio crei que era por cuestiones de permisos, pero ni aun asi me deja.

    ¿que podría hacer?

  25. hola, he instalado asterisk 1.18.19 en debian 6.0.6 squeeze aunque compila correctamente y el servicio levanta correctamente, tengo un problema cuando trato de recargar el archivo sip.conf de la forma debian*CLI> sip reload, genera el mensaje No such command ‘sip reload’ (type ‘core show help sip reload’ for other possible commands) y en la ruta /etc/asterisk no se instalo ningún archivo de configuración donde debería aparecer el sip.conf. Los archivos los estoy compilando en /usr/src/asterisk. No me toma ningún comando como por ejemplo show modules y para imprimir la version debo anteponer “core” show version, cual crees que pueda ser la causa de esto
    muchas gracias por la ayuda que me puedas brindar.

  26. Hola gracias por la respuesta efectivamente omiti make samples pues no deseaba archivos de ejemplo pero no sabia que este comando creaba los archivos base de configuración en /etc/asterisk ese fue el inconveniente.

    [Editado]

  27. ok, gracias por la información

Deja un comentario

Seovolución