Reflector de voz digital multiprotocolo universal

El servidor reflector de puerta de enlace multiprotocolo URF, urfd , es parte del sistema de software para una red de voz digital. Las fuentes se publican bajo licencias GPL.

Esto construirá un nuevo tipo de reflector de voz digital. Basado en el nuevo-xlxd de N7TAE , que, a su vez, se basa en el primer reflector multiprotocolo, xlxd , urfd admite todos los protocolos de sus predecesores, así como los protocolos M17, ¡ solo voz y voz + datos ! Una parte clave de esto es el transcodificador híbrido, tcd, que está en un repositorio separado. URFd no es compatible con new-xlxd ni con xlxd. No puede vincular urfd con xlxd. Este reflector se puede construir sin un transcodificador, pero los clientes solo escucharán a otros clientes que usen el mismo protocolo. Tenga en cuenta que actualmente, urfd solo admite el transcodificador tcd cuando se ejecuta localmente. Para obtener el mejor rendimiento, urfd y tcd utilizan sockets UNIX DGRAM para comunicaciones entre procesos. Estos sockets de base kernel son significativamente más rápidos que los sockets UDP/IP convencionales. Además, tcd solo admite dispositivos DVSI-3003, que utiliza para la codificación de voz AMBE.

Esta compilación admite la operación de doble pila , por lo que el servidor en el que se ejecuta debe tener una dirección enrutable tanto IPv4 como IPv6 si va a configurar un reflector de doble pila. URF puede admitir enlaces DExtra salientes, agregando un nuevo tipo DExtra Peer y tiene muchos cambios diseñados para aumentar la confiabilidad y la estabilidad.

Hay muchas mejoras de urfd sobre xlxd, algunas de las cuales fueron heredadas de new-xlxd:

  • Casi todos los contenedores std::vector han sido reemplazados por contenedores más apropiados.
  • No se derivan clases de ningún contenedor estándar.
  • Para la concurrencia, es decir , la gestión de subprocesos, las llamadas a la biblioteca de subprocesos estándar (std::thread) han sido reemplazadas por std::future.
  • La memoria administrada, std::unique_ptr y std::shared_ptr, se usa para reemplazar la necesidad de llamadas a new y delete .
  • Su reflector se puede configurar con hasta 26 módulos, de la A a la Z y con tan solo un módulo. Para otras opciones, los módulos de configuración no tienen que ser contiguos. Por ejemplo, podría configurar los módulos A, B, C y E.

Solo se admiten los sistemas operativos basados ​​en systemd. Se recomienda Debian o Ubuntu. Si desea instalar esto en un sistema operativo no basado en systemd, está solo. Además, de forma predeterminada, tcd y urfd se compilan sin compatibilidad con gdb. Finalmente, este repositorio está diseñado para que no tenga que modificar ningún archivo en el repositorio cuando construya su sistema. Cualquier archivo que necesite modificar para configurar correctamente su reflector será un archivo que copie de su repositorio clonado localmente. Esto facilita la actualización del código fuente cuando se actualiza este repositorio. Siga las instrucciones a continuación para construir su reflector URF de transcodificación.

Uso

Los paquetes que se describen en este documento están diseñados para instalar software de servidor que se utiliza para la infraestructura de red de D-Star. ¡Requiere una conexión a Internet las 24 horas del día, los 7 días de la semana que puede admitir hasta tres módulos transcodificados y hasta 23 módulos más no transcodificados para conectar repetidores y dongles de punto de acceso!

  • El servidor puede construir un reflector que admita IPv4, IPv6 o ambos (doble pila).
  • Las direcciones IP públicas deben tener un registro DNS que debe publicarse en los archivos de host comunes.

Instalación

A continuación se encuentran las instrucciones para construir un reflector URF. Si está planeando un reflector URF sin un transcodificador, puede ayudar a sus usuarios nombrando módulos con nombres que sugieran qué protocolo es bienvenido. Usted nombra los módulos en el archivo config.inc.php que se menciona a continuación.

El transcodificador está en un repositorio separado, pero construirá, instalará y monitoreará el transcodificador y el reflector desde dos scripts diferentes, rconfig y radmin en este repositorio. Debe revisar el archivo README.md en el repositorio tcd para comprender el transcodificador .

https://github.com/n7tae/urfd

Servidor Maestro YSF

Atención, el Servidor URF actúa como un Maestro YSF, que proporciona salas de 26 hilos-x. No tiene nada que ver con la red normal de YSFReflector, por lo que no necesita registrar su URF en ysfreflector.de.

tareas pendientes

No he tenido la oportunidad de probar la interconexión URF-URF. Si eres el primero en descubrir un error en esa área, ¡felicidades! Informe esto, con los registros apropiados y, si es posible, un seguimiento de gdb, si causó un bloqueo. Soy un programador muy lento, así que tenga paciencia mientras espera una solución. Gracias por su comprensión.

Eventualmente admitiré una opción de transcodificador remoto, para que pueda, por ejemplo, ejecutar urfd en un centro de datos y luego ejecutar el transcodificador en algún lugar al que tenga acceso físico para que pueda conectar sus codificadores de voz AMBE. No recomiendo esto ya que agregará una latencia innecesaria y variable a su reflector.

El equipo de M17 trabajará en grandes cambios para el tablero. ¡No puedo esperar a ver qué se les ocurre!

Derechos de autor

  • Copyright © 2016 Jean-Luc Deltombe LX3JL y Luc Engelmann LX1IQ
  • Copyright © 2021 Thomas A. Early N7TAE

Visitas: 26

Por EA7IYR

Deja una respuesta