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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Использование TDMoE шлюзов совместно с Asterisk

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

Одним из способов подключения аналоговых телефонных портов к Asterisk, наряду с VoIP– технологиями типа SIP, H.323 и пр., можно эффективно использовать шлюзы (или банки каналов), подключаемые по технологии TDMoE.

Различие между этими технологиями довольно существенное. Во-первых, рассматривая в контексте стека TCP/IP, можно сказать, что высокоуровневые протоколы SIPи H.323, охватывают все уровни стека: канальный, сетевой, транспортный и прикладной. Это позволяет размещать шлюз в любой точке Интернета, откуда есть доступ до сервера IP-АТС Asterisk.

Одним из способов подключения аналоговых телефонных портов к Asterisk, наряду с VoIP– технологиями типа SIP, H.323 и пр., можно эффективно использовать шлюзы (или банки каналов), подключаемые по технологии TDMoE.

Различие между этими технологиями довольно существенное. Во-первых, рассматривая в контексте стека TCP/IP, можно сказать, что высокоуровневые протоколы SIPи H.323, охватывают все уровни стека: канальный, сетевой, транспортный и прикладной. Это позволяет размещать шлюз в любой точке Интернета, откуда есть доступ до сервера IP-АТС Asterisk.

Особенности работы TDMoE-шлюзов.

Напротив, TDMoE-шлюзы работают только на канальном уровне. Кадры с голосом не имеют IP-адресов, а имеют лишь MAC-адреса, что ограничивает возможность размещения таких шлюзов за границей коммутируемой сети, в которой расположен сервер Asterisk. Разместить такой шлюз в другой сети, за роутером уже будет невозможно. Итак, шлюз и Asteriskдолжны быть подключены напрямую в один Ethernet-коммутатор.

Второй важной особенностью является требования к сети у TDMoE-шлюзов. Технология TDMoE (TimeDivisionMultiplexingoverEthernet– Мультиплексирование потока с временным разделением и передачей через сети Ethernet) является аналогом потоков E1, в которой голосовые кадры идут в строго очередном порядке в строго отведенный временной промежуток. Фактически, это является привычным Е1 потоком, передающимся через Ethernet. К такому потоку предъявляются чрезвычайно строгие требования по задержке сигнала и джиттеру: не более 1,5 секунд.

Архитектура взаимодействия TDMoE-устройства и Asterisk.

Для понимания работы TDMoEв Asterisk, вспомним, каким образом Asteriskвзаимодействует с цифровыми и аналоговыми картами (напр., Digiumили Parabel). Цифровыми и аналоговыми картами занимается драйвер DAHDi, который работает как отдельный модуль ядра, позволяющий ОС Linuxвзаимодействовать с устройством и портами через PCI (PCI-Express) шину сервера. Со стороны Asteriskесть модуль chan_dahdi.so, который обеспечивает взаимодействие самого Астериска и драйверов DAHDi.

При использовании технологии TDMoE, внутренняя шина сервера PCI (PCI-Express) «заменяется» на Ethernet-кабель, фактически, позволяя вынести DAHDi-порты из сервера на расстояние до 100 метров и подключая к серверу произвольное количество портов (ограниченное лишь скоростью сети и мощностью сервера).

Какие преимущества у TDMoE-шлюзов.

Шлюзы TDMoEдля Asteriskявляются низкоуровневыми устройствами в хорошем смысле этого слова. Устройства взаимодействуют с Asteriskна уровне нативных драйверов DAHDi. SIPи H.323 – шлюзы могут иметь разнообразные проблемы с совместимостью из-за разнообразных вариаций по реализации SIP-стека.

Шлюз TDMoEтребует минимальной настройки. В базовой конфигурации достаточно лишь указать его МАС-адрес на Asterisk, чтобы устройства увидели друг друга.

К шлюзу TDMoEневозможно получить удаленный доступ, что влияет на безопасность сервера. К сожалению, SIPи H.323-шлюзы могут быть доступны по сети, при этом имея уязвимости служб или стека, из-за чего нередко атаки производятся именно на них.

Настройка TDMoE-портов производится целиком из Asterisk. Не требуется двойная настройка: первый раз на сервере, второй – на шлюзе, в отличие от VoIP-шлюзов.

Настройка шлюза TDMoE.

В большинстве случаев настройка шлюза не требуется, настройки по умолчанию уже предполагают возможность работы. В случае, если у вас более одного шлюза, необходимо вручную прописать МАС-адреса шлюзов, т.к. они имеют одинаковые значения.

Настройка шлюза возможна после подключения консольного кабеля к шлюзу. Подключаясь через СОМ-порт, попадаем в псевдографический интерфейс, где можно настроить все параметры шлюза:

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

Проблема решилась отключением эхоподавления на шлюзе (опция ЕС):

Настройка сервера Астериск.

Настройка сводится к нескольким этапам.

1.  Настройка DAHDi.

2.  Конфигурация каналов через chan_dahdi.confв Asterisk.

3.  Конфигурация DialPlan в Asterisk

 

Настройка DAHDi в свою очередь сводится к двум этапам:

1.1. Настраиваем SPAN (DynamicSPAN). В файл /etc/dahdi/system.confпрописываем следующие параметры:

dynamic=eth,eth0/00:01:02:03:04:00,30,1

; В этой строке 4 переменных, разделенных запятыми:

  • тип устройства: eth,
  • адрес TDMoIP-шлюза и порт, через который он доступен: eth0/00:01:02:03:04:00,
  • количество каналов – 30 штук
  • Источник синхронизации: 1 означает что само устройство является источником синхроимпульсов

 

fxols=1-7 ; Задаем FXS-каналы 1 банка (обратите внимание, что FXSканалы имеют FXO-сигнализацию и наоборот)

fxsls=8-15 ; Задаем FXO-каналы 2 банка (обратите внимание, что FXSканалы имеют FXO-сигнализацию и наоборот)

 

fxols=16-22 ; Задаем FXS-каналы 3 банка

fxols=23-30 ; Задаем FXS-каналы 4 банка

alaw=1-30 ; Задаем тип кодирования звукового потока (alawили ulaw)

 

loadzone=ru; Задаем локальную принадлежность для корректного определения сигналов КПВ.

defaultzone=ru;

 

Проверка.

Сохраняем файл и перезагружаем dahdi при остановленном Asterisk. Рекомендуется перед этим выполнить dahdi_cfg–s, для выгрузки SPAN-а.

После перезапуска dahdiзапускаем dahdi_tool. Шлюз должен определиться и отобразить статус OK:

Также необходимо убедиться, что сетевой тракт работает корректно и не допускает задержки и пропуска кадров. Для этого нужно запустить команду
watch -n 0.1 cat /proc/dahdi/dahdi_dynamic_stats

В данном выводе важно смотреть на последнюю строку и следить за тем, чтобы значения параметров slip, skipи прочих не росли, а оставались фиксированными. Они могут отличаться от нуля, но главное – чтобы они не росли.

2.     Конфигурация каналов в /etc/asterisk/chan_dahdi.conf

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

Параметры можно разделить на глобальные и индивидуальные (канальные).

Глобальныенастройки:

[trunkgroups]

[channels]

language=en

context=from-zaptel

signalling=fxs_ks

rxwink=300             ; Atlas seems to use long (250ms) winks

busydetect=yes

busycount=10

usecallerid=yes

hidecallerid=no

callwaiting=yes

usecallingpres=yes

callwaitingcallerid=yes

threewaycalling=yes

transfer=yes

cancallforward=yes

callreturn=yes

echocancel=yes

echocancelwhenbridged=no

echotraining=800

rxgain=0.0

txgain=0.0

group=0

callgroup=1

pickupgroup=1

immediate=no

Индивидуальные (канальные) настройки могут быть в этом же файле, однако чаще всего выносятся в отдельный файл, например dahdi-channels.conf. Это делается исключительно для удобства.

Например, для настройки ФХО канала мы задаем следующие параметры:

signalling=fxo_ls

pickupgroup=

mailbox=10@device

immediate=no

echotraining=800

echocancelwhenbridged=no

echocancel=no

context=from-internal

callprogress=yes

callgroup=

callerid=device <10>

busydetect=yes

busycount=7

accountcode=

channel≥16

 

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

После того как сохранили файл, выполняем команду dahdirestartв консоли Астериск.

Далее убеждаемся в том, что канал поднялся и стал доступен командой dahdishowchannels:

 Более подробно посмотреть параметры настройки конкретного канала можно увидеть из команды dahdishowchannel16 (любой существующий номер канала):

3.      Далее, переходим к заключительной части, настраивая диалплан Астериск

В файл extensions.confв контекст from-internal (или в том, в котором находится данный канал), создаем диалплан аналогичный следующему:

[from-tdmoe]

Exten ≥ _.,1,Dial (SIP/trunk_to_operator/${EXTEN},60,Ttr)

Same ≥ n,Hangup ()

TDMoE, шлюз, asterisk