Plan B para solucionar problemas de audio en Asterisk mediante VPN “zero-config”

19 04 2009
Cliente Hamachi Windows

Cliente Hamachi Windows

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.

Anuncios

Acciones

Information

5 responses

27 04 2009
Ramoncio

Un truquillo, Paco.

echo “hamachi -c /etc/hamachi \$1 \$2 \$3” >> /usr/bin/ham
chmod a+x /usr/bin/ham

y así en lugar de poner siempre

hamachi -c /etc/hamachi parametros

solo pones

ham parametros

27 04 2009
paco

gracias Ramón, así es como lo hace la gente de PIAF 😉

2 05 2009
David Calvache

paco
siempre por la via rapida … 😛
utiliza IPsec como dios manda 😉

el otro dia pusieron unas esplicaciones formidables en asterisk-es de porque IPsec y no otros

17 06 2009
gilberto ramirez

saludos tengo una duda como implementar vicidial para asterisk
saludos

17 06 2009
gilberto ramirez

saludos alguna informacion es espaÑol para
configurar
vicidial+ asterisk
saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: