Instalación de asterisk paso a paso
Posted by Jose | Posted in *LINUX* | Posted on 04-12-2009
19
He decidido crear este articulo debido a los confusos tutoriales que abundan en la red la red acerca de la instalación del software PBX asterisk.
La idea de este articulo es hacer algo practico y con pasos detallados, así tendremos mejor orientación al momento de realizar la instalación
1- Que es asterisk?
Es un software que porta funcionalidad de central telefónica (PBX) a un pc, permitiendo la comunicación entre varios suscriptores o extensiones, bien sea como teléfonos físicos o teléfonos por software.
2- Para que me puede servir asterisk?
Puedes implementar asterisk en casa u oficina, haciendo un sistema de intercomunicación local y exterior por medio de la conexión a la central de una linea telefónica común o por medio de una pasarela de voz ip
3- Que obtendremos luego de la instalación?
Un sistema asterisk instalado en tu distribución GNU/linux, con panel de administración vía web, amigable al usuario para hacer todas las tareas de administración. Asterisk nativamente no es amigable a un usuario o instalador principiante, ya que este se configura mediante largos archivos de configuración, además de estar en ingles.
Esta interfaz WEB modifica estos archivos directamente en vez de nosotros hacerlo a mano, de una manera mas fácil y rápida de comprender..
4 -Que necesito para ejecutar Asterisk?
Un PC con distribución GNU/linux, para el caso de este articulo se basara en distribuciones basadas en Debian (ubuntu, mint etc)
COMENZANDO CON LA INSTALACIÓN
Vamos a descargar y a instalar asterisk en base a sus fuentes, para luego configurarlo y compilarlo. Para esto necesitamos dotar a nuestro sistema con ciertos paquetes necesarios para llevar a cabo la instalación. Para esto necesitamos abrir una consola o terminal y hacer login como root o superusuario, esto lo podemos hacer mediante la orden:
miguel@miequipo ~ $ sudo su
|
Luego de quedar identificado como superusuario procedemos a descargar e instalar los paquetes necesarios para la preinstalar de asterisk. Ejecutamos la siguiente orden:
root@miequipo ~ $ aptitude install build-essential g++ linux-headers-$(uname -r) libncurses-dev libnewt-dev libssl-dev zlib1g
|
Luego ver el proceso de descarga e instalación de los paquetes, debemos obtener los programas necesarios para construir la central Voip. Estos programas son: Asterisk (la central como tal) y asterisk-gui (la herramienta de administración via web)
Estos programas se descargan directamente de la pagina de digium (empresa patrocinadora de asterisk) en la dirección http://downloads.digium.com/pub/telephony
abrimos el navegador web y nos dirigimos a esa dirección, luego entramos en el directorio «asterisk»
«actualmente existen dos ramas de asterisk, 1.6.x y 1.4.x» en este tutorial utilice la rama 1.4.21.2 debido que ha dado menos problemas en las nuevas instalaciones.
Ya en nuestro navegador web con el directorio asterisk abierto localizamos la versión a instalar, para efectos de este articulo asterisk-1.4.27.1.tar.gz, hacemos clic derecho sobre el enlace y copiamos la dirección del enlace
Luego vamos a la consola en la que estamos identificados como superusuario y nos dirimimos al directorio /usr/src con el comando «cd /usr/src» En linux las fuentes deben descargarse y extraerse en este directorio
luego escribimos wget y a continuación pegamos el enlace que tomamos de la pagina de digium, quedando así
«ASEGURATE DE ESTAR SITUADO EN EL DIRECTORIO /USR/SRC/, LO PUEDES HACER MEDIANTE LA ORDEN «pwd» «
root@miequipo /usr/src $ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.4.27.1.tar.gz
|
El comando «wget» funciona para descargar archivos mediante el protocolo http, y la descarga la guarda en el directorio que estemos situados, en este caso /usr/src/
Posteriormente se realizara la conexión y se visualizara la barra de progreso de descarga en la consola. Luego de haber descargado el archivo, necesitamos descomprimirlo, esto hace mediante la orden «tar xvzf» y luego el nombre del archivo descargado (asterisk-1.4.27.1.tar.gz) quedando así:
root@miequipo /usr/src $ tar xvzf asterisk-1.4.27.1.tar.gz
|
Luego de este paso ya tendremos el directorio asterisk-1.4.27.1, entramos a el con el comando «cd asterisk-1.4.27.1«. Luego de estar en dicho directorio, si queremos, podríamos listar su contenido mediante la orden «ls» y asi visualizar el árbol de archivos y subdirectorios presentes.
El próximo paso, luego de estar situado en el directorio /usr/src/asterisk-1.4.27.1 es ejecutar la orden «./configure» la cual configura el proceso de compilación.
root@miequipo /usr/src/asterisk-1.4.27.1 $ ./configure
|
Luego de terminar el proceso, continuamos ahora con la orden «make» la cual realiza el proceso de compilación. Este proceso puede durar de 2 a 10 minutos dependiendo de la rapidez del equipo.
root@miequipo /usr/src/asterisk-1.4.27.1 $ make
|
Posteriormente luego de haberse compilado asterisk, solo hace falta copiar los archivos compilados a su lugar correspondiente en el disco duro, esto se hace mediante la orden «make install»
root@miequipo /usr/src/asterisk-1.4.27.1 $ make install
|
TOMEN EN CUENTA QUE NO HE COLOCADO LA SALIDA DE CADA ORDEN PARA AHORRAR ESPACIO, PERO DEBEN ESTAR ATENTOS SI SE PRESENTA ALGÚN ERROR Y SE INTERRUMPE ALGUNO DE LOS PASOS
Al ejecutar el comando «make install«, podemos asegurarnos de que la instalación se realizo con éxito al aparecer este mensaje al final del proceso
Luego debemos ejecutar el comando «make samples», así asterisk creara todos los archivos de configuración con comentarios de ayuda en los mismos, en el directorio /etc/asterisk
Para iniciar asterisk, solo hace falta teclear en consola (seguimos como root) asterisk, podemos comprobar que realmente se esta ejecutando con la orden: «ps aux | grep asterisk»
La salida de este comando muestra todos los procesos en ejecución del sistema, además filtramos la salida con el comando «grep» para que solo nos muestre las lineas con resultado que contengan la palabra asterisk.
Ya tenemos nuestro asterisk instalando y funcionando, ahora nos hace falta instalar la administración vía web llamada asterisk-gui. Para esto seguiremos los siguientes pasos:
En consola nos movemos nuevamente al directorio /usr/src/ con la orden «cd /usr/src», vamos al navegador web y entramos en la siguiente dirección http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/
Allí copiamos el enlace de descarga al fichero asterisk-gui-2.0.2.tar.gz y en lo pegamos junto al comando wget, tal cual como hicimos con la primera descarga
root@miequipo /usr/src $ wget http://downloads.asterisk.org/pub/telephony/asterisk-gui/releases/asterisk-gui-2.0.2.tar.gz
|
Extraemos el contenido del fichero descargado:
root@miequipo /usr/src $ tar xvzf asterisk-gui-2.0.2.tar.gz
|
ahora entramos en el directorio que se creo con la orden asterisk-gui-2.0.2:
root@miequipo /usr/src $ cd asterisk-gui-2.0.2
|
Ahora necesitamos, configurar, compilar e instalar, para esto ejecutamos las ordenes en el mismo orden que lo hicimos con la instalación anterior
root@miequipo /usr/src/asterisk-gui-2.0.2 $ ./configure
|
Compilamos con «make»
root@miequipo /usr/src/asterisk-gui-2.0.2 $ make
|
Instalación:
root@miequipo /usr/src/asterisk-gui-2.0.2 $ make install
|
Luego de estos pasos asterisk-gui ya esta instalado, pero necesitamos activar ciertas cosas antes de poder utilizarlo
Asterisk-gui se comunica con asterisk mediante AMI (asterisk manager interface) y tiene la ventaja que no necesita ningún servidor web aparte como apache etc.
Nos dirigimos al directorio /etc/asterisk con el comando ya utilizado «cd» ahi editamos el archivo de configuración de AMI el cual se llama manager.conf. la edicion del archivo se hace mediante el editor de texto de tu preferencia, siempre recordando que hace falta ejecutarlo como root para poder modificar el archivo, de lo contrario nos dará un error al intentar salvar el mismo
En mi caso lo edito con un editor de texto (VIM) mediante consola.
El archivo en cuestion ya tiene algunas lineas definidas y muchas otras lineas de ayuda, las cuales dan explicación de cada parámetro del archivo de configuración. Si una linea comienza con «;» quiere decir que esa linea no tiene efecto para asterisk, al eliminar el punto y coma activamos el parámetro seguido
Las lineas basica que debe contener el archivo manager.conf son las siguientes:
;PRINCIPIO
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
bindaddr = 127.0.0.1
[administrador]
secret = 123456
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
;FIN
RECUERDA QUE SI UNA LINEA DICE:
;enabled = yes NO TIENE EFECTO, ya que comienza con un punto y coma, es decir asterisk no interpreta lineas que comiencen con ;
Ahora, en este archivo básicamente lo que hicimos fue habilitar el asterisk AMI, definimos el puerto que utiliza y le indicamos desde que dirección se tendrá acceso a AMI, en este caso desde la misma maquina 127.0.0.1 (localhost). En casos mas avanzados podríamos instalar en asterisk-gui en un servidor mientras que la instalación raiz de asteris este en otro servidor distinto .
Las ultimas lineas definen el usuario que vamos a utilizar para entrar en la administración web de asterisk, al que le definimos el nombre de «administrador» y le asignamos contraseña de «123456». además definimos los roles de usuario que en este caso tiene control total
Luego activamos el servidor HTTP de asterisk, esto lo hacemos editando el archivo http.conf ubicado en /etc/asterisk
Las lineas necesarias son:
[general]
enabled = yes
enablestatic = yes
bindaddr = 0.0.0.0
bindport = 8088
prefix = asterisk
Luego de editar estos archivos y salvar los cambios, es necesario reiniciar asterisk para que los cambios tomen efecto, esto lo hacemos finalizando la ejecucion de asterisk que tenemos levantada con el comando
root@miequipo /etc/asterisk $ killall asterisk
|
y luego volver a arrancarlo con las orden:
root@miequipo /etc/asterisk $ asterisk
|
Con la orden netstat -atupn | grep asterisk podemos visualizar que conexiones de red tiene establecida el proceso asterisk, a continuación puede apreciarse que aparecen los puertos 5038 (AMI) y 8088 (asterisk-gui)
Luego de haber hecho estos pasos podemos comprobar que la configuración es correcta, situándonos en el directorio de las fuentes de asterisk-gui /src/src/asterisk-gui-2.0.2/ y ejecutando la orden.
root@miequipo /usr/src/asterisk-gui-2.0.2 $ make checkconfig
|
Esto nos da como resultado usa serie de comprobaciones y si todo resulta bien nos muestra la dirección en la que podemos entrar en nuestra administración web.
http://localhost:8088/asterisk/static/config/cgfbasic.html
Solo nos queda entrar en dicha dirección, y hacer login para ver las distintas opciones de administración y configuración
A partir de este momento para hacer pruebas con nuestra PBX, tenemos que crear un plan de marcado (dialplan) generico y luego crear las extensiones con su respectiva contraseña
En asterisk es posible utilizar hardware de telefonía, como tarjetas PCI para poder conectar directamente teléfonos análogos, la configuración de este hardware conlleva la instalación de módulos apartes que no son tratados en este articulo (como muchas cosas que pudieron quedar fuera) pero perfectamente pueden consultar acerca de tópicos no tratados en el articulo, ya que la finalidad de este articulo es ayudar un poco en la instalación base.
De mas esta decirles que pueden plantear sus dudas e inquietudes en la zona de comentarios.
BEST EARNINGS FOR ALL FROM $9313 per day: https://q1-get-6-bitcoin-162.blogspot.de?x=26
Excelente tutorial, saludos.-
He seguido el manual paso a paso, incluso buscando las versiones que aquí se ponen (asterisk 1.4, etc.), y al entrar al panel de administración, me pide usuario/clave 2 veces, y da un fallo de conexión; se queda la pagina en blanco y pone que no se puede mostrar la pagina solicitada
Que rama de asterisk utilizas? hay unos cambios leves entre versiones
muy bueno el tutorial muchas gracias oye quisiera saber como conectar asterisk con la red pstn t lo agradeceria mucho si me avisa en mi correo
Una vez me sucedió y ese momento encontré que el error estaba presente en la rama 1.6 en combinación con algunas versiones de Asterisk-gui.
Instala la rama 1.4 para evitarlo y cuéntanos como te fue
Hola , bueno , instale asterisk y asterisk gui logro logearme en el asterisk gui pero al moemnto de entar al panel sale una venta de alerta diciendo loading… updating Extensions.conf …. esa ventana sale constatemnte q puedo hacer :S
Gracias de antemano
Hola jose, ya solucione el problema que tenia con asterisk.
gracias.
bunas tardes
no logro encontrar el asterisk en el directorio que dices por favor revisa.
este es el url: http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.4.27.1.tar.gz pero no esta.
por favor respondame brevemente
Hola jose mira que hice lo que me dices pero sigue igual, cuando voy al login me sale una ventana con el siguiente mensaje:
Alert !
The GUI does not have necessary privileges.
Please check the manager permissions for the user !
ya hice lo del manager.conf, te voy a enviar lo que tengo en el manager.conf
;
; AMI – The Asterisk Manager Interface
;
; Third party application call management support and PBX event supervision
;
; This configuration file is read every time someone logs in
;
; Use the «manager list commands» at the CLI to list available manager commands
; and their authorization levels.
;
; «manager show command » will show a help text.
;
; —————————- SECURITY NOTE ——————————-
; Note that you should not enable the AMI on a public IP address. If needed,
; block this TCP port with iptables (or another FW software) and reach it
; with IPsec, SSH, or SSL vpn tunnel. You can also make the manager
; interface available over http if Asterisk’s http server is enabled in
; http.conf and if both «enabled» and «webenabled» are set to yes in
; this file. Both default to no. httptimeout provides the maximum
; timeout in seconds before a web based session is discarded. The
; default is 60 seconds.
;
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
;httptimeout = 60
; a) httptimeout sets the Max-Age of the http cookie
; b) httptimeout is the amount of time the webserver waits
; on a action=waitevent request (actually its httptimeout-10)
; c) httptimeout is also the amount of time the webserver keeps
; a http session alive after completing a successful action
bindaddr = 127.0.0.1
;displayconnects = yes
;
; Add a Unix epoch timestamp to events (not action responses)
;
;timestampevents = yes
[administrador]
secret = 123456
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
;deny=0.0.0.0/0.0.0.0
;permit=127.0.0.1/255.255.255.0
;
; If the device connected via this user accepts input slowly,
; the timeout for writes to it can be increased to keep it
; from being disconnected (value is in milliseconds)
;
; writetimeout = 100
;
;Authorization for various classes
;read=system,call,log,verbose,command,agent,user,config,originate,read,write
;write=system,call,log,verbose,command,agent,user,config,originate,read,write
Saludos, revisa en archivo manager.conf ubicado en el directorio /etc/asterisk el cual debe contener estas lineas:
——————————————————————————–
;PRINCIPIO
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
bindaddr = 127.0.0.1
[administrador]
secret = 123456
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
;FIN
——————————————————————————–
El error debe estar en las dos ultimas lineas citadas, en las cuales se proporciona los permisos de lectura (read) y escritura (write) al usuario «administrador».
cabe destacar que en este ejemplo le estamos otorgando libertad total para hacer modificaciones a este usuario vía web. Puede ser útil también crear usuarios que puedan monitorear por esta vía sin hacer cambios a asterisk
Revisa y coméntanos como te fue!!
cuando ingreso el username y password en la gui me sale el siguiente erro:
The GUI does not have necessary privileges.
Please check the manager permissions for the user !
como puedo solucionar esto
gracias.
Excelente manual, de 10, muchas gracias y que siga esa comundad libre!
perfecto perfecto perfecto perfecto perfecto
funciona, es el primero que me funciona ta facil 10pts para este turo
GRACIAS!!!!!
Ya me toy bajando el Ubuntu… Según varios foros es la mejor opcion para iniciarse en Linux, porsia, tambien bajo una version de Windows Xp de esas Mod que ha recibido muy buenas criticas… Windows Last One v5.1
Primero que nada al parecer no realizaste la instalación de los paquetes básicos que preceden la instalación del asterisk, esto se encuentra al comienzo del articulo y la orden es: aptitude install build-essential g++ linux-headers-$(uname -r) libncurses-dev libnewt-dev libssl-dev zlib1g
Segundo: Si lo que quieres es solo instalar el «make» la instalación de paquetes por consola en distribuciones basadas en debian se hace mediante las ordenes aptitude o apt (via consola). basta con ejecutar «aptitude install make» o «apt-get install make» (con permisos de super usuario o root). cualquier a de las dos ordenes que utilices te resultara igual y luego vuelve a ejecutar «./configure»
en el paso donde se pone ./configure, me sale un error que dice que instale el GNU make.
COmo logro instalarlo
SI se presenta alguna duda o problema, no dudes en comentar
Ei, Voy a probar este tuto,pero tiene MUY buena pinta, muchas gracias! agrego a favoritos! 😉