img

Asterisk: Авторизация у провайдера по IP – адресу

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Некоторые категории SIP провайдеров предоставляют авторизацию на своем софтсвиче по IP – адресу. Это означает, что только лишь получив запрос с выделенного IP – адреса, провайдер позволит Вам совершать и принимать звонки. О том, как настроить авторизацию у провайдера без регистрации по IP – адресу на Asterisk при помощи FreePBX 13 расскажем в статье.


Что мы имеем

Итак, предположим, провайдер связи предоставляет нам 1 SIP номер с авторизацией по IP. Адрес софтсвича будет 33.33.44.45. Помимо этого, провайдера выделяет нам подсеть 11.22.33.44/30. В это сети:

  1. 11.22.33.47 - широковещательный адрес
  2. 11.22.33.46 - адрес шлюза по умолчанию
  3. 11.22.33.45 - адрес, который провайдер выделяет нам для настройки на нашем Asterisk
  4. 11.22.33.44 - IP адрес сети

На нашем Asterisk уже существует текущее сетевое подключение через единственный NIC (Network Interface Card, сетевая карта). Для установки дополнительного IP, нам нужно будет добавить дополнительную сетевую карту, либо добавить виртуальный интерфейс (например, eth0:0). В нашем случае, в лаборатории, наш Asterisk развернут на виртуальной машине VmWare, поэтому, мы просто добавим виртуальный vNIC.

После добавления интерфейса, мы назначим ему IP – адрес 11.22.33.45 и создадим маршрут, в котором укажем отправлять весь трафик в сторону софтсвича 33.33.44.45 через новый интерфейс (eth1). Итак, переходим к настройке.


Настройка в консоли

Первым делом подключимся к консоли (CLI) нашего сервера IP – АТС. После добавления нового интерфейса, переходим к его настройке. Вводим команду:

[root@asterisk ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

Нажимаем «o» для редактирования и указываем следующие параметры:

DEVICE=eth1
BOOTPROTO=static
ONBOOT='yes'
IPADDR=11.22.33.45 //тут будет ваш IP - адрес
NETMASK=255.255.255.252
GATEWAY=11.22.33.46 //ваш адрес шлюза
HWADDR=00:15:5d:01:02:00 //mac – адрес NIC
ZONE=trusted

Нажимаем «:x!» и сохраняем изменения. После этого перезагружаем сетевую службу командой:

[root@asterisk ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                      [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 192.168.1.2 is already in use for device eth0...
[  OK  ]
Bringing up interface eth1:  Determining if ip address 11.22.33.45 is already in use for device eth1...
[  OK  ]

Отлично. Оба сетевых интерфейса поднялись и работают. Теперь давайте настроим маршрут для отправки трафика в сторону софтсвича через интерфейс eth1. Для этого, откройте для редактирования файл маршрута следующей командой:

[root@asterisk ~]# touch /etc/sysconfig/network-scripts/route-eth1
[root@asterisk ~]# vim /etc/sysconfig/network-scripts/route-eth1

В файл добавляем следующую строчку:

33.33.44.44/30 via 11.22.33.45 dev eth1

Делаем рестарт сетевой службы командой service network restart и проверяем маршруты:

[root@asterisk ~]# ip route
33.33.44.44/30 via 11.22.33.45 dev eth1

Отлично, у нас появился нужный нам маршрут. Проверить его так же можно сделав трассировку, командой traceroute 33.33.44.45


Настройка транка в FreePBX

После того, как мы настроили маршруты и интерфейсы в операционной системе CentOS, переходим к настройке транка в графическом интерфейса FreePBX. Для этого, перейдем в раздел настроек ConnectivityTrunks и нажмем + Add Trunk, добавив SIP – транк. Заполняем любое значение в поле Trunk Name вкладки General и переходим к вкладке SIP SettingsOutgoing. Здесь, в поле Trunk Name укажите out, а в разделе PEER Details следующие параметры:

Asterisk: Авторизация у провайдера по IP – адресу
type=peer
port=5060
insecure=invite,port
host=33.33.44.45 //IP софтсвича Вашего провайдера
dtmfmode=rfc2833
context=from-trunk
canreinvite=no
allow=alaw,ulaw
qualify=yes

Нажимаем Submitи Apply Config. На этом все, остается только настроить маршрутизацию вызовов и можно звонить :)


Возможные проблемы

Если при звонке на номер вы слышите короткие гудки, а в логах и дебаге Вы видите следующее сообщение:

[2017-01-13 18:12:40] NOTICE[25200] res_pjsip/pjsip_distributor.c: Request 'INVITE' from '<sip:9251234567@33.33.44.45;user=phone>' failed for 33.33.44.45:5060' (callid: bj0zumbjn89299ssddjj991nx9uk8m@Some) - No matching endpoint found

То перейдите в раздел настроек SettingsAsterisk SIP Settings, выберите вкладку Chan SIP Settings и убедитесь, что параметр Bind Port указан как 5060.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Привет, дорогой читатель! В повседневной работе зачастую не хватает автоматизации. Поэтому, мы решили создать калькулятор инстал
img
Мы подумали, а почему бы не консолидировать все знания по Cisco VoIP продуктам и их настройке в единый документ? Добавить в них
img
Привет! Для удобства, мы структурировали все материалы по графическому интерфейсу FreePBX в нашей базе знаний в единый файл. Сам
img
Вам, как сетевому инженеру, крайне важно разбираться в том, каким образом вызовы VoIP влияют на пропускную способность канала в
img
В этой статье расскажем как отправлять различные СМС сообщения пользователям, позвонившим в контакт-центр Октелл и запросившим т
img
Всем современным кампаниям, производящим товары и оказывающим услуги, необходимо иметь специалистов, работающих с потенциальными
21 ноября
20:00
Бесплатный вебинар
Введение в Docker