artem
10.04.2017
5867

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

В данной статье описан процесс синхронизации сервиса 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

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

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

Я - Першин Артём, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.