artem
27.08.2014
9098

Подключение линии провайдера по потоку E1 с помощью шлюза Parabel ELF2-AE

В данной статье мы рассмотрим, как можно подключить к серверу Asterisk с веб-интерфейсом FreePBX линию провайдера с помощью шлюза Parabel ELF2-AE. Например, это может быть удобно в том случае, если линию E1 трудно подвести напрямую к серверу Asterisk (допустим, если сервер на другом этаже), или если в него нельзя установить карту E1, а также из других соображений.

ELF2-AE — это внешний интерфейс, предназначенный для ввода синхронных потоков E1 в сервер Asterisk. Имеет один порт Ethernet для подключения к серверу, один консольный порт для конфигурирования и один порт E1. Этот шлюз имеет ряд преимуществ по сравнению с обычными внутренними картами E1, например, возможна горячая замена интерфейса и добавление новых портов E1 без перезагрузки сервера. Шлюз работает по технологии TDMoE, а это значит, что он работает на канальном уровне, то есть кадры с голосом не имеют IP-адресов, а имеют только MAC-адреса. Это удобно с точки зрения безопасности, но осложнено тем, что шлюз и сервер Asterisk должны обязательно находиться в одной подсети, где коммутация пакетов может производиться без IP-адресов.

В нашей конфигурации сервер Asterisk соединен со шлюзом Parabel ELF2-AE с помощью консольного кабеля и Ethernet-кабеля (для передачи данных по технологии TDMoE). При этом консольный кабель, выходящий из шлюза, подключен к USB-порту сервера.

Подключение выполняется по следующей схеме:

Схема подключения

 

Шаг 1. Установка и настройка утилиты Minicom

Сначала нам нужно установить и настроить утилиту Minicom, с помощью которой будет производиться настройка шлюза через консольное соединение. В CentOS ее можно установить с помощью команды

yum install minicom -y

Далее нам необходимо узнать, под каким номером система на нашем сервере определила подключенный шлюз. Для этого мы будем смотреть логи мониторинга системы в файле /var/log/messages. В этом файле хранятся записи о различных формах активности в системе, в том числе о подключении новых устройств, что нам и нужно. Мы будем просматривать в реальном времени изменение последних строк этого файла с помощью утилиты tailf:

tailf /var/log/messages

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

Словосочетание FTDI USB Serial Device означает, что некоторое устройство было подключено с помощью консольного кабеля через USB, а ttyUSB0 – это идентификатор, под которым оно определилось в системе. Чтобы завершить работу этой утилиты, нажмем Ctrl + C.

Теперь мы можем настроить утилиту Minicom для соединения со шлюзом. В консоли Linux выполняем команду

minicom -s

Выбираем пункт Serial port setup и выставляем следующие настройки

Serial Device → /dev/ttyUSB0 (может быть другой идентификатор)
Lockfile Location → /var/lock
Callin Program →
Callout Program →
Bps/Par/Bits → 38400 8N1
Hardware Flow Control → No
Software Flow Control → No

Для навигации по данному меню нужно ввести с клавиатуры букву, указанную напротив соответствующего пункта настроек. Для выхода из данного меню жмем Enter.

Особое внимание нужно проявить к настройке пункта Serial Device, в котором мы указали ttyUSB0. Это идентификатор порта, с помощью которого выполняется подключение шлюза по консольному кабелю, и как определить его подробно описано выше.

Далее необходимо сохранить эти настройки как дефолтные (выбрав пункт Save setup as dfl) и завершить работу утилиты (Exit from Minicom).

Шаг 2. Настройка шлюза с помощью Minicom

Теперь мы можем заняться непосредственно настройкой шлюза. Чтобы сервер Asterisk и шлюз Parabel ELF2-AE увидели друг друга, нам нужно прописать MAC-адрес Ethernet-порта сервера в консоли шлюза с помощью утилиты Minicom.

Чтобы узнать MAC-адрес серверного порта, в который подключен Ethernet-кабель от шлюза, нужно выполнить в консоли команду

ifconfig

В нашем случае у сервера всего один Ethernet-порт, его обозначение в системе — eth0. MAC-адрес этого порта обозначен здесь как HWaddr и имеет значение 38:60:77:9E:94:9C. Записываем или копируем этот адрес куда-нибудь, так как в дальнейшем он нам пригодится.

Чтобы начать настройку, в консоли Linux запускаем Minicom:

minicom

Если на экране консоли не появилось меню с выбором пунктов, необходимо нажать на клавиатуре клавишу Q.

Все клавиатурные комбинации для ввода в этой статье записаны заглавными буквами (например, Ctrl + A), но это не означает, что требуется ввод именно заглавной буквы с зажатием Shift или предварительным нажатием Caps Lock.

Здесь, как и в режиме конфигурирования Minicom, нужно вводить с клавиатуры соответствующие цифры для навигации по меню.

Следуем в меню так:

Configuration → Common → DST MAC

Для этого нужно нажать 1, 1, 3 на клавиатуре и ввести MAC-адрес порта сервера Asterisk, который мы узнали несколько раньше.

При навигации и вводе адреса нельзя пользоваться дополнительной цифровой клавиатурой (а только той, которая непосредственно над клавишами), так как нажатия с нее обычно распознаются неправильно.

Видим, что после ввода MAC-адреса порта eth0 сервера Asterisk значение dst сменилось на нужный нам адрес.

После этого сохраним настройки. Для этого нажмем 0, 9 и 0 (это будут соответственно команды Quit, Save и снова Quit). Далее перезагружаем шлюз, нажав 9 (Reset). В процессе перезагрузки будет виден следующий экран:

После перезагрузки шлюза выходим из его консоли, нажав Ctrl + A, затем Q. Программа предложит выйти без перезагрузки шлюза (Leave without reset), выбираем Yes и нажимаем Enter.

Шаг 3. Установка и настройка драйвера DAHDI сборки Parabel

Переходим на официальный сайт компании Parabel.

http://parabel.ru/

Далее идем в раздел Файлы и ищем актуальную сборку драйвера DAHDI. На момент написания статьи это была сборка «Сборка DAHDI с исправлениями и дополнениями, драйверами адаптеров Quasar, Quasar-mini. Версия 2.7.0.2+2.7.0.2, версия сборки 2.7.2». Копируем ссылку Скачать.

На сервере Asterisk создаем папку для исходников драйвера:

cd /usr/src
mkdir dahdi
cd dahdi

Затем скачиваем драйвера по ссылке, скопированной ранее:

wget http://parabel.ru/d/dahdi_2.7.0.2%2B2.7.0.2-parabel_2.7.2.tar.bz2

После распаковываем, компилируем и устанавливаем их:

tar xfv dahdi_2.7.0.2+2.7.0.2-parabel_2.7.2.tar.bz2
cd dahdi_2.7.0.2+2.7.0.2-parabel_2.7.2
./build.sh
./install.sh

В файле /etc/dahdi/modules закомментируем все модули, так как данный шлюз не использует ни один из них. Для этого необходимо открыть файл в любом текстовом редакторе (например, в nano), и в начале каждой строчки с названием модуля поставить символ начала комментария #:

В файле /etc/dahdi/system.conf закомментируем все строки, после чего добавляем в самый верх следующие строки

# Parabel ELF2-AE
dynamic=eth,eth0/00:55:55:55:55:00,31,1
bchan=1-15
dchan=16
bchan=17-31
# Setting ALAW for timeslots
alaw=1-15,17-31
# Setting the OSLEC Echo Canceller
echocanceller=oslec,1-15
echocanceller=oslec,17-31
# Setting correct zone info (tone info)
loadzone=ru
defaultzone=ru

где eth0 — идентификатор Ethernet-порта сервера, в который подключен шлюз
00:55:55:55:55:00 — MAC-адрес нашего шлюза Parabel ELF2-AE.

Некоторые настройки потока E1 должен сообщить провайдер. Здесь это bchan – номера слотов (каналов) для передачи данных, dchan – номер канала для синхроимпульсов.

Для вступления изменений в силу требуется рестарт DAHDI. В консоли Linux выполняем команды

amportal stop
service dahdi restart
amportal start

Смотрим на состояние каналов:

service dahdi status

Должен быть примерно такой же вывод, как на скриншоте.

Далее тестируем DAHDI:

dahdi_test

Эта утилита проверяет работу DAHDI. Если присутствуют значения ниже 99.9, то это значит, что DAHDI-устройство вынуждено конкурировать с другими процессами за прерывания и время процессора, что может привести к ухудшению качества звука, срыву синхронизации канала E1, скрежету и обрывам голоса.

Проверяем состояние карты E1:

dahdi_tool

Должно быть указано состояние «OK», в противном случае нужно перепроверить конфигурацию DAHDI и шлюза.

Далее нам нужно настроить Asterisk на работу с DAHDI. Для этого в пустом, но существующем файле /etc/asterisk/dahdi-channels.conf нам нужно прописать все каналы и задать им параметры. Откроем файл в текстовом редакторе и запишем туда строки:

language=ru

group=0
context=from-trunk
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31

Настройки протокола сигнализации (в нашем случае это euroisdn) должен сообщить провайдер.

Так мы мы подключаемся к провайдеру, вполне логично, что он является источником синхроимпульсов. Поэтому наш сервер конфигурируется как Ведомое устройство (Slave), и мы указываем в signalling тип сигнализации pri_cpe.

В консоли Asterisk перегружаем модули, службу DAHDI и делаем просмотр каналов DAHDI

module reload chan_dahdi.so
dahdi restart
dahdi show channels

В списке должны отобразиться все каналы с 1 по 31. В противном случае нужно перепроверить конфигурацию каналов в файле /etc/asterisk/dahdi-channels.conf

Шаг 4. Создание DAHDI-транка во FreePBX

Чтобы совершать звонки с помощью линии E1, предоставленной провайдером, необходимо создать DAHDI-транк, с которым в дальнейшем можно будет работать как с обычным транком.

В меню FreePBX выбираем Подключение → Транки → Добавить DAHDi транк.

Введем название транка, например, MyE1Trunk, все остальное можно оставить по умолчанию. Нажимаем «Сохранить изменения» и потом «Apply Config».

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

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

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

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

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

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

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

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