Здравствуйте уважаемые коллеги.
Столкнулся с задачкой, решить которую сходу не понимаю как.
Есть у меня заказчик.
Сначала все было просто:
- астериск внутри сети
- сеть состоит из кучки филиалов соединенных по VPN
- два внешних канала (основной/запасной) заходящих на микротик
Для работы внешних абонентов (road warriors) настроил localnet/externhost, на микротике пробросил порты, отключил от греха подальше ALG - все работает, все хорошо.
Потом задача усложнилась.
Затянули SIP-транк от оператора который для его подачи притащил свой канал связи и дал серый адрес.
Воткнули его тоже в микротик, настроили NAT, роутинги, пробросы, отключили localnet/externhost, включили ALG на микротике - опять все работает, все хорошо.
Приходит следующая вводная - надо шифровать разговоры внешних пользователей с офисом.
Ок, не вопрос, включили SRTP - опять все работает.
Тут СБ заказчика и говорит - а у вас ключи шифрования в начале сессии в незашифрованном виде идут, непорядок.
Ладно, врубаем и настраиваем TLS.... и получаем облом.
Внутри сети и присоединившись по VPN связь работает - а напрямую никак, голоса нет...
Причина в принципе понятна и прозрачна, как обойти не ясно.
Поскольку сигнализация тоже идет в шифрованом виде SIP ALG на микротике подслушать и модифицировать ничего не может - в результате клиент пытается слать из внешнего мира пакеты на внутренний адрес астериска...
Решение в принципе очевидно - вырубить SIP ALG, включить опять localnet/externhost, все начинает работать... кроме SIP-транка от внешнего оператора...
На этом месте как-то мысли застопорились...
Как запасной вариант продумываю поднять OpenVPN а уже поверх него телефонию пускать... но как-то это неспортивно.
Решил обратится за помощью клуба, может пнете в сторону идеи?