2016-04-21 2 views
0

моя проблема такова: Я хочу разработать модуль ядра для перехвата потока voip и сделать то же, что и SBC (Session Border Controller). Так что я должен прежде всего включить поток voip, а затем работать с уровнем сеанса в пакетах. Значит, кто-нибудь может мне помочь?Модуль ядра для перехвата voip-потока

+1

Allahu akbar. Какая операционная система? Вам не нужно разрабатывать модуль ядра для этого –

+0

, так что я должен делать? –

+1

Шаг 1) ответьте на мой вопрос выше. Шаг 2) ... –

ответ

0

Чтобы перехватить сетевой поток, вам действительно не нужен модуль ядра. Создайте приложение для пользовательского пространства, используя сокеты BSD, или если вы знакомы с C++, вы можете попробовать boost.asio Если вы хотите получать необработанные датаграммы (не tcp/udp-трафик), используйте тип SOCK_RAW.

+0

Я хочу перехватить поток voip, чтобы внести некоторые изменения в пакет sip, например, публичный адрес моего сервера звездочки, чтобы никто из моей локальной сети не знал реального публичного адреса сервера, это основы контроллера границы sessiion. –

+0

SIP работает над tcp, и я предполагаю, что вам не нужно модифицировать заголовок tcp, если это так, откройте SOCK_STREAM-сокет, примите и вызовите read в сокете - вы получите буфер, который будет содержать ваш sip-контент, как только вы его сможете изменить его, отправить в файл или другой сокет –

+0

есть ли код, который позволяет мне слушать и изменять сокет SOCK_STREAM? –