Настройка MRG на KX-NT HDV

Ответить
Aleksey
Попрошайка
Попрошайка
Сообщения: 3
Зарегистрирован: 12 фев 2020, 07:20
Откуда: Балашиха
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Настройка MRG на KX-NT HDV

Сообщение Aleksey » 30 сен 2020, 23:36

Давно хотел написать про подключение SIP терминалов Серии KX-NT, KX-UT И KX-HDV или даже PMS (Panasonic Mobile Softphone) С использованием Панасониковского же MRG (Он же Media Relay Gateway или ретранслятор)

Итак Наша задача. Подключить SIP терминал из вне. На пример из другого офиса или из дома сотрудника через интернет без всяких VPN, пробросов портов или прочих шлюзов на стороне Клиента.
Вы наверняка спросите: Почему просто нельзя пробросить порты станции в интернет и звонить?
Потому что за такое в организации вы получите по рукам так как нет секурности и бедную АТС или ломанут или заDdosят
Так же вы скорее всего столкнетесь с такой неприятностью как непонятное поведение при ВХОДЯЩИХ звонках на этот удаленный телефон, скорее всего будет сигнал занято. Исходящие при этом вероятно будут работать через раз. Когда нормально, а когда и не слышно но почему так?

Немного теории: Из за исчерпания во всемирных интернетах IPv4 адресов провайдеры этих самых интернатов выдают вам 1 IP адрес, и в лучшем случае он прямой То есть вы можете попасть к себе используя этот адрес из другой точки. Что к стати не касается сотовой сети там как правило все адреса за NATом (то есть вы его из вне видите но зайти на него не можете так как он проходит через провайдерский роутер и на 1м IP могут сидеть несколько абонентов сразу.
Так вот что такое NAT и что он делает? (NAT Он же Network Address Translation) или транслятор сетевых Адресов является неким перевозчиком пакетов из вашей сети в сеть провайдера. У вас есть внутренняя сеть созданная вашим роутером как правило 192.168.1.0/24 Эта сеть доступна только внутри вашей квартиры или организации и провайдер о ней ничего не знает и не видит устройства в ней. Допустим ваш ноутбук хочет открыть Solyar.ru он обращается к DNS и узнает что solyar.ru это 87.236.16.113 далее он обращается к адресу шлюза коим и является наш роутер и просит его передать запрос на вышеописанный адрес. Маршрутизатор заносит этот запрос в свою таблицу маршрутизации и запоминает что ноутбук хотел на solyar.ru А в это же время рядом лежащий смартфон захотел проверить почту и обращается на адрес mail.google.com смартфон так же обращается к маршрутизатору и тот делает то же самое. Затем роутер передает эти запросы как бы от своего имени и провайдер думает что наш роутер это такой очень ушлый комп который сразу сидит на 2х сайтах и провайдер передает роутеру странички этих сайтов. Маршрутизатор имея свою таблицу маршрутизации, передает пакеты с сайта Solyar.ru нашему ноутбуку а пакеты с сайта mail.google.com смартфону. При этом без роутера каждому устройству нужен был бы свой внешний адрес . А если устройств у вас 20? Без роутера и адресов нужно было бы 20 А с роутером всего 1

И все вроде бы хорошо. Но теперь давайте разберемся тоже очень поверхностно как работает IP Телефония (на примере обычного SIP телефона KX-HDV со стандартными настройками) Этот телефон использует порт UDP 5060 для сигнализации (авторизация и прочий служебный трафик) и пул RTP Портов по которым бегает именно голос) и вот вы включили телефон он посылает Invite Register Запрос на станцию со своим логином и паролем (Роутер видит что телефон попросил его передать пакет и добавляет в таблицу маршрутизации) пакет получает наша станция и говорит все ОК. Телефон регистрируется. Потом мы хотим позвонить с этого телефона набираем номер, телефон по тому же порту 5060 отправляет запрос на станцию мол (Ларису Ивановну хочу услышать) Станция говорит ОК и передает запрос на входящий звонок телефону Ларисы Ивановны. Телефон звонит, Лариса Отвечает и тут уже начинается передача RTP пакетов. И вот если наш телефон попал в таблицу маршрутизации все слышно и все ОК. (Роутер знает куда отправлять голос и сигнализацию) Потом мы кладём трубку и ждем звонка. Проходит время как правило минута или 2 Лариса Ивановна Звонит нам И тут 2 варианта если роутер знает что порт 5060 нужно отдать нашему телефону то мы услышим звонок. Но при поднятии трубки тишина…. Почему? Да потому что роутер не знает А кому собственно предназначены идущие из вне RTP Пакеты и просто отбрасывает их.
На этом этапе мы понимаем что NAT Для телефонии зло. Но без него ни как.

Что же делать??

Вариант 1 Пробросить VPN В удаленный офис и сделать единую сеть между станцией и терминалами
Вариант 2 Использовать SBC или же контроллер Сессий
И Вариант 3 Использовать MRG который есть в NS-500/1000 NSX и даже HTS
О нем и поговорим

И так что нам нужно настроить?
Станцию, Роутер (только тот за которым стоит станция) и телефоны

Подготовка
1) Нам Нужен Статический прямой IP адрес (Можно купить у провайдера)
2) Найти инструкцию от роутера или понимать, что мы делаем

Настройка Станции (буду приводить пример на NS-500 С версией прошивки 008.20036
1) Сетевая служба IP-Адрес/Порты И указываем там Статический IP Адрес станции и DSP карты и самое главное шлюз
2) Идем в пункт 1.1 (конфигурация УАТС, слот)
3) Выбираем Свойства системы Сайт
4) Вкладка номер порта Здесь обращаем внимание на строчку Номер порта UDP для сервера внутренних SIP линий. По умолчанию 5060 ну или 5061 для TLS (Это порт для регистрации телефонов из ВНУТРЕННЕЙ сети) его при желании можно поменять.
5) Далее идем на вкладку ретранслятор
6) Тут вводим внешний IP Адрес (можно посмотреть на 2ip.ru)
7) NAT - № порта MGCP сервера 2727
8) Внутренняя SIP-линия / Внутренняя UT-линия
NAT - Номер порта прокси-сервера SIP Здесь вводим порт который будет ВНЕШНИМ портом который мы будем прокидывать на роутере (Станция не даст вам ввести 5060 это не будет работать и не безопасно. Очень рекомендую сменить этот порт на какой то непохожий на 5060) Так же указать порт для SIP TLS
9) Далее в конце страницы на вкладке опции указываем ваш ВНЕШНИЙ IP Адрес такой же как в пункте 6 во всех окошках
10) Щелкаем ОК и перезагружаем станцию (конечно сохранив конфиг)
11) После перезапуска Идем в пункт 1.1 (конфигурация УАТС, слот)
12) Виртуальный слот и если есть плата V-SIPEXT32 то заходим в ее свойства. Если нет, то добавляем и заходим в ее свойства
13) Регистрируем телефон как обычно. За исключением 1го НО
14) На вкладке Местоположение/P2P В столбце Расположение телефона меняем с Только Локальный на Удаленный+Локальный
15) Сохраняемся и на этом со станцией все.
16) Можно еще зайти в пункт 2.9 Системные опции и на вкладке Вариант 99 поставить галочку на пункте 1F-6 Включить MRG для удаленного IP-телефона, подключенного к тому же интернет-провайдеру.

Переходим к роутеру
Тут не будет точных указаний, так как все роутеры разные. Но будут общие
1) Отключить Всякие SIP-ALG (Так как лично мне они мешали, NT Телефоны отказывались регистрироваться
2) Создать следующие правила проброса портов
Для SIP это: внутренний адрес и UDP порт из пункта 4 настройки станции нужно пробросить на внешнийUDP порт MRG из пункта 8 Настроек станции.
Для KX-NT Это: PTAP 9300 UDP на 9300 UDP
MGCP 2727 UDP на 2727 UDP
KX-UT Телефона у меня нет так что не проверял….
Ну и самое важное пробрасываем RTP Порты для этого создаем правило проброса пула портов которое зависит от вашего DSP Процессора для DSP S или M Это с порта 16000 по 16511 На внутренний IP Адрес DSP Процессора (НЕ СТАНЦИИ) Если у вас DSP L У нее 2 IP Адреса а значит добавляем правило порта UDP с 16512 по 17023 НА 2й IP DSP Карты.
На этом все….


Теперь телефоны
Начнем с PMS (Mobile Softphone)
Ну для начала придумаем ему номер и пароль и зарегистрируем учетные данные на плате V-SIPEXT 32 и так же на вкладке местоположение не забываем указать удаленный+локальный

1) Качаем приложение
2) Нажимаем на шестеренку
3) Настройки SIP
4) Имя пользователя SIP: Номер телефона
5) Пароль
6) Адрес SIP-Сервера (Удаленный) ВНЕШНИЙ IP Адрес из пункта 6 настроек станции
7) Порт SIP-Сервера (Удаленный) ВНЕШНИЙ порт из пункта 8 настроек станции
8) Адрес SIP-Сервера (Локальный) Адрес станции внутри сети где она стоит из пункта 1 настроек станции (что б если мы на пример находимся в офисе приложение не использовало MRG А общалось со станцией напрямую
9) Порт SIP-Сервера (Локальный) ВНУТРЕННИЙ порт станции из пункта 4

Все остальное можно оставить пустым.
Теперь скрестим пальцы переводим смартфон на работу от мобильного интернета имитируя наш уход из сети где установлена станция и переходим на номеронабиратель если при этом желтый кружок в верхнем левом углу сменился на зеленый у вас все получилось можно кому нибудь позвонить.
Так же отмечу что приложение платное и ему нужна лицензия Приложение на смартфоне подружившись с АТС в первый раз узнаёт MPR ID АТС и скидывает инфу на сервер Panasonic в Интернете, сервер начинает отсчёт времени 1 месяц для вашего смартфона, через месяц приложение скажет нет лицензии. На период карантина Panasonic делал глобальную рассылку, что включает временно безлицензионное использование, не знаю как оно на данный момент.
2) Если не включить функцию "Push" на mobile softphone то приложение будет постоянно активным и разряжать батарею смартфона. Мы используем Push. При этом у АТС должен быть выход в Интернет на IP адреса pbxmobile.panasonic.com (52.193.160.55 и 52.192.87.166), если полный выход в Интернет у АТС закрыт, то ради Push нужно добавить в Access List роутера хотя бы доступ АТС к этим IP адресам.
Иногда Panasonic меняет IP адреса, приходится пинговать pbxmobile.panasonic.com, узнавать новые IP и добавлять их в Access List.
В итоге при включении PUSH приложение на смартфоне засыпает, перед этим сообщив в Google данные о себе.
Во время звонка мобильному абоненту NS500 должна достучаться до PUSH сервера Panasonic, а тот в свою очередь до PUSH серверов Google или AppStore. И сервер Google или AppStore отправит команду проснуться приложению Softphone на смартфоне. Схема рабочая, всем нас устраивает.
Так же включаем TLS на Mobile Softphone. (За дополнение спасибо пользователю под ником: camry_gracia)



Настройка телефона HDV-130

1) Идем в пункт System> Language Выбираем язык
2) Идем в пункт Time adjust settings Там в строчке пишем Time.google.com и выбираем ваш часовой пояс. Жмем Save
3) Идем в пункт Voip Там в графе Enable Rport (RFC3581) ставим Yes
4) Enable Port punching for SIP/RTP Ставим 60
5)Идем в Line 1 Заполняем наши учетные данные
Phone Number: Ваш номер
Registar Server Address: Наш ВНЕШНИЙ IP Адрес
Registar Server Port: Порт MRG из шага 8 Настроек станции
В остальных графах повторяем тоже самое до строки Advanced Щелкаем Save и на этом все.

Беглый пример настройки проброса портов для владельцев роутеров Cisco (Так же спасибо camry_gracia)
По описанию ниже:
10.140.1.253 = NS500
10.140.1.251 = DSP1
10.140.1.252 = DSP2
7.7.7.1 = вымышленный внешний IP адрес Роутера

Описываем несколько пробросов портов на DSP_1 (вообще нужно пулом 16000-16511 но на Cisco UDP пул не пробрасывается )
ip nat inside source static udp 10.140.1.251 16000 7.7.7.1 16000 extendable
ip nat inside source static udp 10.140.1.251 16001 7.7.7.1 16001 extendable
ip nat inside source static udp 10.140.1.251 16002 7.7.7.1 16002 extendable

Описываем несколько пробросов портов на DSP_2 (вообще нужно пулом 16512-17023 но на Cisco UDP пул не пробрасывается )
ip nat inside source static udp 10.140.1.252 16512 7.7.7.1 16512 extendable
ip nat inside source static udp 10.140.1.252 16513 7.7.7.1 16513 extendable
ip nat inside source static udp 10.140.1.252 16514 7.7.7.1 16514 extendable


Пробрасываем signalling over TCP-TLS, порт 46061 также прописываем в меню АТС "Ретранслятор - строка внутренняя SIP линия - SIP TLS "
ip nat inside source static tcp 10.140.1.253 5061 7.7.7.1 46061 extendable

Пробрасываем signalling over UDP , 46060 также прописываем в меню АТС "Ретранслятор - строка внутренняя SIP линия - номер порта прокси-сервера SIP, данный режим рекомендуется использовать только при отладке а потом удалить и оставить только TLS "
ip nat inside source static udp 10.140.1.253 5060 7.7.7.1 46060 extendable

Access-list на внешний интерфейс роутера.
ip access-list extended ACL_OUTSIDE_IN
permit udp any any range 16000 16511 - разрешаем входящие для диапазона UDP DSP1
permit udp any any range 16512 17023 - разрешаем входящие для диапазона UDP DSP2
permit tcp any host 7.7.7.1 eq 46061 - разрешаем входящие для signalling over TCP-TLS
permit udp any host 7.7.7.1 eq 46060 - разрешаем входящие для signalling over UDP
deny ip any any

Отменяем работу SIP ALG по всем портам которые используем в сигнализации SIP, иначе он вмешивается в пакеты и подменяет там всё на своё усмотрение
no ip nat service sip udp port 5060
no ip nat service sip tcp port 5061
no ip nat service sip udp port 46060
no ip nat service sip tcp port 46061



И ещё, на роутере с NAT обязательно должен быть включен inspect чтобы пакеты улетающие от АТС в сторону pbxmobile.panasonic.com (52.193.160.55 и 52.192.87.166), смогли преодолеть входной Access list роутера по пути назад .

P./S.: Это моя первая статья. Если где то, что то не так написал, сильно не пинайте! Еще была куча картинок но прикреплять уже не стал. Статья и так огромная вышла. Но если нужны пишите, добавлю. Так же снял Видео на Youtube https://youtu.be/Wmc0kzeU0AA c демонстрацией того что эти настройки работают. NT не стал регистрировать так как на работе как раз такой стоит и все работает. А растягивать видео не хотелось. В общем спасибо вам за ваше время.
Последний раз редактировалось Aleksey 19 окт 2020, 14:31, всего редактировалось 1 раз.

camry_gracia
Дурак
Дурак
Сообщения: 7
Зарегистрирован: 09 окт 2020, 09:56
Откуда: Voronezh
Поблагодарили: 14 раз

Re: Настройка MRG на KX-NT HDV

Сообщение camry_gracia » 09 окт 2020, 10:31

Хотелось бы добавить к статье следующее:
1) добавьте в текст, что необходима лицензия на использование Panasonic Mobile Softphone и NS500.
Приложение на смартфоне подружившись с АТС в первый раз узнаёт MPR ID АТС и скидывает инфу на сервер Panasonic в Интернете, сервер начинает отсчёт времени 1 месяц для вашего смартфона, через месяц приложение скажет нет лицензии. На период карантина Panasonic делал глобальную рассылку, что включает временно безлицензионное использование, не знаю как оно на данный момент.
2) Если не включить функцию "Push" на mobile softphone то приложение будет постоянно активным и разряжать батарею смартфона. Мы используем Push. При этом у АТС должен быть выход в Интернет на IP адреса pbxmobile.panasonic.com (52.193.160.55 и 52.192.87.166), если полный выход в Интернет у АТС закрыт, то ради Push нужно добавить в Access List роутера хотя бы доступ АТС к этим IP адресам.
Иногда Panasonic меняет IP адреса, приходится пинговать pbxmobile.panasonic.com, узнавать новые IP и добавлять их в Access List.
В итоге при включении PUSH приложение на смартфоне засыпает, перед этим сообщив в Google данные о себе.
Во время звонка мобильному абоненту NS500 должна достучаться до PUSH сервера Panasonic, а тот в свою очередь до PUSH серверов Google или AppStore. И сервер Google или AppStore отправит команду проснуться приложению Softphone на смартфоне. Схема рабочая, всем нас устраивает.
Так же включаем TLS на Mobile Softphoneю

3) Для владельцев Cisco роутеров конфига будет такая:

По описанию ниже:
10.140.1.253 = NS500
10.140.1.251 = DSP1
10.140.1.252 = DSP2
7.7.7.1 = вымышленный внешний IP адрес Роутера

Описываем несколько пробросов портов на DSP_1 (вообще нужно пулом 16000-16511 но на Cisco UDP пул не пробрасывается )
ip nat inside source static udp 10.140.1.251 16000 7.7.7.1 16000 extendable
ip nat inside source static udp 10.140.1.251 16001 7.7.7.1 16001 extendable
ip nat inside source static udp 10.140.1.251 16002 7.7.7.1 16002 extendable

Описываем несколько пробросов портов на DSP_2 (вообще нужно пулом 16512-17023 но на Cisco UDP пул не пробрасывается )
ip nat inside source static udp 10.140.1.252 16512 7.7.7.1 16512 extendable
ip nat inside source static udp 10.140.1.252 16513 7.7.7.1 16513 extendable
ip nat inside source static udp 10.140.1.252 16514 7.7.7.1 16514 extendable


Пробрасываем signalling over TCP-TLS, порт 46061 также прописываем в меню АТС "Ретранслятор - строка внутренняя SIP линия - SIP TLS "
ip nat inside source static tcp 10.140.1.253 5061 7.7.7.1 46061 extendable

Пробрасываем signalling over UDP , 46060 также прописываем в меню АТС "Ретранслятор - строка внутренняя SIP линия - номер порта прокси-сервера SIP, данный режим рекомендуется использовать только при отладке а потом удалить и оставить только TLS "
ip nat inside source static udp 10.140.1.253 5060 7.7.7.1 46060 extendable

Access-list на внешний интерфейс роутера.
ip access-list extended ACL_OUTSIDE_IN
permit udp any any range 16000 16511 - разрешаем входящие для диапазона UDP DSP1
permit udp any any range 16512 17023 - разрешаем входящие для диапазона UDP DSP2
permit tcp any host 7.7.7.1 eq 46061 - разрешаем входящие для signalling over TCP-TLS
permit udp any host 7.7.7.1 eq 46060 - разрешаем входящие для signalling over UDP
deny ip any any

Отменяем работу SIP ALG по всем портам которые используем в сигнализации SIP, иначе он вмешивается в пакеты и подменяет там всё на своё усмотрение
no ip nat service sip udp port 5060
no ip nat service sip tcp port 5061
no ip nat service sip udp port 46060
no ip nat service sip tcp port 46061



И ещё, на роутере с NAT обязательно должен быть включен inspect чтобы пакеты улетающие от АТС в сторону pbxmobile.panasonic.com (52.193.160.55 и 52.192.87.166), смогли преодолеть входной Access list роутера по пути назад .

Aleksey
Попрошайка
Попрошайка
Сообщения: 3
Зарегистрирован: 12 фев 2020, 07:20
Откуда: Балашиха
Благодарил (а): 3 раза
Поблагодарили: 4 раза

Re: Настройка MRG на KX-NT HDV

Сообщение Aleksey » 19 окт 2020, 14:33

Спасибо за дополнение. Статью поправил)))

Ответить