Askozia - добавляем функцию DND для Gigaset SL910

Несколько дней назад наш партнер столкнулся с проблемой - его клиент использует станцию Gigaset N510IP Pro и телефон Gigaset SL910 с Askozia. Проблема состоит в том, что у телефона нет физической кнопки DND(не беспокоить).

Для решения данной ситуации мы решили написать маленькое приложение на Asterisk. [spoiler] Диалплан приложений Asterisk используют свои собственные внутренние номера, иными словами, при наборе определенного внутреннего номера выполняется код приложения. Для создания приложения в Askozia необходимо перейти в меню План набора-Приложения-Простой скрипт. Простой скрипт функции DND представлен на рисунке ниже:
askozia DND
Для завершения настройки не забудьте нажать Сохранить

Далее необходимо указать в настройках вашего провайдера следующее(меню Учетные записи - Провайдеры, выберите своего провайдера и нажмите кнопку редактирования askozia DND).
Находим в настройках провайдера закладку Дополнительно и в поле Manual Dialplan Incoming вводим следующее:

askozia DND

Для завершения настройки не забудьте нажать Сохранить

Теперь функция DND доступна при наборе внутреннего номера 0000363.

Для вашего удобства код приложения выкладываем ниже:
1,GotoIf($["${EXTEN}" = "h"]?end)
n,NoOp(${DB(DND/${CALLERID(num)})})
n,GotoIf($[ "${DB(DND/${CALLERID(num)})}" = "1" ]?deactivatednd:activatednd)
n(activatednd),Set(DB(DND/${CALLERID(num)})=1)
n,Playback(activated)
n,Hangup()
n(deactivatednd),Set(DB(DND/${CALLERID(num)})=0)
n,Playback(de-activated)
n,Hangup()
n(end),NoOp(DND changed)


Код для редактирования настроек вашего провайдера:
ExecIf($[ "${DB(DND/${INCOMINGCALLEDEXTENSION)}" = "1" ]?Busy(3))
ExecIf($[ "${DB(DND/${INCOMINGCALLEDEXTENSION)})}" = "1" ]?Hangup())