====== Настройка индивидуального нерабочего времени для учетной записи провайдера ====== [[faq:|Обратно к инструкциям]] ====== Постановка задачи ====== В MikoPBX в разделе **Маршрутизация** -> **Нерабочее время** настроены правила маршрутизации вызовов в нерабочее время. Данные правила распространяются на все вызовы, независимо от того на какой номер компании позвонил клиент. Необходимо для провайдера Zadarma настроить индивидуальное нерабочее время. Рабочее время для данного провайдера: с 9.00 до 18.00 по МСК. ====== Решение ====== ===== Способ 1 ===== 1. Подключите провайдера в MikoPBX согласно [[:providers|инструкции]].\\ \\ 2. Перейдите в раздел **Модули** -> **Приложения диалпланов**. Создайте новое приложение (диалплан Asterisk) по [[:dialplan-applications|инструкции]]. Параметры приложения принимают вид:\\ {{ :providers:2019-02-22_152023.png |}}\\ {{ :providers:2019-02-22_152039.png |}}\\ Программный код созданного приложения:\\ 1,ExecIfTime(09:00-18:00,mon-fri,*,*?Goto(internal,2003,1)) n,Goto(internal,201,1) Команда **ExecIfTime** выполняет указанное приложение Asterisk, если текущее время соответствует заданной спецификации времени. Если нам позвонят с 9:00 до 18:00 в любой будний день (с понедельника по пятницу), то мы перенаправляем вызов ([[http://asterisk.ru/knowledgebase/Asterisk+cmd+goto|команда Goto]]) на номер 2003. **2003** - это номер IVR-меню.\\ {{ :providers:2019-02-22_152131.png |}}\\ Иначе вызов направится сотруднику с внутренним номером 201.\\ {{ :providers:2019-02-22_152148.png |}}\\ 3. Настраиваем правила входящей маршрутизации для созданного провайдера. Переходим в раздел **Маршрутизация** -> **Входящие маршруты**. Направляем все входящие вызовы на созданное приложение.\\ {{ :providers:2019-02-22_152227.png |}} ===== Способ 2 ===== 1. Подключите провайдера в MikoPBX согласно [[:providers|инструкции]].\\ \\ 2. Скопируйте в адресной строке ID провайдера, в нашем примере это **SIP-PROVIDER-B63EE3497989BF6597FF8C9DEC77EB49**\\ {{ :providers:2019-02-05_105038.png |}}\\ \\ 3. Перейдите в раздел **Система** -> **Кастомизация системных файлов**.\\ {{ :providers:many_hosts:2019-02-04_173507.png |}}\\ \\ 3. Откройте для редактирования конфигурационный файл **extensions.conf**. Установите режим "**Добавлять в конец файла**".\\ \\ 4. В черное окно добавьте следующий фрагмент кода:\\ [SIP-PROVIDER-B63EE3497989BF6597FF8C9DEC77EB49-incoming-custom] exten => _.!,1,NoOp(check time) same => n,ExecIfTime(00:00-09:00,mon-fri,*,*?Macro(playback-exit,/offload/asterisk/sounds/other/out_work_times)) same => n,ExecIfTime(18:00-23:59,mon-fri,*,*?Macro(playback-exit,/offload/asterisk/sounds/other/out_work_times)) same => n,return В выше приведенном фрагменте кода Вам необходимо составить правильное наименование контекста.\\ Формат создаваемого контекста:\\ [ID-ПРОВАЙДЕРА-incoming-custom] * **ID-ПРОВАЙДЕРА** - значение, которое вы сохранили на втором шаге данной инструкции. В нашем примере это **SIP-PROVIDER-B63EE3497989BF6597FF8C9DEC77EB49**. Рабочее время с 9.00 до 18.00. Следовательно необходимо задать два интервала для нерабочего времени: 00:00-09:00 и 18:00-23:59.\\ \\ Ниже красным цветом выделен фрагмент, который Вам необходимо изменить.\\ {{ :providers:2019-02-05_122005.png |}}\\ Более подробно разберём команду **ExecIfTime**. Эта команда выполняет указанное приложение Asterisk, если текущее время соответствует заданной спецификации времени. В нашем случае команда выполняет проигрывание звукового файла, расположенного в директории **/offload/asterisk/sounds/other/out_work_times** в MikoPBX.\\ Синтаксис команды: ExecIfTime(times,weekdays,mdays,months?appname[(appargs)]) * **times ** - Диапазоны времени в 24-часовом формате * **weekdays** - Дни недели (mon, tue, wed, thu, fri, sat, sun) * **mdays** - Дни месяца (1-31) * **months** - Месяцы (jan, feb, mar, apr и т. д.) * **appname[(appargs)]** - команда Asterisk с указанием параметров вызова В нашем примере указаны диапазон времени, диапазон дней недели. Вместо указания дней месяцев и месяцев введены *. Этот символ означает "для всех остальных случаев". ExecIfTime(00:00-08:00,mon-fri,*,*?Macro(playback-exit,/offload/asterisk/sounds/other/out_work_times))