Служебные сценарии


Служебные сценарии – это процедуры, выполняемые на сервере Oktell. В отличие от других типов сценариев, служебные не осуществляют руководства ни над линиями, ни над приложениями пользователей, поэтому имеют в своем распоряжении только общие компоненты с небольшим расширением для узкоспециализированных задач. Служебные сценарии могут обращаться в БД, посылать уведомления, осуществлять проверки, заниматься приемом и рассылкой SMS-сообщений и инициировать звонки.


Существуют несколько направлений, активно использующих служебные сценарии:

  • Обработка собранного по звонку контента. В ходе звонка по внешней линии сервер собирает так называемый контент, к которому относится вся информация о линии, абоненте, времени звонка и другая идентификационная информация, а также перечень действий произведенных за время звонка с абонентом и информация о всех коммутациях с подробным их описанием. Все сценарии, все операторы, с которыми был коммутировался абонент, будут перечислены с идентификаторами, именами, а также временем начала, временем конца и продолжительности коммутации. После завершения звонка собранный контент передается в виде параметра в запущенный служебный сценарий обработки контента. В служебном сценарии в компоненте «старт» при необходимости параметр сохраняется для дальнейшего пользования. В сценарии-обработчике контента есть возможность разобрать контент по составляющим для последующего сохранения в удобоваримом виде в БД, либо сохранить непосредственно в файлы в виде текста или XML документа.
  • Текстовые задачи на рассылку сообщений или обработку данных по абонентской таблице. После запуска такой задачи, прикрепленный к ней служебный сценарий осуществляет необходимые действия, чаще связанные с рассылкой сообщений по абонентам из прикрепленного списка. В зависимости от настроек задачи на каждого абонента может быть запущена отдельная реализация сценария (если информация персонифицирована), либо один сценарий, предполагающий массовую рассылку. Способ получения отчетов о доставке определяется и корректируется в сценарии. Флаг успеха и неуспеха также выставляется сценарием в установленное поле таблицы абонентов.
  • Активация контрольного события.
  • Запуск по таймеру служебных действий, определенных администратором системы.
  • Асинхронный запуск служебного сценария из других сценариев.
  • Сценарий дозвона, запускамый при соответствующих настройках менеджером задач или менеджером автодозвона для преобразования номера абонента в особую команду и отправки его в одну из указанных внешних линий или необходимое направление (например вывод мобильных на GSM-шлюз).
  • Преобразования строк.

Для каких бы действий ни использовался сценарий, ему на вход в компонент старт передается строковый параметр. В случае обработки контента – строка содержащая контент, для сценария преобразования номера в команду - начальный номер и т.д.


Служебные переменные:

  • Статус отправленного сообщения. Используется при автоматической обработке исходящей задачи в многопоточном режиме для определения состояний отправленных SMS-сообщений. Среди возможных значений 0 – не отправлено, 1 – отправлено, 2 – доставлено. В результате заполнения переменной менеджер задач принимает решение об успехе, необходимости повтора отправки, либо о необходимости получения отчета о доставке в автоматическом режиме в конце выполнения задачи.
  • PushId отправленного сообщения. В случае фиксации состояния «отправлено» необходимо указать PushId сообщения, чтобы активировать функцию получения отчета о доставке в автоматическом режиме.
  • Возвращаемое значение 1. Используется в сценариях, осуществляющих преобразования или некоторую логику управления. Например в сценариях преобразования номера в команду направления, где на вход в компонент старт передается номер, а итоговая команда возвращается через эту служебную переменную.
  • Возвращаемое значение 2. Используется в сценариях, осуществляющих логику управления. Например в сценариях поиска абонента для звонка по задаче.
  • Возвращаемое значение 3. Используется в сценариях, осуществляющих логику управления. Например в сценариях поиска абонента для звонка по задаче.