He decidido crear este articulo debido a los confusos tutoriales que abundan en la red la red
acerca de la instalacin del software PBX asterisk.
La idea de este articulo es hacer algo practico y con pasos detallados, as tendremos mejor orientacin al momento de realizar la instalacin 1- Que es asterisk? Es un software que porta funcionalidad de central telefnica (PBX) a un pc, permitiendo la comunicacin entre varios suscriptores o extensiones, bien sea como telfonos fsicos o telfonos por software. 2- Para que me puede servir asterisk? Puedes implementar asterisk en casa u oficina, haciendo un sistema de intercomunicacin local y exterior por medio de la conexin a la central de una linea telefnica comn o por medio de una pasarela de voz ip 3- Que obtendremos luego de la instalacin? Un sistema asterisk instalado en tu distribucin GNU/linux, con panel de administracin va web, amigable al usuario para hacer todas las tareas de administracin. Asterisk nativamente no es amigable a un usuario o instalador principiante, ya que este se configura mediante largos archivos de configuracin, adems de estar en ingles.
Esta interfaz WEB modifica estos archivos directamente en vez de nosotros hacerlo a mano, de una manera mas fcil y rpida de comprender.. 4 -Que necesito para ejecutar Asterisk? Un PC con distribucin GNU/linux, para el caso de este articulo se basara en distribuciones basadas en Debian (ubuntu, mint etc) COMENZANDO CON LA INSTALACIN 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 instalacin. 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 miguel@catserver ~ $ 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 miguel@catserver ~ $ Luego ver el proceso de descarga e instalacin 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 administracin via web) Estos programas se descargan directamente de la pagina de digium (empresa patrocinadora de asterisk) en la direccin http://downloads.digium.com/pub/telephony abrimos el navegador web y nos dirigimos a esa direccin, 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 versin a instalar, para efectos de este articulo asterisk-1.4.27.1.tar.gz, hacemos clic derecho sobre el enlace y copiamos la direccin 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 continuacin 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 miguel@catserver ~ $ 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 conexin 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, podramos listar su contenido mediante la orden ls y asi visualizar el rbol de archivos y subdirectorios presentes. El prximo 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 compilacin. 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 compilacin. 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 ALGN ERROR Y SE INTERRUMPE ALGUNO DE LOS PASOS Al ejecutar el comando make install, podemos asegurarnos de que la instalacin se realizo con xito al aparecer este mensaje al final del proceso
Mensaje de aviso de instalacin exitosa Luego debemos ejecutar el comando make samples, as asterisk creara todos los archivos de configuracin 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 ejecucin del sistema, adems 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 administracin va 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 direccin 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 instalacin anterior root@miequipo /usr/src/asterisk-gui-2.0.2 $ ./configure Compilamos con make root@miequipo /usr/src/asterisk-gui-2.0.2 $ make Instalacin: 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 ningn servidor web aparte como apache etc. Nos dirigimos al directorio /etc/asterisk con el comando ya utilizado cd ahi editamos el archivo de configuracin 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 explicacin de cada parmetro del archivo de configuracin. Si una linea comienza con ; quiere decir que esa linea no tiene efecto para asterisk, al eliminar el punto y coma activamos el parmetro 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 bsicamente lo que hicimos fue habilitar el asterisk AMI, definimos el puerto que utiliza y le indicamos desde que direccin se tendr acceso a AMI, en este caso desde la misma maquina 127.0.0.1 (localhost). En casos mas avanzados podramos instalar en asterisk-gui en un servidor mientras que la instalacin raiz de asteris este en otro servidor distinto . Las ultimas lineas definen el usuario que vamos a utilizar para entrar en la administracin web de asterisk, al que le definimos el nombre de administrador y le asignamos contrasea de 123456. adems 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 continuacin puede apreciarse que aparecen los puertos 5038 (AMI) y 8088 (asterisk-gui)
Puertos utilizados por asterisk Luego de haber hecho estos pasos podemos comprobar que la configuracin es correcta, situndonos 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 direccin en la que podemos entrar en nuestra administracin web. http://localhost:8088/asterisk/static/config/cgfbasic.html
resultados de prueba con make checkconfig Solo nos queda entrar en dicha direccin, y hacer login para ver las distintas opciones de administracin y configuracin
login asterisk-gui
panel principal asterisk-gui 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 contrasea
En asterisk es posible utilizar hardware de telefona, como tarjetas PCI para poder conectar directamente telfonos anlogos, la configuracin de este hardware conlleva la instalacin de mdulos apartes que no son tratados en este articulo (como muchas cosas que pudieron quedar fuera) pero perfectamente pueden consultar acerca de tpicos no tratados en el articulo, ya que la finalidad de este articulo es ayudar un poco en la instalacin base. De mas esta decirles que pueden plantear sus dudas e inquietudes en la zona de comentarios.
viernes, 10 de agosto de 2012 Instalacin y configuracin de Asterisk 1.8.15.0 en Debian Squeeze
Sin duda, Asterisk es actualmente una de las mejores opciones a la hora de instalacin una central de VOIP para poder tener en contacto a todos nuestros equipos en contacto va telefnicamente.
En esta entrada vamos a instalar sobre una mquina Virtual Linux con la distro Debian Squeeze que vengo instalando normalmente en todas las entradas.
As sin ms, vamos a ponernos con la instalacin y configuracin:
Empecemos...
Pasos Previos
Previamente para la instalacin de Asterisk, necesitaremos instalar unas dependencias que nos sern necesaria para su instalacin:
aptitude install build-essential
aptitude install linux-headers-`uname -r`
Instalacin
Ya teniendo las dependencias complementes instaladas, vamos a la instalacin de Asterisk.
Para ello vamos a crear un directorio en cual instalaremos todo lo necesario:
mkdir /usr/src/asterisk
Ahora mediante el comando "wget" vamos a obtener los paquetes necesarios para la instalacin de Asterisk:
Pasamos a su instalacin, es conveniente que sigan el mismo orden de instalacin que yo:
Libpri
cd /usr/src/asterisk/libpri-1.4.12
make && make install
Libss7
cd /usr/src/asterisk/libss7-1.0.2
make && make install
Asterisk
cd /usr/src/asterisk/asterisk-1.8.15.0
./configure
DATO: Puede que al realizar el siguiente comando sea necesario ejecutar el script siguiente:
contrib/script/get_mp3_source.sh
make & make install
Escribimos el siguiente comando para cargar el demonio:
make config
Ejecutamos:
make samples
Para que nos cree los archivo de configuracin bsicos.
Ya instalado completamente Asterisk, vamos con la configuracin de los clientes:
Clientes y configuracin
A la hora de aadir clientes o como se llaman en este caso "extensiones", debemos de tocar 2 archivos fundamentales que son "sip.conf" y "extensions.conf", vamos con la 1:
Archivo sip.conf
nano /etc/asterisk/sip.conf
Ya dentro del archivo, aadimos al final del mismo lo siguiente:
[1000] ----> Extensin o nmero el cual usar dicho cliente para comunicarse con el resto. type=friend secret=password ----> Contrasea que usaremos para configurar el cliente.. qualify=yes -----> Yes o No, si queremos que el cliente est disponible. nat=no -----> Si el cliente estuviese detrs de una red distinta por nat, cambiaramos a yes. host=dynamic -----> Dynamic si dicha configuracin puede ser usado por varios clientes. canreinvite=no mailbox=..... -----> Direccin para el contestador si deseamos que el cliente disponga de uno.
Como se puede ver en la imagen, tambin he creado un segundo cliente con extensin 1001 para la prueba. Una vez editado dicho archivo, vamos con el siguiente.
Archivo extensions.conf
nano /etc/asterisk/extensions.conf
En este archivo, tambin nos vamos al final del archivo y aadimos lo siguiente:
Dependiendo de la extensin que le dimos anteriormente en el archivo "sip.conf", indicaremos cual fue su extensin en las lneas subrayadas.
Ya solo nos quedara que asterisk vuelva a leer de nuevo los ficheros:
/etc/init.d/asterisk reload
Para verificar que funciona todo correctamente, podemos bajarnos el siguiente soft y probamos a configurar los clientes con su respectivas extensiones: