Cuando uno se inicia en el mundillo de Asterisk, al principio todo son problemas, follones y complicaciones. Mucha gente que se acerca a la VoIP, lo hace atraída por la buena pinta del proyecto y la gran cantidad de referencias que se encuentra por la red. En principio la idea es sencilla: una centralita por software y bajo Linux. Bien, llega el momento de decir «¡¡joder!! (perdón) ya es hora de que le meta mano al leche del linux y esto puede ser una buena oportunidad».
Hasta aquí todo ok… el tema está en que si uno no es informático (ni tiene intención de serlo pronto) y sus conocimientos de programación son los mismos que de corte y confección, pues la cosa puede acabar siendo un auténtico infierno.
A veces el uso de distribuciones precompiladas (PIAF, Elastix, etc) puede ayudar, pero hay ocasiones en que no hay pantalones de avanzar. Un caso típico suele ser el del problema relacionado con audio en un sólo sentido entre ubicaciones remotas. Esta situación suele darse mucho cuando se usa SIP para las comunicaciones. El conocido como «one-way-audio» se produce por una inexperta configuración de parámetros en Asterisk o, a veces, por los routers involucrados en la comunicación.
En esta entrada voy a hablar de una herramienta que puede ayudar a solventar este problema y que permitirá avanzar mientras vamos cogiendo más experiencia con Asterisk y así «meterlo en verea». Básicamente, la idea es realizar túneles VPN entre las diferentes localizaciones al objeto de tener a todo el mundo en la misma red y así garantizar que no habrá problemas con los puertos durante las comunicaciones.
Existen muchas herramientas para hacer VPN’s tales como PPTP, OpenVPN, IPSEC, etc, pero hay una que me ha gustado mucho por lo fácil que es de configurar así como el gran soporte multiplataforma que tiene: HAMACHI.
Hamachi permite crear una red VPN de manera muy sencilla sin tener, prácticamente, conocimientos técnicos. Además, las comunicaciones en dicha red están encriptadas, por lo que son más seguras. En la wikipedia existe una entrada completísima sobre Hamachi que ayuda bastante a entender su funcionamiento.
Vamos al lío!!!!
Configuración de Hamachi para Asterisk en Centos/Fedora/RedHat
Lo primero es descargarnos el paquete en nuestra máquina e instalarlo:
cd /usr/src wget http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz tar -zxvf hamachi-0.9.9.9-20-lnx.tar.gz cd hamachi-0.9.9.9-20-lnx make install
Una vez instalado, es necesario ejecutar el programa «tuncfg», el cual creará la red hamachi. De esta forma el servicio funcionará correctamente.
tuncfg
Hasta aquí todo fácil y sin problemas. Ahora vamos a ver cómo se crean redes Hamachi y nos unimos a una ya creada.
Crear red Hamachi
Pa poder trabajar, lo primero que haremos será crear una red a la cual ir añadiendo todos nuestros equipos, ya sean linux, windows o mac.
Primero arrancamos el servicio con la indicación de que las configuraciones vayan a /etc/hamachi
hamachi-init -f -c /etc/hamachi
hamachi -c /etc/hamachi start
Nos logueamos en la red Hamachi
hamachi -c /etc/hamachi login
y pasamos a crear nuestra propia red (cambiar ‘mired’ y ‘mipassword’ por los valores que más nos gusten)
hamachi -c /etc/hamachi create mired mipassword
El paso siguiente consiste en unirse a esa red con un nick (cambiar ‘nickname’ por el nombre de usuario que queramos y ‘network’ por el nombre de red que pusimos antes)
hamachi -c /etc/hamachi set-nick nickname hamachi -c /etc/hamachi go-online mired
Ya casi hemos terminado. Tenemos la red creada y estamos logueados en ella. Ahora sólo queda automatizar el proceso para que en el arranque se ejecute solo.
nano /usr/bin/hamachi-start
y metemos la siguiente información
#!/bin/sh hamachi_start() { echo "Starting hamachi..." /sbin/tuncfg /usr/bin/hamachi -c /etc/hamachi start } hamachi_stop() { echo "Stopping hamachi..." killall tuncfg /usr/bin/hamachi -c /etc/hamachi stop } hamachi_restart() { hamachi_stop sleep 1 hamachi_start } case "$1" in 'start') hamachi_start ;; 'stop') hamachi_stop ;; 'restart') hamachi_restart ;; *) hamachi_start esac
damos permisos de ejecución
chmod a+x /usr/bin/hamachi-start
y por último, sólo resta añadirlo a /etc/rc.local para que lo arranque solito. Lo editamos
nano /etc/rc.local
y añadimos al final de dicho archivo
if [ -x /usr/bin/hamachi-start ]; then . /usr/bin/hamachi-start fi
guardamos y listo!!!!
Unirnos a una red Hamachi existente
En el apartado anterior hemos creado una red desde linux. Ahora se puede empezar a añadir clientes (sean de linux o no) a dicha red. Por ejemplo, se pueden añadir otros Asterisk o equipos con windows (portátiles o no) que tengan softphones, etc…
Primero arrancamos el servicio con la indicación de que las configuraciones vayan a /etc/hamachi
hamachi-init -f -c /etc/hamachi
hamachi -c /etc/hamachi start
Luego ejecutamos
hamachi -c /etc/hamachi set-nick miusuario hamachi -c /etc/hamachi login hamachi -c /etc/hamachi join mired mipassword hamachi -c /etc/hamachi go-online mired
Si queremos ver quién hay en la red
hamachi -c /etc/hamachi list
y si queremos salirnos
hamachi -c /etc/hamachi go-offline mired
Todo lo anterior se ha de realizar en linux, aunque también se puede hacer desde windows. En este caso, y gracias a la interfaz que trae, se puede hacer mucho más sencillo. De hecho, lo que yo suelo hacer es crear las redes que me interesan desde la interfaz de windows y luego voy añadiendo clientes en el resto de las máquinas.
Además de ayudarnos con el tema del audio y Asterisk, ya podéis ver que Hamachi va a facilitar mucho las cosas en otros menesteres como, por ejemplo, la gestión remota de equipos.
Espero que os sea de utilidad 😉
Fuente original: FreePBX VPN
Actualización: en máquinas de con OS 64 bits es necesario hace un
yum install libgcc.i386
antes de instalar nada.