Компонент Пауза

Описание

Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания нулевого таймаута – компонент пропускается.

В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки. Для выравнивания визуального представления сценария, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.

Table 1. Системные характеристики

Индекс

103

Краткое название

pause

Типы сценариев

Все

Стартовый модуль

r_script_component_pause

Режим

Асинхронный

Иконка

103

Характер разветвления

Не разветвляющий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Время, мс
Код: timeoutMs
Усл. видимости: нет
По умолчанию: — 

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

Название: Очистить события
Код: flushEvents
Усл. видимости: нет
По умолчанию: Нет

Определяет поведение компонента с очередью необработанных событий.

Необработанные события накапливаются в очереди, если исполняемый во время поступления события компонент не призван их обрабатывать, и остаются в очереди до тех пор, пока очередной компонент не обработает их (или не завершится сценарий).
Обрабатывать события могут только асинхронные компоненты, то есть проводящие асинхронные операции и ожидающие событий.

К множеству рассматриваемых событий НЕ ОТНОСЯТСЯ события, обрабатываемые самой скрипт-машиной, например события межсценарного взаимодействия, подмены сценариев, завершения или подмены владельца и т.д.

К накапливаемым событиям относятся:

  • Входящие ДТМФ сигналы;

  • Входящие SIP-сообщения INFO;

  • Входящие SIP-сообщения MESSAGE;

  • Компонент ПАУЗА в режиме накопления собирает в очередь все прочие поступающие на обработку в компоненты события.

Возможные значения:

  • Нет (no,0) - необработанные события накапливаются и добавляется в конец текущей очереди необработанных событий, доставшейся от предыдущих комонентов.

  • Да (yes,1) - накопленные необработанные события сбрасываются, а новые не сохраняются вплоть до передачи управления следующему компоненту.

Использование компонента с нулевым таймаутом и режимом очистки очереди событий может применяться в тех местах сценария, где с точки зрения логики важно сбросить накопленные хвосты. Например введенные ранее DTMF сигналы.

Название: Сохранить состояние сценария
Код: storeState
Усл. видимости: нет
По умолчанию: Нет

Включение режима сохранения состояния сценария IVR для возможного дальнейшего восстановления разговора с продолжением обслуживания с сохраненной позиции.

Возможные значения:

  • Нет (no,0) - обычная пауза.

  • Да (yes,1) - производится сохранение состояния.

Применяется совместно с режимом sip_restore_enabled. Имеет смысл только для IVR сценариев.
Если состояние сценария не сохранялось, то при восстановлении разговора (в случае пропадания ноды IVR или падения сервера с нодой IVR) сценарий начнется с самого начала от момента маршрутизации сценария на фичакод.

Состояние включает весь стек вложенных вызовов, значения всех локальных переменных, стартовые параметры, хранилище, код сценария, номер компонента, время начала, счетчики и т.д.
Метаданные сценария не хранятся.
Исполнение начнется непосредственно с компонента, следующего за текущим компонентом 'Пауза', исполняющим сохранение.
Сценарий будет загружен из доменного центра, поэтому если он существенно изменился (сбились номера компонентов или отсутствует сохраненный номер компонента), то корректное продолжение выполнения будет невозможно.
Состояние может быть объемным, операция сохранения состояния не должна применяться после каждого компонента в длинных интенсивных циклах без пауз.

При завершении обработчика сценария сохраненное состояние автоматически удаляется из хранилища.
Сеанс вызова при восстановлении разговора сохраняется вне зависимости от того, сохранялось ли состояние сценария IVR.

Состояние сохраняется в объектное хранилище, управляемое микросервисом store.
Если количество сохранений заведомо большое, и микросервис store нагружается, следует его размножать на сайте.

Восстановленный экземпляр обработчика сценария утрачивает связь с временными файлами предыдущего обработчика, использованными им в макро-путях :TEMP и :LOCAL.
Функция getscriptref() нового экземпляра имеет новое значение.
Контекст может восстанавливаться произвольное количество раз.

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление.

См. также