Встроенная функция сценария даёт доступ к данным системы в момент выполнения сценария. Функции задаются на вкладке «Функции» окна аргумента; значение вычисляется при обработке и подставляется в свойство текущего объекта. Обратиться к функции можно и из выражения — через ScriptFunc('полное название').
По направлению действия функции делятся на четыре группы: оперирующие конкретным звонком и обслуживающей линией, временные, общие серверные (определяющие состояния системы) и специальные функции конкретного типа сценария.
Обозначения в колонке «Типы»
IVR — сценарии IVR, Д — диалоговые, С — служебные, Все — доступна во всех типах. Функция, недоступная в текущем типе сценария, в списке не появится.
Время и дата
| Функция | Возвращает | Типы | Описание |
| Текущая дата | дата/время | Все | Текущая дата. |
| Текущее время | строка | Все | Текущее время. |
| Текущий год / месяц / день | число | Все | Соответствующая составляющая текущей даты. |
| Текущий день недели | число | Все | День недели, 1—7. |
| Текущий час / минута / секунда | число | Все | Соответствующая составляющая текущего времени. |
| Время в текущем сценарии | число | Все | Секунд, прошедших после запуска непосредственно текущего сценария. |
| Время в обработчике сценариев | число | Все | Секунд, прошедших после запуска текущей сессии сценариев. |
Сценарий и сессия
| Функция | Возвращает | Типы | Описание |
| Id сессии сценария | строка | Все | Уникальный код сессии сценария — строковое представление GUID. По нему идёт доступ к хранилищу глобальных переменных и формируются цепочки коммутаций при дозвоне. |
| Название текущего сценария | строка | Все | Название выполняемого сценария. |
| Случайное число | число | Все | Случайное число от 0 до 999999, равномерное распределение. |
Абонент и звонок
| Функция | Возвращает | Типы | Описание |
| Номер абонента (CallerId) | строка | IVR, Д | Для внешних линий — определитель номера абонента. Если номер не определён, возвращается строка «Номер не определен». |
| Набранный (внешний) номер (CalledId) | строка | IVR, Д | Номер, по которому дозвонился абонент — актуально для потоков E1. Если номер не определился, подставляется значение из свойства внешней линии. |
| XML-INFO абонента | строка | IVR, Д | Строка, сформированная внешним приложением и переданная вместе со звонком из интеграционного модуля SipClient. Может быть разобрана в сценарии и использована для произвольной маршрутизации. Вызов поступает на каналы шлюзов с типом регистрации «Входящие из COM-клиента». |
| Тип соединения | число | IVR, Д | Код направления вызова, см. таблицу ниже. |
| Id коммутации | строка | IVR, Д | Уникальный идентификатор коммутации. |
| Id цепочки коммутаций | строка | IVR, Д | Уникальный идентификатор звонка (сессии) внутри АТС Октелл. |
| Id sip-сессии | строка | IVR | По умолчанию — уникальный идентификатор SIP-сессии из поля «Call-ID». |
CallerId и CalledId на внутренних линиях
В IVR-сценарии эти функции ведут себя иначе, чем на внешних линиях.
CallerId возвращает номер обслуживаемого пользователя в виде строки, начинающейся с символа «U», — это прямой сервисный внутренний номер. Набрать его с телефона нельзя из-за спецсимволов, он служебный. Зато его можно подставить аргументом в компоненты со свойством «Внутренний номер получателя» — «Уведомление», «Голосовая почта» и другие.
CalledId возвращает номер, по которому был осуществлён вход в текущий сценарий из АТС. При звонке с IP-телефона, если набранный номер начинается с внутреннего номера входа в сценарий, функция вернёт всю последовательность. Пример: номер сценария 25, на IP-телефоне набрали 2511 — функция вернёт 2511.
Коды типов соединения
| Код | Направление |
| 1 | Звонок с внутренней линии на внешнюю (только диалоговый) |
| 2 | Звонок с внутренней линии в IVR |
| 4 | Звонок с внешней линии в IVR |
| 5 | Звонок с внешней линии на внутреннюю (только диалоговый) |
| 7 | Звонок из IVR на внешнюю линию (из задачи) |
| 8 | Звонок из IVR на внутреннюю линию (из задачи) |
Линия
| Функция | Возвращает | Типы | Описание |
| Guid-идентификатор линии | строка | Все | GUID обслуживаемой сценарием линии. |
| Номер линии | строка | Все | Номер линии по классификации АТС Октелл — 11001, 15049 и подобные. Список линий и их номеров — в модуле «Администрирование. Линии». |
| Код линии | строка | Все | Код линии, назначенный в модуле «Администрирование. Линии». |
| Тип линии | строка | IVR, Д | Число, определяющее тип линии, см. таблицу ниже. |
| Код направления | строка | IVR | Код первого найденного активного направления, в котором присутствует обслуживаемая линия. |
| Номер линии, ожидающей во Flash-буфере | строка | IVR | Номер линии абонента, ожидающего во Flash-буфере обслуживаемой линии. Иначе — пустая строка. |
| Номер линии, осуществившей переключение | строка | IVR | Если сценарий был переведён другой линией через Flash-удержание — её номер. Иначе — пустая строка. |
| Название активного фонового IVR-сценария медиа-взаимодействия | строка | IVR | Название фонового сценария медиа-взаимодействия, активного с текущей линией. Иначе — пустая строка. |
Функции линии в служебном сценарии
«Guid-идентификатор линии», «Номер линии» и «Код линии» формально доступны во всех типах сценариев, но в служебном возвращают непустое значение только в некоторых режимах — например, когда сценарий работает преобразователем CallerId на входящих вызовах. В остальных случаях рассчитывать на них нельзя.
Когда линия в нескольких направлениях
«Код направления» вернёт только первое найденное активное направление. Если линия назначена в несколько и нужно уточнить принадлежность к конкретному, пользуйтесь компонентом «Статус объекта».
Коды типов линии
| Код | Тип линии |
| 1 | Внешняя аналоговая |
| 2 | Внутренняя аналоговая |
| 3 | VoIP-канал |
| 4 | Внешняя GSM |
| 5 | IP |
| 6 | Канал потока E1 |
| 7 | Внешняя SIP |
| 8 | Внутренний транк на шлюз SIP |
| 11 | Внешний SIP-канал из потока шлюза с динамической регистрацией |
| 13 | Транк для межсерверного взаимодействия |
Пользователь, обслуживаемый в сценарии
| Функция | Возвращает | Типы | Описание |
| Guid-идентификатор пользователя | строка | IVR | Идентификатор пользователя, который обслуживается в сценарии. |
| Имя пользователя | строка | IVR | Имя обслуживаемого пользователя. Работает для внутренних линий всех типов, связанных с пользователем; для остальных — пустая строка. |
| Номер пользователя внутри АТС | строка | IVR | Внутренний стандартный номер, по которому можно дозвониться до обслуживаемого объекта. Для внешних линий — пустая строка. |
Как выбирается номер, если их несколько
Когда во внутреннем номерном плане несколько номеров ссылаются на обслуживаемый объект, будет выбран негрупповой — тот, в списке ссылок которого присутствует единственный объект, линия или пользователь. Если негруппового номера нет, берётся групповой с наименьшим значением: из 203 и 405 будет выбран 203.
Оператор
| Функция | Возвращает | Типы | Описание |
| Id оператора | строка | Д | Идентификатор текущего оператора в виде 00000000-0000-0000-0000-000000000000. |
| Имя оператора | строка | Д | Имя текущего оператора. |
| Внутренний номер оператора (Uguid) | строка | Д | Кодовое представление номера оператора, обслуживающего текущий звонок. Требуется компонентам «Уведомление», «Определение статуса» и другим, где указывается номер. |
| Хост оператора | строка | Д | Имя компьютера оператора, обслуживающего текущий звонок. |
Оператор может смениться по ходу сценария
В ходе обработки диалогового сценария операторы могут переключаться. Значение, полученное в начале сценария, к его концу может относиться уже к другому человеку — при необходимости читайте функцию повторно в нужной точке.
Проект, задача, абонент
| Функция | Возвращает | Типы | Описание |
| Id проекта / Название проекта | строка | Все | Идентификатор и название проекта текущей задачи, в ходе обработки которой запущен сценарий. |
| Id задачи / Код задачи / Название задачи | строка | Все | Идентификатор, код и название текущей задачи. |
| Параметр задачи | число | Все | Параметр запуска сценария, переданный из задачи. Попал туда в момент её создания из компонента «Задание на звонок». |
| Id абонента в списке | число | Все | Идентификатор абонента в прикреплённой таблице абонентов. |
Состояние системы
| Функция | Возвращает | Типы | Описание |
| Количество свободных внешних линий | число | IVR, Д | Число свободных внешних линий в активном состоянии. |
| Количество абонентов на набранном номере | число | IVR, Д | Сколько абонентов дозвонилось на тот же номер, что и текущий. Применяется для отсечения вызовов при превышении лимита подключений на конкретный номер. |
| Количество зарегистрированных операторов | число | Все | Операторов онлайн в call-центре — в свободном и занятом режимах, исключая перерывы. |
| Количество свободных операторов | число | Все | Операторов в свободном состоянии, готовых обработать вызов немедленно. |
Служебные сценарии: контрольные события
Функции заполняются, когда служебный сценарий запущен для обработки контрольного события.
| Функция | Возвращает | Описание |
| КС: идентификатор | строка | GUID контрольного события в строковом представлении. |
| КС: название | строка | Название контрольного события. |
| КС: идентификатор задачи | строка | GUID задачи, в которой событие обнаружено. |
| КС: идентификатор оператора | строка | GUID оператора, совершившего контрольное событие. |
| КС: показатель | число | Числовой показатель события. |
| КС: описание | строка | Дополнительное текстовое поле с деталями события. |
Служебные сценарии: кто запустил
| Функция | Возвращает | Описание |
| Инициатор запуска. Код типа | строка | Код модуля-инициатора запуска, см. таблицу ниже. |
| Инициатор дозвона. Тип | строка | Название модуля-инициатора в некоторых режимах: «КС», «Задача», «АДЗ», «Быстрый», «Экстренный», «Внутренний из конференции», «Внутренний из АДЗ». В прочих случаях — пустая строка. |
| Инициатор дозвона. Идентификатор (задача/пользователь) | строка | GUID контрольного события, задачи либо пользователя, запустившего автодозвон. В прочих случаях — пустая строка. |
| Инициатор дозвона. Имя (задача/пользователь) | строка | Название соответствующего контрольного события, задачи или пользователя. |
| Инициатор дозвона. Внутренний номер (пользователь) | строка | Для режима набора номера в автодозвоне — внутренний номер инициировавшего пользователя. В прочих случаях — пустая строка. |
Коды типов инициатора запуска
| Код | Модуль-инициатор |
| 10 | Контрольное событие |
| 11 | Дозвон из задачи на внешний номер |
| 12 | Автодозвон на внешний номер |
| 13 | Строковое преобразование |
| 14 | Запуск по инициативе клиентского приложения — из модуля администрирования, из плагина либо из внешнего интегрированного приложения |
| 15 | Набор быстрого номера |
| 16 | Набор экстренного номера |
| 17 | Набор внутреннего номера при приглашении в конференцию |
| 18 | Набор внутреннего номера из автодозвона |
| 19 | Прерывание вызова внутреннего номера в конференции |
| 20 | Обработка завершения конференции |
| 21 | Поиск абонента для голосовой задачи в режиме работы с таблицей абонентов через сценарий |
| 22 | Обработка завершения звонка или попытки звонка в голосовой задаче |
| 23 | Набор внешнего номера из конференции |
| 24 | Набор внешнего номера, указанного в стандартном внутреннем |
| 25 | Обработка завершения сессии внешнего канала — обработка контента линии по общему сценарию АТС |
| 26 | Обработка завершения сессии внешнего канала — обработка контента линии по сценарию задачи |
| 27 | Обработка веб-запроса к серверу на запуск сценария |
| 28 | Определение абонента при входящем вызове |
| 29 | Отправка SMS |
| 30 | Отправка e-mail |
Служебные сценарии: конференция
Функции заполняются при запуске сценариев, связанных с конференцией: набор номера, отмена набора, обработка завершения.
| Функция | Возвращает | Описание |
| Конференция. Идентификатор (Guid) | строка | GUID связанной конференции в строковом представлении. |
| Конференция. Код идентификатора (Int32) | число | Довольно уникальная числовая функция от GUID конференции. Годится для идентификации конференции при входе из IVR-сценария. |
| Конференция. Номер комнаты | число | Номер комнаты связанной конференции. |
| Конференция. Идентификатор участника (Guid) | строка | GUID связанного участника. Применяется при организации внешней очереди — чтобы привязать звонок к конкретному участнику, ожидающему ответа. Задаётся при наборе номера и отмене набора. |
| Конференция. Код идентификатора участника (Int32) | число | Числовая функция от GUID участника; используется так же, как и код конференции. |
Служебные сценарии: входные параметры
На старт служебного сценария передаются пять строковых входных параметров. Первый совпадает с параметром, сохраняемым в компоненте «Старт».
| Функция | Описание |
| Входной параметр 1 | Совпадает с параметром, сохраняемым в компоненте «Старт». |
| Входной параметр 2 | В сценариях преобразования CallerId содержит внешний номер (CalledId). Может быть установлен при запуске по инициативе плагинов и внешнего ПО через ядро клиентского уровня платформы; также передаёт служебную информацию в сценариях-триггерах, обработчиках и при наборе номера. |
| Входные параметры 3, 4, 5 | Устанавливаются при запуске по инициативе плагинов и внешнего ПО через ядро клиентского уровня платформы; используются для передачи служебной информации в сценариях-триггерах, обработчиках и при наборе номера. |