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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

База знаний Настройка VoIP-оборудования
В данной статье мы рассмотрим, как можно подключить к серверу 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».



Parabel, tdmoe шлюз, шлюз e1, сервер, asterisk, установка, dahdi, настройка, тип, TDMoE, шлюз, Подключение, FreePBX, for, centOS