D-Modem, un software de módem para organizar la transmisión de datos a través de redes VoIP
Hace poco se dio a conocer la utilidad D-Modem la cual se destaca por implementar un software de módem para organizar la transmisión de datos a través de redes VoIP basado en el protocolo SIP.
D-Modem permite crear un canal de comunicación a través de VoIP por analogía con la forma en que los módems de acceso telefónico tradicionales permitían la transmisión de datos a través de redes telefónicas.
Las áreas de aplicación del proyecto incluyen la conexión a las redes de acceso telefónico existentes sin utilizar el otro extremo de la red telefónica, la organización de canales de comunicación encubiertos y la realización de pruebas de seguridad de los sistemas a los que solo se puede acceder mediante acceso telefónico. El código del proyecto está escrito en C y se distribuye bajo la licencia GPLv2.
Los módems tradicionales «basados en controlador» generalmente usaban un microcontrolador y un DSP para manejar todos los aspectos de la comunicación del módem en el dispositivo mismo. Más tarde, se introdujeron los denominados «Winmodems» que permitían DSP programables en campo y trasladaban el controlador y otras funciones al software que se ejecutaba en la PC host. Esto fue seguido por módems de “software puro” que también trasladaron la funcionalidad DSP al host. El hardware físico de estos softmodems solo se utilizó para conectarse a la red telefónica, y todo el procesamiento se realizó en software.
D-Modem reemplaza el hardware físico de un softmodem con una pila SIP. En lugar de pasar audio desde y hacia el software DSP a través de una línea telefónica analógica, el audio viaja a través de los flujos de medios RTP (o SRTP) de una llamada SIP VoIP
La compatibilidad con el protocolo SIP se implementa mediante la biblioteca de comunicaciones PJSIP y los componentes del controlador slmodem, originalmente suministrados para los módems de software Smart Link, se utilizan para garantizar la funcionalidad del módem.
A diferencia de los módems tradicionales, que utilizan DSP para el procesamiento de señales, y la modulación la realiza un microcontrolador, los módems de software solo tienen DSP y todas las demás funciones se implementan en el software del lado del controlador.
El proyecto D-Modem ofrece un módem completamente de software en el que la funcionalidad DSP también se implementa en el software. Los componentes de hardware utilizados en los módems se han reemplazado con una pila SIP y, en lugar de utilizar DSP para transmitir audio a través de líneas de comunicación analógicas en D-Modem, el sonido se transmite a través de flujos multimedia como RTP o SRTP utilizados en el proceso de voz VoIP.
Los mecanismos para el procesamiento de señales y el soporte para comandos AT, así como la implementación de los protocolos V.32bis (14.4kbps) y V.34 (33.6kbps), se toman prestados del controlador de kernel slmodemd listo para usar, que se complementó y recortar teniendo en cuenta las particularidades del proyecto.
La mayor parte del código slmodemd es propietario, no se proporciona su codigo fuente, se utiliza BLOB dsplib.o; El controlador propietario se ha rediseñado para que se ejecute por separado como una aplicación en lugar de como un módulo del kernel. Para interactuar con aplicaciones externas, se ha implementado la capacidad de intercambiar datos a través de sockets de red. Para controlar slmodemd, se ha preparado un d-modem adicional, que proporciona la interfaz final e incluye medios para controlar los flujos de audio y las llamadas de voz basados en el protocolo SIP.
En el proceso, se crea un dispositivo /dev/ttySL*, a través del cual puede interactuar con el módem, enviar comandos AT e intercambiar datos, de manera similar a como trabaja con un módem normal (por ejemplo, puede usar pppd para crear un Canal IP).
La vinculación a una cuenta SIP se realiza mediante la variable de entorno SIP_LOGIN. El proyecto, entre otras cosas, se puede utilizar para conectarse a redes de acceso telefónico existentes, en condiciones en las que no hay un módem clásico (la llamada SIP se puede redirigir a una red telefónica normal).
Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.