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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Синхронизация сервиса DND телефонного аппарата Yealink серии SIP-T2X. Отключение сервиса DND по расписанию.

База знаний Настройка IP-телефонов Yealink

В данной статье описан процесс синхронизации сервиса DND телефонного аппарата Yealink серии SIP-T2X и отключение сервиса DND по расписанию.

Как известно, при выставлении абонентом статуса DND средствами телефонного аппарата со стороны Asterisk, не всегда однозначно можно распознать что на телефоне выставлен статус DND, так как в 99% случаев телефон возвращает ответ «Busy Here» - занято. Как вариант можно отключить сервис DND на аппаратах и научить абонентов использовать сервисные коды Asterisk, но в данном подходе несколько существенный минус: на телефонном аппарате не отображается статус DND, в следствии чего пользователь может забыть, что у него выставлен данный статус. Но при использовании телефонных аппаратов Yealink серии SIP-T2X, возможно синхронно выставлять DND как на телефонном аппарате, так и на сервере Asterisk.

При использовании FreePBX сервисные коды для включения службы DND - *78, для отключения - *79.

Настроить синхронный вызов данных сервисных кодов при включении DND на телефонном аппарате можно как через веб-интерфейс, так и через файл провиженинга.

Настройка синхронизации DND через веб-интерфейс:
Перейти в раздел Функции > Переадресация и режим DND, подраздел DND, выставить параметр «Режим» в значение «На все вызовы», «Статус DND» - «Включено», «Код вкл. DND» - «*78», «Код выкл. DND» - «*79».

Переадресация и режим DND

!Не рекомендуется использовать сервисный код-переключатель режима DND (*76)!

За данную настройку через файл автопровиженинга отвечают параметры:

features.dnd.on_code = *78
features.dnd.off_code = *79

Таким образом при включении DND на телефонном аппарате — с него будет параллельно вызван сервисный код *78 на Астериске и при отключении DND, также будет вызван сервисный код - *79. Теперь можно мониторить состояние DND через Asterisk, команда database show DND:

localhost*CLI> database show DND
/DND/9999                                         : YES        

Только следует учитывать, что если снимать DND из консоли Астериска, то на телефонном аппарате статус DND останется неизменным.

Для отключения статуса DND одновременно у телефонного аппарата и у сервера Астериск, удаленными средствами, можно обратиться к API телефонов Yealink, который носит название Action URI.
Например, есть задача массовое отключение DND, у «забывчивых» сотрудников, которые выставляют DND и потом неотключают его и на следующий день. Для решения данного вопроса, можно использовать скрипт, который будет отрабатываться в нерабочее время, проходить по всем телефонам, которые находятся в статусе DND () и через API отключать его.

Первым делом необходимо разобраться как работать с API Yeaink. Для включения API в веб-интерфейсе телефона в разделе Функции > Контроль подключений выставить параметр IP-адреса для отправки Action URI в значение равное ip сервера откуда будут посылаться команды, либо список адресов через запятую или при необходимости принимать команды с любого ip то необходимо указать значение any.

Контроль подключений

Но при включении разрешений через веб-интерфейс есть один довольно существенный минус — при первичном запросе к API требуется подтверждение действия через меню — единичный раз, но при перезагрузке телефона снова требуется подтверждение. Чтобы обойти данный функционал необходимо через файл провиженинга отключить запрос подтверждения. Делается это через параметр features.show_action_uri_option = 0

Также список ip-адресов для для подключения к API можно указать в файле в параметре: features.action_uri_limit_ip = any

Обращение к API телефона имеет вид стандартного GET-http запроса. Пример вызова включения функции DND на телефоне с помощью запроса из BASH — можно использовать стандартный curl:


curl -v --user login:password http://phone_ip/servlet?key=DNDOn

При выполнении данной команды (при условии включенных выше кодов синхронизации), если параллельно наблюдать за CLI Asterisk`а, то можно увидеть, что выполнится так же и код *78. Таким образом данная команда полностью эмулирует аппаратное нажатие кнопки DND на телефоне.

Команда отключения DND выглядит следующим образом:

curl -v --user login:password http://phone_ip/servlet?key=DNDOff

Обратите внимание, что API чувствителен к регистру команд!

 

Листинг скрипта на принудительное отключение DND, который в цикле запрашивает через astdb статус DND, определяет ip аппаратов на которых выставлен DND и подключается к ним через API:
 

#!/bin/sh
while read -r line; do
        if [[ $line =~ ^/DND/([0-9]+) ]];
                then ext=${BASH_REMATCH[1]}; reg_c="$(asterisk -rx "sip show peer $ext" | fgrep 'Reg. Contact')";
        if [[ $reg_c =~ ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+) ]];
                then ip=${BASH_REMATCH[1]}; curl --user user:password http://$ip/servlet?key=DNDOff &disown -h;
        fi;
        fi;
done

asterisk, sip, настройка, коды, FreePBX, limit