img

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

Некоторые категории 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.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Еще по теме:
img
Мы создали калькулятор инсталляции IP - АТС Asterisk. При планировании сервера и необходимого оборудования заполните соответствующие поля для расчета производительности, шлюзов и плат
img
Скачать руководство администратора Cisco UCM/CME на русском языке
img
Скачать руководство администратора FreePBX на русском языке
img
Рассказываем как рассчитать пропускную способность для IP-вызовов Cisco
img
Рассказываем как настроить отправку СМС сообщений из контакт-центра Октелл через Ростелеком СМС Реклама