Narzędzie zostało niedawno ogłoszone Modem D który wyróżnia się wdrażaniem oprogramowania modemowego organizować transmisję danych przez sieci VoIP w oparciu o protokół SIP.
D-Modem pozwala na stworzenie kanału komunikacyjnego za pośrednictwem VoIP przez analogię do sposobu, w jaki tradycyjne modemy wdzwaniane umożliwiały transmisję danych w sieciach telefonicznych.
Obszary zastosowań projektu obejmują łączenie się z istniejącymi sieciami dial-up bez korzystania z drugiego końca sieci telefonicznej, organizowanie tajnych kanałów komunikacji oraz przeprowadzanie testów bezpieczeństwa systemów, do których można uzyskać dostęp tylko za pośrednictwem dostępu telefonicznego. Kod projektu jest napisany w C i jest rozpowszechniany na licencji GPLv2.
Tradycyjne modemy „oparte na kontrolerze” zazwyczaj wykorzystywały mikrokontroler i procesor DSP do obsługi wszystkich aspektów komunikacji modemowej w samym urządzeniu. Później wprowadzono tak zwane „Winmodemy”, które umożliwiły programowalne procesory DSP i przeniosły kontroler i inne funkcje do oprogramowania uruchomionego na komputerze głównym. Następnie pojawiły się modemy „czystego oprogramowania”, które również zapewniały hostowi funkcjonalność DSP. Fizyczny sprzęt tych softmodemów był używany tylko do łączenia się z siecią telefoniczną, a całe przetwarzanie odbywało się w oprogramowaniu.
D-Modem zastępuje fizyczny sprzęt softmodemu stosem SIP. Zamiast przesyłać dźwięk do i z oprogramowania DSP przez analogową linię telefoniczną, dźwięk przechodzi przez strumienie mediów RTP (lub SRTP) połączenia SIP VoIP
Obsługa protokołu SIP realizowana jest poprzez bibliotekę komunikacyjną PJSIP a komponenty sterownika slmodem, pierwotnie dostarczane dla modemów z oprogramowaniem Smart Link, są używane w celu zapewnienia funkcjonalności modemu.
W przeciwieństwie do tradycyjnych modemów, które wykorzystują DSP do przetwarzania sygnału, a modulacja odbywa się za pomocą mikrokontrolera, modemy programowe mają tylko DSP, a wszystkie inne funkcje są zaimplementowane w oprogramowaniu po stronie sterownika.
Projekt D-Modem oferuje w pełni programowy modem z funkcjonalnością DSP jest również zaimplementowany w oprogramowaniu. Elementy sprzętowe stosowane w modemach zostały zastąpione stosem SIP i zamiast używania DSP do przesyłania dźwięku przez analogowe linie komunikacyjne w D-Modem, dźwięk jest przesyłany przez strumienie multimedialne, takie jak RTP lub SRTP wykorzystywane w procesie głosowym VoIP.
Mechanizmy przetwarzania sygnałów i obsługa poleceń AT, a także implementacja protokołów V.32bis (14.4 kb/s) i V.34 (33.6 kb/s) zapożyczono z gotowego sterownika jądra slmodemd, który Został on uzupełniony i skrócony z uwzględnieniem specyfiki projektu.
Większość kodu slmodemd jest zastrzeżona, jego kod źródłowy nie jest dostarczany, BLOB dsplib.o jest używany; Własny sterownik został przeprojektowany tak, aby działał oddzielnie jako aplikacja, a nie jako moduł jądra. Do współpracy z aplikacjami zewnętrznymi została zaimplementowana możliwość wymiany danych przez gniazda sieciowe. Do sterowania slmodemd przygotowano dodatkowy d-modem, który zapewnia finalny interfejs i zawiera środki do sterowania strumieniami audio i połączeniami głosowymi w oparciu o protokół SIP.
W trakcie, utworzono urządzenie / dev / ttySL *, za pomocą którego możesz wchodzić w interakcje z modemem, wysyłać polecenia AT i wymieniać dane, podobnie jak pracujesz z normalnym modemem (na przykład możesz użyć pppd do utworzenia kanału IP).
Łączenie z kontem SIP odbywa się za pomocą zmiennej środowiskowej SIP_LOGIN. Projekt może być wykorzystany m.in. do łączenia się z istniejącymi sieciami dial-up, w warunkach, w których nie ma klasycznego modemu (połączenie SIP można przekierować do normalnej sieci telefonicznej).
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz skonsultować się z szczegóły w poniższym linku.