O utilitário foi anunciado recentemente modem D a qual se destaca pela implementação de software de modem para organizar a transmissão de dados em redes VoIP baseado no protocolo SIP.
O D-Modem permite que você crie um canal de comunicação por meio de VoIP por analogia com a maneira que os modems dial-up tradicionais permitem a transmissão de dados por redes telefônicas.
As áreas de aplicação do projeto incluem conexão a redes dial-up existentes sem usar a outra extremidade da rede telefônica, organização de canais de comunicação secretos e realização de testes de segurança de sistemas que só podem ser acessados por telefone. O código do projeto é escrito em C e é distribuído sob a licença GPLv2.
Os modems tradicionais "baseados em controlador" geralmente usavam um microcontrolador e um DSP para lidar com todos os aspectos da comunicação do modem no próprio dispositivo. Mais tarde, os chamados "Winmodems" foram introduzidos, os quais habilitaram DSPs programáveis em campo e moveram o controlador e outras funções para o software executado no PC host. Isso foi seguido por modems de "software puro" que também trouxeram funcionalidade DSP para o host. O hardware físico desses softmodems era utilizado apenas para conexão com a rede telefônica, e todo o processamento era feito em software.
O D-Modem substitui o hardware físico de um softmodem por uma pilha SIP. Em vez de passar áudio de e para o software DSP por uma linha telefônica analógica, o áudio viaja pelos fluxos de mídia RTP (ou SRTP) de uma chamada VoIP SIP
O suporte ao protocolo SIP é implementado através da biblioteca de comunicações PJSIP e os componentes do driver slmodem, fornecidos originalmente para modems de software Smart Link, são usados para garantir a funcionalidade do modem.
Ao contrário dos modems tradicionais, que usam DSP para processamento de sinal e a modulação é feita por um microcontrolador, os modems de software possuem apenas DSP e todas as outras funções são implementadas no software no lado do controlador.
O projeto D-Modem oferece um modem de software completo em que a funcionalidade DSP também é implementado em software. Os componentes de hardware usados nos modems foram substituídos por uma pilha SIP e, em vez de usar DSP para transmitir áudio por linhas de comunicação analógicas no D-Modem, o som é transmitido por meio de fluxos de multimídia como RTP ou SRTP usado no processo de voz VoIP.
Mecanismos para processamento de sinal e suporte para comandos AT, bem como a implementação dos protocolos V.32bis (14.4kbps) e V.34 (33.6kbps), são emprestados do driver de kernel slmodemd pronto para uso, que Foi complementado e recortado atendendo às particularidades do projeto.
A maior parte do código slmodemd é proprietário, seu código-fonte não é fornecido, BLOB dsplib.o é usado; O driver proprietário foi reprojetado para ser executado separadamente como um aplicativo, em vez de um módulo do kernel. Para interagir com aplicativos externos, a capacidade de trocar dados em soquetes de rede foi implementada. Para controlar o slmodemd, um d-modem adicional foi preparado, que fornece a interface final e inclui meios para controlar fluxos de áudio e chamadas de voz com base no protocolo SIP.
No processo, um dispositivo / dev / ttySL é criado *, através do qual você pode interagir com o modem, enviar comandos AT e trocar dados, da mesma forma que você trabalha com um modem normal (por exemplo, você pode usar o pppd para criar um Canal IP).
O link para uma conta SIP é feito usando a variável de ambiente SIP_LOGIN. O projeto, entre outras coisas, pode ser usado para conectar-se a redes dial-up existentes, em condições onde não haja um modem clássico (a chamada SIP pode ser redirecionada para uma rede telefônica normal).
Por fim, se você tiver interesse em saber mais sobre o assunto, pode consultar o detalhes no link a seguir.