Будьте в курсе всех новостей про IP-телефонию и Asterisk.

Подписка на еженедельную рассылку компании VoxLink. Статьи и инструкции по настройке Asterisk и VoIP-оборудования, рецепты и лайфхаки, обучение и бесплатные вебинары.

Будь в теме!

Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

Для понимания работы с Asterisk необходимо уметь настраивать его вручную с конфигурационными файлами и командной строкой CLI Asterisk.

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

Использование шлюза Eltex SMG-4 (или SMG-2) для подключения Asterisk в разрыв между аппаратной АТС и провайдером E1

База знаний Настройка VoIP-оборудования

В этой статье будет описан пример настройки шлюза Eltex SMG-4 для подключения Asterisk в разрыв между аппаратной АТС и провайдером E1. Для реализации требуется два порта E1, поэтому можно использовать шлюз SMG-2 вместо SMG-4.

Исходные данные

Изначальная схема подключения:

 Изначальная схема подключения

 


Целевая схема подключения:

Целевая схема подключения:
После завершения настройки все вызовы между аппаратной АТС и провайдером телефонии должны проходить через Asterisk для записи вызовов. Для достижения этой цели не придётся менять настройки аппаратной АТС, для неё ничего не изменится.

 

Настройки на стороне Asterisk

Сперва подготовим настройки на стороне Asterisk. Нужно завести два SIP-аккаунта с регистрацией для шлюза (по одному для каждого порта) и написать простой диалплан для обработки вызовов.


SIP-аккаунт для порта аппаратной АТС (порт SMG-4 под номером 0):

[smg-4-port0-pbx]
type=friend
host=dynamic
defaultuser=smg-4-port0-pbx
secret=YVZoT74dlBhYCewN
context=from-pbx
disallow=all
allow=alaw
directmedia=no
qualify=yes
nat=no
 

SIP-аккаунт для порта провайдера (порт SMG-4 под номером 1):

[smg-4-port1-provider]
type=friend
host=dynamic
defaultuser=smg-4-port1-provider
secret=OQG1WodjDmwozKSW
context=from-provider
disallow=all
allow=alaw
directmedia=no
qualify=yes
nat=no  

Вызовы на оба аккаунта будут поступать с одного IP-адреса 192.168.100.121, чтобы asterisk мог различить, к какой учётной записи относится вызов, нужно обязательно добавить в раздел [general] файла sip.conf параметр match_auth_username:

match_auth_username=yes

 

Если включить параметр match_auth_username, asterisk будет искать подходящую учётную запись для входящего вызова по SIP, в первую очередь, по имени пользователя, использованном при аутентификации, а не по значению поля From. Естественно, нельзя включать опцию insecure для учётных записей SMG-4, т.к. все входящие вызовы от SMG-4 обязательно должны проходить аутентификацию, чтобы это работало.

Простой диалплан для записи транзитных вызовов:

[from-pbx]
exten => _X.,1,Set(CUR_UTIME=${EPOCH})
same  => n,Set(REC_PATH=${STRFTIME(${CUR_UTIME},,%Y/%m/%d)})
same  => n,Set(TIME_SUFFIX=${STRFTIME(${CUR_UTIME},,%Y-%m-%d)})
same  => n,Set(REC_NAME=${REC_PATH}/${TIME_SUFFIX}-${CONTEXT}-${CALLERID(num)}-${EXTEN}-${UNIQUEID}.wav)
same  => n,MixMonitor(${REC_NAME})
same  => n,Set(CDR(recordingfile)=${REC_NAME})
same  => n,Dial(SIP/smg-4-port1-provider/${EXTEN},120)
same  => n,Hangup
 
[from-provider]
exten => _X.,1,Set(CUR_UTIME=${EPOCH})
same  => n,Set(REC_PATH=${STRFTIME(${CUR_UTIME},,%Y/%m/%d)})
same  => n,Set(TIME_SUFFIX=${STRFTIME(${CUR_UTIME},,%Y-%m-%d)})
same  => n,Set(REC_NAME=${REC_PATH}/${TIME_SUFFIX}-${CONTEXT}-${CALLERID(num)}-${EXTEN}-${UNIQUEID}.wav)
same  => n,MixMonitor(${REC_NAME})
same  => n,Set(CDR(recordingfile)=${REC_NAME})
same  => n,Dial(SIP/smg-4-port0-pbx/${EXTEN},120)
same  => n,Hangup

Настройки на стороне Asterisk завершены, переходим к настройке SMG-4.

 

Настройки на стороне Eltex SMG-4

Для применения изменений, внесённых в любом разделе web-интерфейса нужно нажать кнопку «Применить». Для сохранения настроек нужно выбрать во вкладке «Сервис» пункт «Сохранить конфигурацию во FLASH».

 

Базовая настройка

Базовая настройка шлюза SMG-4 будет рассмотрена очень кратко:
1) IP-адрес SMG-4 по-умолчанию - 192.168.1.2. Изменить IP-адрес можно в web-интерфейсе шлюза в подразделе «Сетевые интерфейсы» раздела «Настройки TCP/IP».
2) На экране редактирования параметров сетевого интерфейса рекомендуется отключить доступ к консоли шлюза по SSH и Telnet, если он вам не нужен (также желательно зайти перед этим в консоль шлюза и поменять пароль для доступа к консоли на нестандартный).
3) Рекомендуется обновить прошивку шлюза до последней версии. Посмотреть текущую версию прошивки можно в web-интерфейсе шлюза - вкладка «Помощь», пункт «Информация о системе». Скачать последнюю версию прошивки можно с сайта производителя http://eltex.nsk.ru/catalog/smg-4.php (http://eltex.nsk.ru/catalog/smg-2.php - для SMG-2). Для обновления прошивки шлюза зайдите в пункт «Обновление ПО» вкладки «Сервис».

 

Настройка портов E1

 
 Переходим к настройкам телефонии.
Заходим в настройки порта под номером 0 (раздел «Потоки E1», подраздел «Поток 0»), к этому порту будет подключена аппаратная АТС.


Настройки потока Е1
Укажите произвольное название порта, выберите протокол сигнализации «Q.931 (Network)», отметьте пункт «Включен», включите CRC4, если CRC4 включено на стороне аппаратной АТС.
Также обратите внимание на параметр «Занятие каналов», по умолчанию, он имеет значение «Последовательно вперёд» - это означает, что шлюз перебирает все тайм-слоты E1 по очереди. Если часть тайм-слотов в потоке отключена на стороне аппаратной АТС, то вызовы в сторону АТС, приходящиеся на эти тайм-слоты, будут отбиваться. Обязательно отключите неиспользуемые тайм-слоты на вкладке «Использование каналов».

 

Теперь настроим порт под номером 1 (раздел «Потоки E1», подраздел «Поток 1»), к этому порту будет подключен провайдер.

Настройка порта Е1 

Протокол сигнализации должен быть «Q.931 (User)», в остальном настройки аналогичны настройкам порта для АТС.
Точно так же обратите внимание на параметр «Занятие каналов» и вкладку «Использование каналов».

Настройка портов E1 завершена. Если какой либо из портов показывает ошибку после подключения кабеля, значит неправильно указан протокол сигнализации или неправильно указана настройка CRC4 или подключен не тот кабель.

 

Настройка SIP-подключений к Asterisk

Зайдите в подраздел «Интерфейсы SIP» раздела «Маршрутизация», добавьте новый интерфейс SIP. Этот интерфейс SIP будет использоваться для вызовов E1-порта аппаратной АТС

Настройка интерфейса SIP

На вкладке настроек «Настройка интерфейса SIP»:
- укажите произвольное название для интерфейса
- укажите IP-адрес сервера Asterisk в пункте «Имя хоста / IP-адрес»
- укажите произвольный порт в пункте «Порт для приема SIP сигнализации», например 5062
- установите флажок «Доверенная сеть» (означает, что CallerID будет передаваться полностью)
- установите флажок «Индикация аварии»

Настройка интерфейса SIP


На вкладке «Настройка протокола SIP» заполните параметры регистрации:
- «Регистрация на вышестоящем сервере» - транковая регистрация
- «Логин» и «Имя пользователя/Номер» - имя пользователя для аутентификации на Asterisk (используйте данные SIP-аккаунта для порта аппаратной АТС - smg-4-port0-pbx)
- «Пароль» - пароль для аутентификации на Asterisk
- «SIP-домен» - IP-адрес сервера Asterisk
- «Период регистрации (сек)» - рекомендуется указать небольшое значение, чтобы связь быстрее восстановилась, если Asterisk по какой-либо причине потеряет SIP-регистрацию от шлюза

 

 Настройка интерфейса SIP


На вкладке «Настройка кодеков/RTP» оставьте включенным только кодек G.711A (в России в потоках E1 используется только он) и выберите способ передачи DTMF - RFC2833.

Настройка первого SIP-интерфейса завершена. Создайте и настройте второй SIP-интерфейс аналогично первому, но со следующими отличиями:
- Обязательно укажите в пункте «Порт для приема SIP сигнализации» порт, отличный от порта, указанного для первого SIP-соединения (в данном случае, у первого соединения - порт 5062, у второго соединения - порт 5063). Это нужно для того, чтобы шлюз мог правильно определить, к какому соединению относится каждый вызов

Настройка интерфейса SIP
- На вкладке «Настройка протокола SIP» вносите данные SIP-аккаунта для порта провайдера - smg-4-port1-provider

Настройка интерфейса SIP

 

Настройка SIP-соединений завершена. После применения настроек, оба соединения должны пройти регистрацию на Asterisk, если этого не произошло, проверьте правильность внесённых настроек.

 

Настройка маршрутизации вызовов

Сперва нужно зайти в подраздел «Транковые группы» раздела «Маршрутизация» и создать транковые группы для E1-портов и SIP-соединений.
Для каждой создаваемой транковой группы нужно задать произвольное название и выбрать порт E1 или SIP-соединение. Настройки транковых групп для порта E1 и SIP-соединения, относящихся к провайдеру:

Транковые группы

Транковые группы

В результате должно получиться четыре транковых группы, в каждую из которых входит один порт E1 или одно SIP-соединение, в рамках описываемой настройки были созданы следующие транковые группы:
(имя транковой группы / состав транковой группы)
PBX / Поток 0 (Q.931-N)
Asterisk (to PBX) / SIP-for-PBX
Provider / Поток 1 (Q.931-U)
Asterisk (to Provider) / SIP-for-Provider

 

Далее заходим в подраздел «План нумерации # 0» раздела «Маршрутизация». В этом разделе нужно создать четыре префикса плана нумерации - по одному для каждой транковой группы. В настройках каждого префикса маршрутизации нужно указать произвольное название и транковую группу, через которую должны уходит вызовы, использующие данный префикс. Настройки префиксов плана нумерации, относящиеся к провайдеру:

Планы нумерации
Планы нумерации
В результате должно быть настроено четыре префикса плана нумерации:
(имя префикса / транковая группа)
From-PBX-To-Asterisk / Asterisk (to PBX)
From-Asterisk-To-PBX / PBX
From-Provider-To-Asterisk / Asterisk (to Provider)
From-Asterisk-To-Provider / Provider

 

Если используется режим набора en-bloс, нужно указать значение 1 для «Short timer», чтобы минимизировать задержку перед набором номера. Для режима набора overlap нужно указать в списке масок шаблоны номеров, для маршрутизации которых должен использоваться данный префикс плана нумерации (это не будет рассмотрено в рамках данной статьи).

 

Возвращаемся к настройкам транковых групп и указываем для каждой транковой группы префиес плана нумерации, который должен использоваться для маршрутизации вызовов, приходящих по каналам этой транковой группы.

Планы нумерации


(имя транковой группы / прямой префикс)
PBX / From-PBX-To-Asterisk
Asterisk (to PBX) / From-Asterisk-To-PBX
Provider / From-Provider-To-Asterisk
Asterisk (to Provider) / From-Asterisk-To-Provider

 

Настройка завершена, если все шаги были выполнены правильно, вызовы между аппаратной АТС и провайдером должны проходить транзитом через Asterisk.

asterisk, nat, sip, настройка, шлюз, Группа вызовов, Time, for, callerid