Прозрачный прокси и сервер Netsed в одной системе - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу использовать netsed для изменения входящего SIP-трафика (UDP-порт 5060) на УАТС-сервере, работающем в системе linux (debian 10 stretch).

На первом шаге я просто попыталсянастройте телефон для соединения с UDP / 5061 и запустите netsed с этой командой:

./netsed udp 5061 127.0.0.1 5060 s/profile-level-id=4280D/profile-level-id=42800D

Трафик был перехвачен, изменен и перенаправлен на порт 5060 программного обеспечения УАТС.

К сожалению,протокол SIP «замечает», что порт, используемый телефоном, не соответствует УАТС (АТС использует 5060, а телефон использует 5061 из-за переадресации порта). Теперь вопрос в том, как это сделать с помощью netsed.

Итак, вопрос в том, как создать прозрачный прокси в той же системе, что и pbx.

Или есть способ прослушивания с netsed уже на порту 5060, но затем передать его программному обеспечению pbx на порту 5060?

Более глубокий фон - домофоны Mobotixдля исходящих вызовов, которые неправильно кодируют поле идентификатора уровня профиля (оно должно быть длиной шесть 16 символов, но длиной пять символов). Моя идея состояла в том, чтобы просто изменить идентификатор уровня профиля, как только SIP-инвайт входит в УАТС.

Тот же вопрос на StackExchange .

1 Ответ

2 голосов
/ 06 ноября 2019

Если я не ошибаюсь в вашей идее;и я очень интересная вещь;вы пытаетесь настроить прозрачный IP-прокси приложения, используя netsed. Из этого эксперимента простое решение не подходит, потому что протокол SIP " замечает ", что "netsed" изменяет путь данных.

Некоторые моменты, о которых следует знать:

  • Сам по себе SIP не работает через NAPT в качестве передаваемых данныхсодержит IP-адреса и номера портов.

  • Кроме того, за исключением TLS , SIP является независимым от транспортного протокола , что означает, что SIP сеансу разрешено использовать одновременно UDP и TCP .

Я предлагаю вам взглянуть на SIP прокси, SBC B2BUA и STUN для правильного понимания всех этих проблем, кажется трудным, но ценным.

Или вы можете использовать SIP прокси и реализовать минимальную SIP функцию прокси в netsed. Это интересно, но не так просто.

Но если вы откажетесь от первоначального представления о «базовом» прокси, вы можете использовать набор инструментов SIP, например [kamalio][1]. Это известный способ выполнения SIP-сантехники, но, очевидно, очень далеко от вашей первоначальной цели.

Надеюсь, это поможет.

...