My CW calling.

lunes, 12 de diciembre de 2022

Conéctate a la red de AllStarLink sin instalar un nodo o hotspot.

Igual que sucede con DMR puedes conectarte a la red de AllStarLink sin necesidad de que montes un nodo o hotspot. Aqui te explico brevemente como hacerlo, no sin antes dar las gracias a los colegas de Italia de cuyo blog he tomado la receta y que puedes consultar directamente haciendo click aqui, y al colega EA8EE quien generosamente me compartió la información.

Igual que en otros sistemas, debes registrarte en la web oficial de AllStarLink para obtener un ID que en este caso es un número de nodo, aunque no vayamos a montar un nodo. Con el registro tendremos un nombre de usuario que debe ser nuestro indicativo de llamada, el password que creamos para registrarnos y un numero de nodo (ID) que no usaremos en este tutorial.

Una vez te hayas registrado y tengas tu ID y tu contraseña debes instalar la aplicación correspondiente dependiento de si usas Android o Iphone.

Conectarse usando Android.

Para quienes usan android, deben descargarse e instalar la aplicación DVSwitch. Una vez instalada, abres la aplicación y te diriges al menu Config.

DVSwitch es una aplicación multimodo que es gratuita para android y que no solo te servirá para usarla con ALLStarLink sino que además te permite conectarte con sistemas DMR, DSTAR, YSF, P25, NXDN, STFU, M17.

Una vez allí debes hacer clic en el boton AllStarLink Login que se encuentra en la sección AllStar Settings.

Aparecerá un cuadro de dialogo en el que debes colocar tu nombre de usuario con el que te registraste en la red de AllStarLink y que debería ser tu indicativo de radioaficionado, así como la contraseña que usaste al registrarte; seguidamente das clic en el boton login.

Aparecerá una segunda caja de dialogo donde se te notifica de la creación de un TOKEN que deberás escribir o memorizar para mas adelante de ser necesario. En este cuadro de dialogo simplemente pulsas el boton OK.

Ahora debes regresar a la pantalla principal del programa y hacer clic en el botón More...

En el cuadro de dialogo que aparece a continuación debes seleccionar la opción AllStarLink.

En el nuevo cuadro de dialogo seleccionas la opción WT Setup (Web Transceiver setup)

El cuadro de dialogo siguiente es muy importante, nuevamente debes colocar tu indicativo de llamada con el que te registraste en AllStarLink, y tu password; acto seguido haces clic en el botón Update Token, con lo que el led de la derecha debe quedar en color verde. Finalmente concluyes haciendo clic en el boton Save.

Ahora vualves  a la pantalla principal del programa y nuevamente haces clic en el boton More... seguidamente ingresas por la opción AllStarLink y una vez allí solo tienes que seleccionar la opción Enter WT Mode (Entrar al modo Web Transceiver).

En este momento la aplicación esta habilitada para conectarse con cualquier nodo de la red AllStarLink. Para ello simplemente digitas el número del nodo y haces clic en el botón Send. Escucharás la telemetría del nodo una vez conectado.

Como sugerencia puedes conectar inicialmente con un nodo parrot como el 42565 y testear el audio allí.

Otra forma de hacerlo es yendo al boton Mode... y seleccionando la opción Nodes donde encontrará el directorio (lista) de nodos, puede simplemente seleccionar el que le interesa en la lista para conectar con él.

Para desconectarse del Modo Transceiver, haga clic en el boton More... seleccione la opción AllStarLink y ahora seleccione la opción Exit WT Mode. Con esto quedará desconectado del sistema.


Conectarse usando Iphone

En éste momento la manera mas sencilla para quienes emplean Iphone es usar la aplicación Repeater Phone que tiene un costo de alrededor de 8.00 USD. Esta aplicación te sirve para conectar con la red de AllStarLink y tambien con la red de Echolink.


Con esta aplicación basta con instalarla, ir a la opción Settings y añadir una nueva cuenta del tipo AllStarLink con nuestro indicativo y contraseña que empleamos en el registro de AllStarLink. El sistema valida nuestra credenciales y quedamos listos para conectar con cualquier nodo, seleccionándolo de la lista y haciendo clic en el botón Connect.

Sin más y esperando sea de utilidad, 73s.

jueves, 14 de julio de 2022

AllStarLink sobre Línea 4G/LTE

Luego de estar trabajando un buen tiempo con el sistema AllStarLink y estando muy satisfecho con las prestaciones que ofrece, me encuentro con el siguiente problema.

Como seguramente sabeis, para que un nodo de AllStarLink pueda registrarse en el servidor y pueda establecer enlaces con los demas nodos, se necesita que la red donde se encuentra instalado permita el paso de determinados protocolos de Internet y el tráfico hacia y desde determinados puertos, particularmente el puerto 4569. Esto no es un inconveniente cuando el nodo esta dentro de una red domiciliaria con un proveedor de Internet que haga llegar el servicio por un medio NO INALAMBRICO, es decir bien sea fibra óptica o hibrido fibra/cobre. En este caso el mayor reto podría ser la configuración del firewall del router de nuestro domicilio para direccionar el tráfico de forma apropiada y permitir el reenvío en los puertos con los protocolos necesarios. Pero qué pasa si queremos usar un servicio de Internet móvil del que ofrecen los prestadores de servicios de telefonía? Concretamente un servicio de datos 4G/LTE?. En este caso tenemos un problema.

El problema.

Los servicios de datos 4G/LTE presentan varios inconvenientes cuando queremos acceder desde internet a un servidor (cualquiera que este sea) que tengamos internamente en nuestra red. Uno de estos problemas es que lo que vemos como nuestra IP pública no es solo nuestra, sino que esta compartida por los usuarios pegados al enlace del servicio; es decir, nuestro dispositivo se encuentra un salto por detras de la IP pública anunciada, junto con muchos otros dispositovos de otros clientes conectados en una especie de concentrador de red. En este caso el trafico de entrada no es capaz de resolver a que dispositivo debe ser redirigido a menos que la conexión se haya iniciado desde adentro. Algunos dispositivos como por ejemplo las cámaras IP funcionan porque es la cámara la que inicia una conexión de streaming hacia UN SERVIDOR EXTERNO QUE ES PROPIEDAD DE UN TERCERO al cual se conecta la aplicación para ver el streaming y enviar los comandos a la cámara. Es decir que tienes que usar una especie de proxy porque no hay manera de que llegues directamente desde internet hasta tu cámara en este tipo de infraestructuras. Es por esto que dificilmente podemos poner en funcionamiento nuestro nodo conectado a través de un enlace de datos 4G/LTE.

 


La solución.

La forma de salirle al paso al inconveniente consiste en implementar un PROXY y una VPN. Lo anterior puede no resultar cómodo de hacer; pero funciona. Lo que sucederá, es que nuestro nodo se conectará al servidor PROXY usando la VPN y el servidor PROXY será el encargado de ayudarnos a registrar en la red AllStarLink y redirigirá todo el trafico de nuestro nodo de manera que podamos llegar a otros nodos y que a su vez los demas nodos puedan conectar con el nuestro.

Paso 1. El PROXY

El servidor PROXY consiste en otro nodo de ALLStarLink que debemos instalar en un lugar donde exista la posibilidad de un enlace de internet dedicado. En este caso resulta muy comodo usar una servicio de máquina virtual en la nube tal como el que ofrece Google Cloud, a menos que queramos un nodo completamente funcional para control de repetidora o en enlace de radio simplex. Para la instalación del PROXY seguiremos los mismos pasos que para cualquier nodo de AllStarLink (tendremos que obtener un nuevo número de nodo).

En nuestro nodo PROXY debemos completar las siguientes tareas de configuración:

En el archivo iax.conf debe añadir un bloque como el siguiente por cada nodo para el que vaya a servir de proxy.

[Aqui va el número del nodo que quiero proxyficar]
type=friend
host=dynamic
username=radio-proxy
secret=AquiVaLaClaveQueUsaraEnElNodoParaAccederAEsteProxy
auth=md5
context=radio-in
disallow=all
allow=g726aal2
transfer=no

 Añada las siguientes dos líneas en el archivo extensions.conf

[radio-in]
exten => _0N.,1,Rpt(${EXTEN:1}|F)
exten => _0N.,n,Hangup

Reemplace lo que tenga la sección [radio-secure] con lo siguiente:

[radio-secure]
exten=_20XX,1,Rpt,${EXTEN}
exten=_21XX,1,Rpt,${EXTEN}
exten=_22XX,1,Rpt,${EXTEN}
exten=_23XX,1,Rpt,${EXTEN}
exten=_24XX,1,Rpt,${EXTEN}
exten=_25XX,1,Rpt,${EXTEN}
exten=_26XX,1,Rpt,${EXTEN}
exten=_27XXX,1,Rpt,${EXTEN}
exten=_28XXX,1,Rpt,${EXTEN}
exten=_29XXX,1,Rpt,${EXTEN}
exten=_4XXXX,1,Rpt,${EXTEN}
exten=_5XXXX,1,Rpt,${EXTEN}

Añada las siguiente líneas al final de la seccion [allstar-sys]

exten => _9.,1,Rpt(${EXTEN:2}|X|${EXTEN:1:1})
exten => _9.,n,Hangup

Añada estas lineas al final del archivo rpt.conf

[proxy]
ipaddr=AquiVaLaIpPublicaDeEsteServidorQueHaraDeProxy

En este momento este nodo esta preparado para servir de proxy. Asegúrese de que este nodo tiene el archivo que le permite encontrar a los demas nodos y que debería estar en la siguiente ruta: 

/var/lib/asterisk/rpt_extnodes. 

El servicio updatenodelist deberá estar corriendo ya que es el que actualiza la lista del archivo rpt-extnodes.

Llegados a este punto ya tiene un nodo de AllStarLink que funcionará como PROXY. 

Paso 2. Nuestro Nodo en 4G/LTE

El paso a continuación consiste en realizar los siguientes ajustes en el nodo que estará en nuestra red detras del router 4G/LTE. Esto resulta muy interesante porque este nodo podría incluso estar en una zona retirada o de alta montaña funcionando como controlador de repetidor o de enlace simplex con la única condición de que al menos llegue hasta el lugar la señal del proveedor del servicio de datos 4G/LTE.

Agregue los siguientes dos bloque en su archivo iax.conf:

[radio-proxy]
type=user
deny=0.0.0.0/0.0.0.0
permit=<AquiVaLaDireccionIpPublicaDeSuServidorProxy>/255.255.255.255
context=radio-secure-proxy
disallow=all
allow=g726aal2
transfer=no

[radio-proxy-out]
type=peer
host=<AquiVaLaDireccionIpPublicaDeSuServidorProxy>
username=<AquiVaElNumeroDeEsteNodo>
secret=<aquiVaElPasswordQueUsaraEsteNodoParaConectarConElProxy>
auth=md5
disallow=all
allow=g726aal2
transfer=no

 En el archivo rpt.conf añada lo siguiente en el bloque [nodes]:

[nodes]
<deje las lineas que ya tiene este bloque y añada lo que hay a partir de la siguiente linea....>
_20XX = radio-proxy-out/0%s
_20XXX = radio-proxy-out/0%s
_21XX = radio-proxy-out/0%s
_21XXX = radio-proxy-out/0%s
_22XX = radio-proxy-out/0%s
_22XXX = radio-proxy-out/0%s
_23XX = radio-proxy-out/0%s
_23XXX = radio-proxy-out/0%s
_24XX = radio-proxy-out/0%s
_24XXX = radio-proxy-out/0%s
_25XX = radio-proxy-out/0%s
_25XXX = radio-proxy-out/0%s
_26XX = radio-proxy-out/0%s
_26XXX = radio-proxy-out/0%s
_27XXX = radio-proxy-out/0%s
_27XXXX = radio-proxy-out/0%s
_28XXX = radio-proxy-out/0%s
_28XXXX = radio-proxy-out/0%s
_29XXX = radio-proxy-out/0%s
_29XXXX = radio-proxy-out/0%s
_4XXXX = radio-proxy-out/0%s
_4XXXXX = radio-proxy-out/0%s
_5XXXX = radio-proxy-out/0%s
_5XXXXX = radio-proxy-out/0%s
; note the . wildcard doesn't work here in rpt.conf
;_2. = radio-proxy-out/0%s  don't work like extensions

Añada las siguientes líneas en el archivo extensions.conf:

[radio-secure-proxy]
exten => _0X.,1,Goto(allstar-sys|${EXTEN:1}|1)

Para finalizar por cada nodo que tenga en su sistema añada la siguiente línea en la sección [radio-secure-proxy]

            exten => <NumeroDelNodo>,1,rpt,<NumeroDelNodo>|X

Un último paso aqui es ingresar en su cuenta de AllStarLink en el menú de Portal ==> Server Settings, edite la información de su nodo y al final en la casilla que dice "Proxy IP", coloque la dirección IP pública de su proxy y salve la modifiación. Ya puede ir y reiniciar ambos nodos (el proxy y el nodo que tiene atras del servicio 4G) y verifique que aparecen registrados ambos en la red de AllStarLink.

Completados los pasos anteriores estaremos preparados para que nuestro nodo se conecte al sistema usando el proxy.

Paso 3. La VPN

La idea de la VPN es que podamos tener conectados en un enlace dedicado ambos nodos, el que hace de proxy y nuestro nodo detrás del servicio 4G/Lte.

Existen muchos servicios de VPN tanto gratuitos como de pago. En la comunidad de usuarios de AllStarLink he visto que usan ZeroTier. Personalmente estoy cómodo con OpenVPN que me ofrece hasta tres conexiones gratuitas. Cualquiera que sea el de su elección, los pasos son los mismos.

  • Darse de alta en el servicio de VPN.
  • Configurar un conector de VPN para cada máquina/nodo
  • Instalar el cliente de VPN en cada máquina/nodo
  • Desplegar la configuración del conector VPN correspondiente en cada máquina/nodo.
  • Verificar que ambas máquinas/nodo se puedan ver entre si. La forma mas simple de verificar es corriendo el comando ping en ambos nodos.

 El siguiente gráfico ilustra de manera general lo que se quiere lograr.


73s