Очень кратенько, в дополнение к следующим статьям:
https://habr.com/ru/companies/ruvds/articles/547442/
https://habr.com/ru/articles/724566/
https://habr.com/ru/articles/553118/
MГТС GPON и IPv6
Согласно http://version6.ru/isp/mts - никаких статических ip4, работает только ip4 cgnat + ip6. Из настроек следует только иметь ввиду, что в DHCP client надо включить только запрос префикса (не включать запрос адреса).
IMS VLAN
Перейдем сразу к проблеме, о которую все бьются головой: список серверов прилетает в DHCP option 120. К счастью, эта проблема вполне решается DHCP скриптом. :) Вот и он - https://gist.github.com/cyanide-burnout/433bb6678a5de7824ead68b27cab879c
Скрипт разбирает опцию, правит маршрут, прокомментированный как ims-core. Естественно, от установки маршрута по-умолчанию следует отказаться. Попутно скрипт отгружает список SIP-серверов на хост с Asterisk.
Автоматизация настроек Asterisk
Вот и ответная часть подъехала - https://gist.github.com/cyanide-burnout/a7dadea75b18a3c8edc00106ad4f0cca
Запуск этого скрипта инициирует Mikrotik, передавая список SIP-серверов. Скрипт идет SSH-ем на ONU и забирает имя пользователя и пароль, прилетевшие от оператора, переваривает все и создает маленький файл конфигурации, который нужно подключить с помощью #include в pjsip.conf.
Если параметры изменились, он так же вежливо попросит Asterisk перезагрузить конфигурацию pjsip через AMI.
NAT Traversal
Mikrotik имеет вполне неплохой SIP ALG, главное, ему не мешать делать свою работу. Отключите на Mikrotik опцию Direct media в SIP ALG и не используйте external_media_address в настройках pjsip, тогда Mikrotik отлично справится с проброской RTP и подстановкой правильных адресов в SIP SDP в зависимости от маршрута.
Dialplan и call setup
В своем dial plan-е я использую очередь с параллельным вызовом всех трубок. Добиться стабильного коннекта на входящем с классическим предответным состоянием линии от МГТС, пока никто не взял трубку мне не удалось, по этому я решил эту проблему переводом линии в ответ с помощью Answer(), пускай телефонные сапамеры послушают музыку, пока вызов дойдет до моего SIP-клиента. Такое решение добавило плюс к борьбе с ними: боты слышат музыку и вешают трубку, а человек, когда нужно, ждет.
Как и обещал, кратенько. Надеюсь, что дальше сами разберетесь.
Если захотите - дополню про борьбу с sip-сканерами и разрешение проблем с мобильным sip-клиентом с push.
Update: по просьбам комментаторов - https://habr.com/ru/articles/848984/
Выделил в отдельную публикацию, так как эта тема не касается МГТС.
Комментарии (5)
maikuss
08.10.2024 05:21+1Я примерно так делал делал себе "Уголок Родины" - возможность пользоваться всякими российскими госсервисами в Интернете и домашним телефоном по месту прописки, живя за границей. Но только без Микротика - запустил ВПН и Asterisk на самом МГТС роутере. В общем, все удалось и заработало нормально, за исключением того, что не получилось почему-то заставить работать через Аsterisk штатный интерфейс аналогового квартирного телефона. Возможно, слишком быстро сдался, но надоело ковыряться. Предпочёл заменить старый телефон в квартире на SIP базу и две трубки к ней.
performer Автор
08.10.2024 05:21+1В принципе, цели те же ) "Уголок Родины" - повеселило. У меня еще московская sim-ка в chan_dongle торчит. ВПН на ZeroTier, в обе стороны. )))
maikuss
08.10.2024 05:21Тоже хотел так сделать, но в роутере МГТС не оказалось модулей ядра для USB модема. Пришлось поставить ещё один Астериск на роутер на даче и воткнуть модем там.
LazyZeroed
О sip клиенте с push интересно.
performer Автор
Готово! https://habr.com/ru/articles/848984/ :)