# Axatel Cloud


# Регистрация

Прежде чем начать пользоваться сервисом нужно заключить договор

Перейдите по ссылке и заполните форму регистрации:

{% embed url="<https://bitrix24public.com/axata.bitrix24.ru/form/2_registratsiya_v_servise_aksatel/yuw537/>" %}

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


# Функционал Аксател

В этой статье приведены описания основных функций Axatel

## &#x20;                               100 + Функций Аксател

{% content-ref url="/pages/-MGCtEA-40BXt9x91EY3" %}
[Управление звонками](/o-prilozhenii-1/funkcional-aksatel/upravlenie-zvonkami)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCtM1QAnhALV0IzFXf" %}
[Прием звонков](/o-prilozhenii-1/funkcional-aksatel/priem-zvonkov)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCtRGPPlxV-XoigK\_2" %}
[Запись разговоров](/o-prilozhenii-1/funkcional-aksatel/zapis-razgovorov)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCtX2Sc\_m9GagAtXIn" %}
[Статистика и аналитика](/o-prilozhenii-1/funkcional-aksatel/statistika-i-analitika)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCtako76iHaigTtqTJ" %}
[Уведомления](/o-prilozhenii-1/funkcional-aksatel/uvedomleniya)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCth15NjVc0bU1yfbX" %}
[Конференц связь](/o-prilozhenii-1/funkcional-aksatel/konferenc-svyaz)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCtnaaPinL6uu\_8Nms" %}
[Селекторное совещание](/o-prilozhenii-1/funkcional-aksatel/selektornoe-soveshanie)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCttcUT2FP9ozF0CTK" %}
[Интеграция с другими системами](/o-prilozhenii-1/funkcional-aksatel/integraciya-s-drugimi-sistemami)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCu1LwBm76zb547MUi" %}
[WEB-интерфейс](/o-prilozhenii-1/funkcional-aksatel/web-interfeis)
{% endcontent-ref %}

{% content-ref url="/pages/-MGCuBps4XUExf1EFboH" %}
[API](/o-prilozhenii-1/funkcional-aksatel/api)
{% endcontent-ref %}

### &#x20;


# Управление звонками

Управление звонками может осуществляться как по отдельным номерам, так и по различным группам номеров.

### &#x20;Голосовое приветствие

Автоматическое приветствие клиентов в тот момент, когда они только позвонили в компанию, но еще не соединились с секретарем. Голосовое приветствие может состоять из проигрывания короткого сообщения о компании и ее услугах с последующим соединением с выбранным сотрудником или отделом, а также записыванием голосового сообщения. Параллельно с голосовым приветствием информация о звонке может сохраняться в вашей CRM системе.

### Расписание приема звонков

Настройка и распределение входящих звонков по расписанию работы сотрудников, отделов, филиалов или всей компании. В нерабочее время вы сможете перенаправлять звонки от клиентов на дежурного сотрудника, автоматически принимать факс или включить автоответчик. Ни один клиент не останется без ответа!

### Голосовое меню (многоуровневое)

Возможность для клиентов самостоятельно выбирать определенные действия при звонке в вашу компанию: соединиться с нужным специалистом или отделом, проверить свой баланс, получить дополнительную информацию или оставить голосовое сообщение. Сохраните драгоценное время своих клиентов и сотрудников!

### Селф сервисы

Система может получать информацию от клиента, распознавать ее и, в зависимости от смысла его слов, предпринимать дальнейшие действия. Во время входящего звонка она может персонализированно сообщить клиенту о готовности его товара, статусе его заказа, стадии отгрузки товара, состоянии его счета или сообщить другую интересующую клиента информацию из вашей клиентской базы или CRM-системы. С помощью Self-service клиент может обслужить себя сам, позволяя таким образом сэкономить время ваших сотрудников.

### Отделы - группировка сотрудников

С данной функцией можно правильно настроить входящие вызовы по каждому отделу компании: создавать отделы компании; вносить в них телефонные номера сотрудников (короткие и мобильные); назначать внутренний номер подразделения; настраивать внутреннее распределение звонков или переадресацию входящих вызовов.

### Интеллектуальная маршрутизация

Система позволяет в зависимости от различных факторов (время суток; день недели; наличие клиента в списке VIP; наличие клиента в черном списке; линия, на которую звонит клиент; сотрудник, ответственный за этого клиента; наличие у клиента непогашенных задолженностей) обслуживать вызов по определенному алгоритму, или перенаправлять звонок в то или иное подразделение.

### Распределение вызовов (4 алгоритма)

Функция позволяет распределять входящие вызовы четырьмя способами:&#x20;

* всем сразу (звонок раздается сразу у всех);&#x20;
* по очереди (звонок переходит от сотрудника к сотруднику);&#x20;
* случайно (сотрудник, которому будет направлен звонок, выбирается случайным образом);
* &#x20;случайно с приоритетами (при случайном распределении звонков есть возможность выбрать приоритетных сотрудников).

### Очередь звонков

Функция предназначена специально для нетерпеливых клиентов. С помощью нее все входящие звонки будут выстраиваться в очередь и удерживаться, пока освободившийся сотрудник не ответит клиенту. Во время дозвона автоинформатор попросит его “не вешать" трубку, оставаться на линии или заказать обратный звонок. Один сотрудник может входить в несколько очередей, а перед соединением с клиентом система проинформирует сотрудника, из какой очереди пришел клиент.

### Переадресация на мобильный

С помощью Виртуальной АТС выполняется переадресация входящих вызовов на мобильные телефоны сотрудников. Если необходимый специалист отсутствует на рабочем

### Заказ обратного звонка

Функция предназначена специально для нетерпеливых клиентов. С помощью нее все входящие звонки будут выстраиваться в очередь и удерживаться, пока освободившийся сотрудник не ответит клиенту. Во время дозвона автоинформатор попросит его “не вешать" трубку, оставаться на линии или заказать обратный звонок.

### Маршрутизация по наименьшей стоимости

Даёт возможность выбрать для каждого звонка наименее дорогой из возможных маршрутов междугородного или международного вызова. Есть возможность настроить отказоустойчивую маршрутизацию: если наименее дорогой канал недоступен, звонок будет осуществляться по следующему. Данный сервис позволит в значительной мере экономить на междугородних и международных разговорах всей компании. Так же возможна настройка блокировки любого из абонентских номеров при "выходе" на межгород, международную связь.

### &#x20;Исходящая маршрутизация

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

### Автоответчик

Клиенты часто звонят в компанию в нерабочее время или поздний час (перепутав время, или в надежде, что сотрудники задержались на работе). С помощью данной функции во время входящего звонка автоинформатор предложит клиенту оставить голосовое сообщение, чтобы менеджер смог ему перезвонить, когда это будет возможно. Голосовое сообщение от клиента также можно перевести в текстовый формат и отправить на почту сотрудника либо сохранить в CRM-системе.

### Перехват вызова

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

### Ограничение исходящих звонков

Если вы не желаете, чтобы ваши сотрудники с рабочего телефона совершали исходящие звонки на некоторые телефонные номера, можно настроить для них ограничения на внутренние, городские, мобильные, спутниковые и междугородные номера, включая разные регионы. Также можно разрешить сотрудникам совершать исходящие звонки только из CRM-системы, исключая возможность использовать рабочий номер в личных целях.

### Черный список

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

### Настройка исходящего АОНа (не для РБ)

При исходящих звонках клиентам или партнерам, в их телефонах будут определяться те номера, которые вы сами установите. Это может быть: основной номер компании, персональные номера менеджеров или отделов, региональные номера офисов или номера, используемые в рекламных кампаниях.

### Короткая нумерация

Для удобного общения по телефону внутри компании и упрощения дозвона клиентов до необходимого специалиста или отдела установите для сотрудников короткие телефонные номера, состоящие из нескольких цифр. Настроить короткий номер телефона для каждого сотрудника можно прямо из меню Виртуальной АТС. Также можно настроить короткие номера для постоянных клиентов или партнеров компании.

### План маршрутизации

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

### Интерком

Оконечное устройство (voip-телефон или программный телефон) автоматически включаются на "громную связь" при входящем вызове со стороны вызываемого абонента.

### Вторжение

Вторжение в разговор - подключение к разговору абонентов в любой необходимый момент с возможностью говорить с любой из сторон. Параллельный разговор можно вести как с одной, так и с обоими абонентами сразу.

### Срочный звонок

Срочный звонок - функция позволяющая поставить текущий звонок сотрудника на удержание и начать звонок, осуществляемый через вторжение.

### Парковка / Взятие с парковки

Необходимость припарковать входящий звонок во временный слот, не теряя «горячего» клиента или важного партнера, возникает в офисе каждой компании. Вместо того, чтобы просить клиента перезвонить или переадресовывать его на другой номер, достаточно направить вызов в слот с номером, а затем, забрав из слота, продолжить общение.

### Голосовая почта

Ваши пользователи вовремя получат голосовые сообщения при отсутствии на рабочем месте, так как записи сообщений будут переданы им на электронную почту. Функция MWI позволит отобразить на телефоне кол-во новых сообщений по мере их поступления.

Хранение почты на корпоративном IMAP почтовом сервере позволяет реализовать идею универсального обмена сообщениями в вашей компании. Сотрудники получат возможность в удобной форме просматривать и сортировать пришедшие им сообщения прямо в почтовом клиенте. Сотрудников можно также обеспечивать правами доступа к голосовым ящикам других сотрудников.

### Прямая линия

Прямая линия наилучший способ подключения устройств которым не нужно работать через IVR, и требуется быстрое соединение с абонентом (например факс, экстренная служба).

### Быстрый набор

С помощью IP-оборудования можно настроить короткие номера, как для сотрудников компании, так и для клиентов и партнеров. Это обеспечит удобное общение по телефону внутри компании и упрощение дозвона клиентов до необходимого специалиста или отдела.

### Автосекретарь

Клиенты часто звонят в компанию в нерабочее время или поздний час (перепутав время, или в надежде, что сотрудники задержались на работе). С помощью данной функции во время входящего звонка автоинформатор предложит клиенту оставить голосовое сообщение, чтобы менеджер смог ему перезвонить, когда это будет возможно. Также автосекретарь может принимать входящие звонки, спрашивая у клиента, кому из сотрудников он звонит и предлагая ему представится. Далее система свяжется с менеджером и передаст данные клиента. Если менеджер готов ответить на звонок, система соединит его с клиентом, если нет, предложит клиенту оставить голосовое сообщение.

### Настройка Fax-to-e-mail и E-mail-to-fax

С помощью функции можно настроить прием факсимильных сообщений от клиентов, которые будут пересылаться на e-mail выбранных сотрудников. В профиле сотрудников можно указать их e-mail, чтобы они могли получать такие сообщения. Также можно настроить пересылку факса на внешний e-mail.

### Звонок по одному клику

Выполнение звонков клиентам прямо из их карточки в CRM-системе, кликнув один раз на номер телефона. При этом у клиента в телефоне будет отображаться телефон компании, а сотрудник будет видеть полную информацию обо всех входящих или исходящих звонках.

### text-to-speech и speech-to-text

Технология позволяет синтезировать написанный вами текст в речь для того, чтобы робот зачитывал его при выполнении автоматических звонков клиентам по заданным параметрам. Также система автоматически распознает ответы клиентов и переводит их в текст, который может фиксироваться в карточке клиента в CRM-системе.

### Виджет обратного звонка (перезвоним за 26 секунд) (отдельная статья для ф-ции)

Callback-сервис -  дополнительная функция виртуальной АТС, которая позволит посетителям вашего сайта заказывать обратный звонок. Для этого на сайте размещается специальная кнопка.

Настраиваемый вид. Адаптивный дизайн. Отсутствие переадресации (все осуществляется внутри ВАТС)


# Прием звонков

### Axatel microsip

MicroSIP - портативный SIP-телефон на основе стека PJSIP. MicroSIP позволяет осуществлять исходящую связь, входящую связь, внутреннюю и конференц-связь. MicroSIP соответствует всем стандартам, не требует большого количества ресурсов для работы и устанавливается на любую ОС.

### &#x20;Поддержа SIP - программ

Если вы пользуетесь своими VoIP-программами для осуществления и приема звонков (например, Express Talk VoIP Softphone, Jitsi, QIP, X-Lite 5, Zoiper и др.), то их можно без проблем соединить с Виртуальной АТС Axatel.

### Поддержка SIP - телефонов

Ниже приведен список моделей телефонов, которые возможно подключить к Axatel. Если у вас еще нет таких телефонов, наши технические специалисты посоветуют вам подходящие модели.

Поддерживаемые модели оборудования:

{% tabs %}
{% tab title="Gigaset" %}

* Gigaset A510
* Gigaset C530
* Gigaset A540
* Gigaset C610
  {% endtab %}

{% tab title="Cisco" %}

* Cisco SPA303
* Cisco SPA504G
  {% endtab %}

{% tab title="Grandstream" %}

* &#x20;Grandstream DP715
* Grandstream DP750
* &#x20;Grandstream GXP1400
* &#x20;Grandstream GXP1405
* &#x20;Grandstream GXP1610
* &#x20;Grandstream GXP1615
* &#x20;Grandstream GXP1620
* &#x20;Grandstream GXP1625
* &#x20;Grandstream GXP2100
* &#x20;Grandstream GXP2130
* &#x20;Grandstream GXP2160
  {% endtab %}

{% tab title="MANGO" %}

* MANGO DP750
* MANGO T21E2
  {% endtab %}

{% tab title="Panasonic" %}

* Panasonic KX-TGP500
* Panasonic KX-TGP600
* Panasonic KX-HDV100
* Panasonic KX-HDV130
* Panasonic KX-HDV230
* Panasonic KX-HDV330
  {% endtab %}

{% tab title="Yealink " %}

* Yealink SIP-T19E2
* Yealink SIP-T20(P)
* Yealink SIP-T21(P)
* Yealink SIP-T21(P)E2
* Yealink SIP-T22(P)
* Yealink SIP-T23(P)
* Yealink W52
  {% endtab %}

{% tab title="Fanvil" %}

* Fanvil X3S
* Fanvil X3SP
* Fanvil X4
  {% endtab %}

{% tab title="Snom" %}

* Snom D120
* Snom D710
  {% endtab %}
  {% endtabs %}

### Отображение статусов (BLF)

BLF (Busy Lamp Field) - отображение статуса абонента (свободен / занят/в дозвоне/нет регистрации) на вашем компьютере телефоне. Выбранным сотрудникам можно подключить телефоны со специальной консолью секретаря, на которой будет отражен статус их линий в реальном времени.

### Softphone для CRM (WEB RTC)

Создание встроенного софтфона на страницах внутренних кабинетов, в интерфейсе CRM-систем и на других аналогичных сервисах вашей компании. В данном случае сотруднику не нужно дополнительное оборудование для осуществления звонков, кроме компьютера и гарнитуры. С помощью исполнительных файлов SDK вы сможете сконструировать свой внутренний и сопряженный с Виртуальной АТС софтфон.

### SIP FXS шлюзы

Ниже приведен список моделей FXS шлюзов, которые возможно подключить к Axatel. Если у вас еще нет шлюзов, наши технические специалисты посоветуют вам подходящие модели.

Поддерживаемые модели оборудования:

1. DINstar
2. Eltex
3. Yeastar

### SIP FORKING

Благодаря SIP forking (ветвлению SIP вызова), вы получаете входящий вызов одновременно на настольный IP телефон, на программный телефон на ПК и на софтфон, установленный на смартфоне. Ваш настольный SIP телефон и [SIP телефон для Android](https://www.3cx.ru/ip-pbx/android-ios-voip/) зазвонят одновременно, и вы снимете трубку на том устройстве, где вам удобно. Другой вариант использования SIP Forking – параллельный звонок на телефон руководителя и секретаря. Теперь секретарь может отвечать за руководителя, когда его нет на месте. Для этого не нужно создавать никаких специальных правил перевода вызова.


# Запись разговоров

### Стереозапись в раздельных каналах

Система производит запись разговоров и конференций. Каждый разговор пишется в 1 файл в стерео режиме, где абонент А и абонент Б в разных каналах. Конференция также пишется целиком в один файл. Запись файлов осуществляется без преобразования кодеков, что в итоге не позволяет воспроизводить их без специального преобразования. Таким преобразованием занимается микшер. В фоновом режиме микшер осуществляет сжатие, объединение файлов в один и преобразование к одному из стандартных форматов (MP3, WAV) в одном из стандартных кодеков (PCM, G711a, G711u, GSM610, MPEG layer-3).

### Выбор форматов

Сжатие позволяет экономить дисковое пространство - минута запакованного разговора в формате MP3 16 Kбит/s занимает около 120 КБ, 8 Kбит/s - 60 КБ. В зависимости от настроек микшер осуществляет упаковку сразу после завершения разговора или в выделенные для этой операции часы дня и дни недели.

### Выгрузка записей в S3

S3 хранилище – это сервис хранения объектов, предлагаемый поставщиками облачных услуг. Основное преимущество решения – возможность хранить файлы любого типа, любого объема, с высоким уровнем надежности и доступности. S3 хранилище может принадлежать клиенту и располагаться на его мощностях, таким образом записи разговоров будут храниться в периметре безопасности самого клиента. Есть также возможность настроить определенное время хранения записей для определенных звонков.

### Склейка записей

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

### Выгрузка в любые системы

На обработку и сохранение звонка требуется несколько минут. После этого запись прикрепляется к карточке звонка и доступна для прослушивания. Система формирует публичную ссылку для скачивания и передачи в другие системы. Запись разговора также может предоставляться клиентам для прослушивания и скачивания.


# Статистика и аналитика

### История звонков

В интерфейсе Виртуальной АТС отображается вся история по входящим, исходящим и неотвеченным звонкам. По каждому вызову можно увидеть следующую информацию: ожидание ответа; начало и длительность переговоров; номер, через который поступил вызов; имя сотрудника, принявшего звонок и номер клиента.

### Запись разговоров

Запись и хранение разговоров позволит иметь полную информацию о всех звонках. Вы сможете проанализировать эффективность общения сотрудников, узнать их ошибки и обучить персонал на примере удачных телефонных переговоров. Запись звонков можно прослушать прямо в интерфейсе Виртуальной АТС, скачать файл или скачать архив всех звонков.

### Статистика по входящим, исходящим и пропущенным

В интерфейсе Виртуальной АТС можно увидеть статистические данные по всем звонкам (входящим, исходящим и пропущенным), которые группируются по дням, неделям и месяцам. Статистика отображается в виде таблицы, диаграммы или графика. Также данные можно скачать в файле формата excel.

### Статистика по менеджерам

По каждому сотруднику компании в интерфейсе Виртуальной АТС отображается подробная статистика по звонкам и определяется их рабочая активность. Система автоматически подсчитывает и отображает количество входящих/исходящих/пропущенных звонков и общую продолжительность разговоров всех сотрудников.

### Выгрузка данных

Для удобного просмотра и использования статистической информации по звонкам в Виртуальной АТС предусмотрена возможность скачивания отчетов по статистике и истории звонков в формате excel. Необходимо выбрать, за какое время требуется отчет, и нажать на кнопку со значком excel для скачивания.

### Рейтинг сотрудников

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

### Оперативная статистика

&#x20;Статистическая информация о статусе оператора (с кем разговаривает, находится на линии и т.д.)


# Уведомления

### SMS-визитка

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

### SMS-извинение за пропущенный

SMS-извинение - это простой способ удержать клиента и сгладить ситуацию, когда ему не удалось дозвониться до ответственного менеджера. После пропущенного звонка клиенту автоматически отправляется SMS с текстом извинения или любой другой информацией, которую вы сами напишите в интерфейсе АТС.

### Уведомление о пропущенных

С помощью данной функции можно настраивать уведомления о пропущенных звонках вашим сотрудникам, чтобы не потерять ни одного клиента. Сотрудники смогут получать автоматические уведомления о пропущенных звонках от клиентов по SMS на мобильный телефон, на e-mail или в мессенджер Telegram.

### Уведомление о состоянии баланса

Благодаря функции “Уведомление о состоянии баланса” в Виртуальной АТС Аксател, нашим клиентам не придется обращаться в компанию или заходить в личный кабинет, чтобы проверить свой счет. Короткое SMS сообщит каждому клиенту о наличии средств или необходимости их внесения. Сообщения могут приходить не только по SMS, но и на e-mail.

### Подключение смс провайдера

С помощью метода sendSMS возможна рассылка СМС одному или нескольким адресатам из  Аксател.

### Получение СМС от клиентов

Благодаря функции “Получение СМС от клиентов” нашим клиентам не придется перезванивать менеджеру после пропущенного звонка или полученного СМС. Достаточно будет отправить СМС о подтверждении полученной информации.


# Конференц связь

Конференция - динамически создаваемая комната, в которую могут позвонить все, у кого есть права доступа на это, и которая собирается по необходимости с вариативным числом участников. При этом, никто,

### Трехсторонние конференции с телефона

Возможность организовать конференц-связь на своем настольном телефоне. Максимальное количество участников конференц-связи  - три, включая Вас. При создании конференц-связи создаются два независимых разговора (эту функцию должен поддерживать телефон).

### Многосторонняя конференция на сервере

Динамически создаваемая комната, в которую могут позвонить те, у кого есть права доступа на это, создаваемая в нужное для Вас время.


# Селекторное совещание

собирает система, селектор предварительно преднастроен, в селекторе есть ряд событий, которые происходили. также селектор - это периодическое событие (например, еженедельное совещание главных инженер

Селекторное совещание собирается системой.\
&#x20;Селектор предварительно преднастроен, есть ряд событий, которые происходили.\
Селектор является периодическим событием\
(например, еженедельное совещание главных инженеров).<br>

### Три режима каждого абонента (любое количество каждого типа)

* ведущий (все его слышат)
* слушатель (слышит только ведущих)
* ассистент (только ведущие его слышат)

### Голосование

* получение dtmf ответов
* логирование
* возможность проведения массовых персонализированных голосований

### Автосбор участников

Автоматическое подключение к совещанию всех выбранных абонентов из списка.

### Автоматическое переподключение абонентов

Автоматическое переподключение к совещанию при обрыве связи

### Запись селекторного совещания

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


# Интеграция с другими системами

### Список интеграций

Установка виджета, который позволяет выполнять звонки прямо из интерфейса CRM-системы. Виджет подходит для всех популярных CRM - AmoCRM, ПланФикс, Клиентикс, Usedesk, 1С: Управление небольшой фирмой, PrimeGate,RetailCRM, Мегаплан, YCLIENTS, Битрикс24, Roistat и др.

* Active Directory / LDAP
* CRM - Битрикс24

### Звонок по одному клику

Выполнение звонков клиентам прямо из их карточки в CRM-системе, кликнув один раз на номер телефона. При этом у клиента в телефоне будет отображаться телефон компании, а сотрудник будет видеть полную информацию о предыдущих о всех входящих или исходящих звонках

### Запись разговора в CRM

При входящем или исходящем звонке в CRM-системе автоматически включится запись разговора, которая сохранится в виртуальной АТС. Запись будет осуществляться, даже, если компьютер сотрудника будет выключен. После разговора с клиентом, его запись можно в любой момент прослушать из карточки клиента или скачать в формате mp3.

### Перевод звонка ответственному

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

### Создание карточки клиента

При новом входящем или исходящем звонке, который совершает сотрудник компании, в CRM-системе автоматически создается карточка клиента (контакта), куда можно записывать все необходимые данные. Новая карточка позволяет работать с лидами, сделками или контактами прямо в CRM. При создании карточки, туда автоматически вносится номер телефона.

### Отображение имени клиента

При входящем вызове в компанию в интерфейсе CRM-системы будет отображаться имя звонящего клиента. Менеджер будет сразу видеть, кто звонит, и ему понадобиться меньше времени для подготовки к разговору с клиентом.

### Источник звонка (сайт 1, сайт 2)

В CRM-системе имеется возможность устанавливать определенное название на каждый номер телефона вашего интернет-магазина. При входящем и исходящем звонке происходит автоматическое определение номера и отображается название магазина. Это позволит вашим сотрудникам не ошибиться с определением запроса клиента.

### Авто выбор АОНа при звонке

Чтобы ваши клиенты при входящем звонке видели на своем телефоне номер компании, в Виртуальной АТС предусмотрена функция, которая позволяет устанавливать необходимый телефонный номер прямо в CRM-системе. При звонке клиенту будет отображаться именно тот телефонный номер, который вы настроите.

### Автообзвон контактов

Благодаря интеграции Виртуальной АТС с CRM-системой, можно выполнять автоматический обзвон по списку контактов, сохраненному в CRM. При этом для автообзвона имеется возможность выбора определенных телефонных номеров. При соединении с клиентом в CRM открывается его карточка.

### Колл-трекинг

Колл-трекинг с подключенной к нему Виртуальной АТС, показывает полную картину по всем входящим вызовам. При этом для разных каналов продвижения могут быть использованы любые телефонные номера. В CRM отображается: средняя продолжительность привлеченных звонков, поступивших по различным каналам; количество звонков по географическому положению и многое другое.

### Статистика рекламы

Удобный просмотр из CRM-системы статистики по входящим звонкам, поступающим с рекламных объявлений, включая среднюю продолжительность привлеченных звонков, общее количество звонков по географическому положению и многое другое.

### Карточка звонка

✔ Основная информация о клиенте во время вызова и разговора

✔ Быстрый переход к детальной информации и сделкам клиента

✔ Быстрое создание сделки и счета клиенту

✔ Комментарий к текущему разговору

### Создание звонков в  CRM

✔ Для каждого разговора в CRM создается дело

✔ Возможно прослушать запись разговора

✔ Фиксируется длительность каждого разговора

✔ Возможно построение необходимой отчетности по разговорам менеджеров

✔ Можно направить входящие вызовы на ответственных за клиента сотрудников

### Звонки прямо из CRM

Вы можете быстро позвонить интересующему вас клиенту:

✔ Кликом по номеру телефона в карточке клиента

✔ Вводом номера во встроенном виджете Битрикс24

### Автоматическое создание лидов

* Автоматически создается лид для неизвестного номера
* Возможно указать разные источники лидов исходя из того, на какой номер телефона к вам позвонили

### Фиксация пропущенных звонков

✔ Для неизвестных номеров автоматически создаются лиды

✔ Для клиентов автоматически создаются события пропущенного звонка на ответственных сотрудников

IP телефония обеспечивает:

* Совершение и принятие вызовов по IP-каналам;
* Переадресацию;
* Уведомления о заказе встречных звонков, пропущенных звонков, постановке звонка в очередь;
* Записи и  прослушивание разговоров;
* Идентификацию абонента;
* Обработку и хранение информации о взаимоотношениях с клиентами;
* Статистику соединений.

### 1С

&#x20;IP телефония обеспечивает:

* Совершение и принятие вызовов по IP-каналам;
* &#x20;Переадресацию;&#x20;
* Уведомления о заказе встречных звонков, пропущенных звонков, постановке звонка в очередь;&#x20;
* Записи и прослушивание разговоров;
* &#x20;Идентификацию абонента;&#x20;
* Обработку и хранение информации о взаимоотношениях с клиентами;&#x20;
* Статистику соединений.

**АМО**

Контакт&#x44B;**:**

* &#x20;всплывающая карточка с именем контакта
* &#x20;прикрепление звонков в карточку контакта&#x20;
* направление звонков ответственному в карточке&#x20;
* набор кликом по номеру контакта

&#x20;Взаимодействия

&#x20;набор кликом по номеру покупателя amoCRM контакты

&#x20;Компании

* всплывающая карточка с названием компании
* &#x20;прикрепление звонков в карточку компании
* &#x20;направление звонков ответственному в карточке
* &#x20;набор кликом по номеру контакта&#x20;

ЖУРНАЛ

* просмотр журнала звонков в CRM
* &#x20;фильтрация звонков по входящим и исходящим
* &#x20;прослушивание и скачивание записей разговоров
* &#x20;лучший поиск через плагин Phonet для Google Chrome amoCRM компании

&#x20;СДЕЛКИ

* неразобранная сделка после пропущенного звонка от нового клиента&#x20;
* неразобранная сделка после звонка по которому не создана карточка&#x20;

ЗАДАЧИ

&#x20;задача по пропущенному звонку от клиента amoCRM сделки

&#x20;WEBRTC

* звонить из amoCRM
* История
* Отправка СМС
* Настройка&#x20;
* Регистрация&#x20;
* Черный список
* Поддержка
* Входящий вызов


# WEB-интерфейс

### Личный кабинет сотрудника

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

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

Также есть история платежей, в которой указан тип платежа, номер счета и дата зачисления.

Кабинет бухгалтера.  Счета фактуры и акты формируются для оплаты сервиса автоматически. Так же возможна оплата разовых услуг. Оригиналы отправляются заказным письмом на ваш почтовый адрес. Есть возможность запретить доставку почты. Копии документов отправляются по email адрес, указанный при регистрации. В этом разделе пользователь может скачать счета и акты самостоятельно.

### Панель настройки ВАТС

Простая и удобная настройка параметров работы Виртуальной АТС в одном окне: добавление сотрудников; назначение коротких номеров; включение переадресации; формирование отделов; установка расписания, автоответчика, голосового приветствия; настройка уведомлений и многое другое.

### Графическая настройка IVR

Система графического редактирования позволяет быстро перенастраивать пути

прохождения вызова и менять логические принципы маршрутизации при прохождении

вызовом разветвительных логических узлов.

### Роли пользователей

С помощью данной функции можно установить для каждого сотрудника свою учетную запись: администратор – осуществляет управление всеми настройками виртуальной АТС; пользователь – наблюдает статистику вызовов по всей компании; ограниченный пользователь – видит статистику только своих звонков.

### Загрузка мелодии вместо гудков

Функция позволяет использовать приятную мелодию вместо гудков, когда клиент дозванивается в вашу компанию или ожидает на линии. Для этого вы сможете выбрать стандартную музыку, загрузить свою мелодию или рекламное сообщение. В памяти Виртуальной АТС можно сохранить любой звуковой файл в формате mp3.

### Расписание работы офиса

* В таблице рабочего времени устанавливается режим работы офиса.
* В таблице задаются рабочие и выходные дни на указанный год.

Например, В компании пятница — сокращенный день. В этом году предпраздничный день 8 мая выпал на среду и вам необходимо установить сокращенный день. Для этого выберите 8 мая в календаре и установите для него "Рабочий по пятнице".


# API

#### Канал подписки на события

\
Внешняя система может подписаться на событие по звонкам и получать всю информацию по текущим звонкам, на которые она подписалась.<br>

#### Открытый API

\
Публичный канал для интеграции любых внешних систем. Возможность интегрировать любой сервис с Виртуальной АТС самостоятельно


# SLA

Описание уровня сервиса

ЧП   «Аксата»   оказывает   сервис   «Аксател»   в соответствии   со   следующими   качественными показателями:

Сервис предоставляется круглосуточно – 7 дней в неделю, без выходных.

Техническая   поддержка   предоставляется   при   условии,   включенного   модуля   технической поддержки в панели управления, в рабочие дни ИСПОЛНИТЕЛЯ с понедельника по пятницу с 9:00 до 18:00 (GMT+3) исключая праздничные дни, по телефону «+375291554499» (тут только цифровые каналы) или по телефонам, опубликованным на сайте ИСПОЛНИТЕЛЯ.

{% content-ref url="/pages/-MBz1pZA0o8fGBtaBulN" %}
[Порядок обращения в службу технической поддержки](/tekhnicheskaya-podderzhka/poryadok-obrasheniya)
{% endcontent-ref %}

ИСПОЛНИТЕЛЬ обязуется заранее уведомлять о возможных технических работах, а также предоставлять отчеты о сбоях, на электронную почту ЗАКАЗЧИКА.

ИСПОЛНИТЕЛЬ обязуется осуществлять круглосуточный автоматизированный мониторинг оборудования, находящегося в зоне ответственности ИСПОЛНИТЕЛЯ.

ЗАКАЗЧИК вносит изменения в настройки сервиса через панель управления, или по телефону через техническую    службу    ИСПОЛНИТЕЛЯ        по   сервисному   номеру    «+375291554499»    с телефона (тут только цифровые каналы)

Изменения в сервис вносятся сразу, за исключением случаев, когда изменение невозможно осуществить через стандартные инструменты представленные в панели управления.

Доступность серверов ИСПОЛНИТЕЛЯ на период предоставления сервиса:

* Допустимое время 1-го простоя – не более 60 минут;
* Допустимые интервалы между простоями – не более 15 минут;
* Допустимое количество простоев в сутки – не более 2;
* Допустимое количество простоев в месяц – не более 5;
* Доступность сервиса составляет не менее 99,9% в год;

Все разногласия по техническим вопросам решаются техническими специалистами сторон, в письменной форме


# Порядок обращения в службу технической поддержки

Служба технической поддержки Axatel работает с 09.00 до 18.00 (GMT+3) в будние дни.

Вы можете обратиться в службу технической поддержки одним из следующих способов:

## **Онлайн-чат**

\
Онлайн-чат доступен из веб-интерфейса Axatel и сайта <http://axatel.by/>

{% hint style="info" %}
Вопросы на изменение или добавление функционала рассматриваются только от пользователей прошедших авторизацию в личном кабинете Axatel или по электронной почте с корпоративного адреса.
{% endhint %}

\
Для того, чтобы написать в чат, войдите под вашей учетной записью в веб-интерфейс Axatel.

![](/files/-MF0NQJeuqJy3mD37Hxy)

Откройте любой раздел.\
В нашем примере мы переходим в раздел **Монитор**.

<br>

![](/files/-MF0NQJfEKPqlFI0MXaE)

В нижнем правом углу, нажмите на иконку ![](/files/-MF0NQJgPJPOjwfZnOBA)

![](/files/-MF0NQJhoxhuTIW99OvM)

В открывшемся контекстном меню выберите Онлайн чат.

![](/files/-MF0NQJiLpnz55eBNflP)

Введите ваш вопрос в открывшемся окне и нажмите на клавишу Enter.

![](/files/-MF0NQJjQhTHYpRw8LTz)

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

![](/files/-MF0NQJk3bXtNFEMmj4I)

## **Telegram**

В приложении **Telegram** на мобильном телефоне или компьютере, наберите в поисковой строке **Axatel\_Bot** или перейдите по ссылке **//telegram.me/Axatel\_bot**

![](/files/-MF0NQJl91KW9gI5vSck)

В открывшемся окне, нажмите на кнопку **Start** чтобы начать общение.

![](/files/-MF0NQJmPsTdTYizu5cI)

После этого онлайн-поддержка будет ожидать вашего вопроса.

![](/files/-MF0NQJnXEwI8xhZiC2B)

## **Viber**

Для обращения в онлайн-поддержку из приложения Viber, перейдите по следующей ссылке:

<viber://pa?chatURI=axatel>

В приложение будет добавлен чат-бот Axatel.

![](/files/-MF0NQJoHkG_SQHZYrh1)

\
Напишите ваше сообщение в чат и дождитесь ответа от консультанта.

![](/files/-MF0NQJps7SyRB0mxv4I)

## **WhatsApp**

Для того чтобы связаться со службой технической поддержки Axatel с помощью WhatsApp, добавьте номер +375293027043 в ваш список контактов.

После этого просто напишите контакту Axatel.

![](/files/-MF0NQJqUIhDjIxCn4DD)

## **Электронная почта**

Для получения консультации по технически сложному вопросу, вы можете написать нам на электронную почту - <sd@axata.by>


# Удаленная помощь TeamViewer

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

{% content-ref url="/pages/-MBz1pZA0o8fGBtaBulN" %}
[Порядок обращения в службу технической поддержки](/tekhnicheskaya-podderzhka/poryadok-obrasheniya)
{% endcontent-ref %}

Для того чтобы открыть удаленный доступ к своему рабочему месту, достаточно выполнить несколько шагов:

1. Перейдите по следующей ссылки для загрузки приложения Teamviewer Quick Support\
   <https://get.teamviewer.com/axatel>

{% hint style="info" %}
После перехода по ссылке загрузка приложения начнется автоматически.
{% endhint %}

![](/files/-MFAbVHAxnnlB-swXTX2)

2\. Запустите загруженный файл и согласитесь на запуск если потребуется.

![](/files/-MFActJtfISE_fk_yBMT)

3\. Сообщите сотруднику технической поддержки **код сеанса.**

![](/files/-MFAdHqAFoU7YhGRu1Hh)

4\. Разрешите удаленное подключение к вашему рабочему столу.

![](/files/-MFAikN4R4IYzZDCFM2M)

5\. Сотрудник технической поддержки будет подключен к вашему рабочему столу и вы сможете видеть, что он делает.

![](/files/-MFAj9YbULEplkYE99v4)


# IP-телефон


# Настройка телефонов Yealink серии T

Перед настройкой телефона необходимо узнать IP-адрес для подключения к веб-интерфейсу телефона.\
Для этого на телефоне нажмите кнопку ОК.

![](/files/-MEqr-tRIV7FNUBPCIM9)

На экране телефона появится информация о текущем IP-адресе, MAC-адресе и версии ПО.<br>

![](/files/-MEqr-tS__iuqlQvkzW3)

Введите IP-адрес телефона в адресную строку бразуера для подключения к веб-интерфейсу.

![](/files/-MEqr-tTq6NBLhDQiqzm)

В открывшемся окне введите логин – **admin**, пароль – **admin** и нажмите на кнопку **Авторизация**.

![](/files/-MEqr-tU5xf56dTygzC7)

Перейдите на вкладку **Аккаунт**.

![](/files/-MEqr-tVJn1jdLCX4AkX)

В открывшемся окне задайте следующие параметры:

![](/files/-MEqr-tWYZUZkBlot_OA)

**Активная линия –** Выбрано\
**Лейбл** - Axatel

**Отображаемое имя –** имя которое будет высвечиваться у вас на экране

**Имя регистрации** – имя учетной записи

**ID пользователя** – такой же как и имя регистрации

**Пароль** – пароль учетной записи

**Адрес Sip-сервера** – название\_проекта\_номер сервера.axatel.by

**Транспорт** – UDP

**Таймаут сервера** – 60

**Количество запросов** – 3

**Outbound Proxy Server 1** – номер\_сервера.axatel.by

Нажмите на кнопку **Сохранить** для сохранения настроек.

Если данные введены верно, то в поле **Статус регистрации**, вы увидите статус **Зарегистрировано**.

![](/files/-MEqr-tXMFfp8VB7I_Ik)

Перейдите на вкладку **Кодеки.**\
В качестве используемых кодеков установите PCMA и PCMU т.к. они обеспечивают наилучшее качество звука.

![](/files/-MEqr-tY2guFbn0H3g7m)

В целях безопасности рекомендуется сменить стандартный пароль для доступа в Web-интерфейс.\
Для этого перейдите на вкладку **Безопасность** и задайте новый пароль.

![](/files/-MEqr-tZSs-aQU7QK5gR)


# Настройка  клиента Zoiper

&#x20;**Zoiper** — это бесплатная программа для осуществления звонков в сети интернет в любых направлениях. Единственное что требуется для обеспечения качественной работы данного сервиса — это наличие высокоскоростного подключения к интернету. Осуществляет поддержку протоколов SIP, IAX и XMPP.

{% content-ref url="/pages/-MMzdY3Y90DzGU\_JA3Ls" %}
[IOS](/softphone/mobilnoe-prilozhenie/zoiper-ios)
{% endcontent-ref %}

{% content-ref url="/pages/-MMzdVrHs22bW8DFtp1z" %}
[Anroid](/softphone/mobilnoe-prilozhenie/zoiper-anroid)
{% endcontent-ref %}

{% content-ref url="/pages/-MN24WiPKs8azTuBpdvC" %}
[Mac OS](/softphone/mobilnoe-prilozhenie/zoiper-mac-os)
{% endcontent-ref %}

{% content-ref url="/pages/-MNUtXDm-PupENT2xs29" %}
[Windows](/softphone/mobilnoe-prilozhenie/windows)
{% endcontent-ref %}


# IOS

Установите из App Store приложение Zoiper Lite voip soft phone.

![](/files/-MN--PwK7TegsOeQigPt)

Откройте приложение Zoiper на мобильном телефоне и перейдите в **Настройки**.

![](/files/-MEqrXzK-tcuLx2qvpf_)

Далее нажмите на **Учетные записи**.

![](/files/-MEqrXzLhRi-mNUMozqr)

Нажмите на <img src="/files/-MEqrXzMEu16oaPfPzD0" alt="" data-size="line"> чтобы создать новую учетную запись.

![](/files/-MEs9MMmn033S79QQnmh)

На вопрос есть ли у вас учетная запись, нажмите **Да**.

![](/files/-MEs9V_rg7Os4UtFVeSz)

Нажмите на **Ручная настройка**.

![](/files/-MEs9a65WClR9r5VxIBV)

Выберите **Учетная запись SIP**.

![](/files/-MEqrXzQuUFAUcDXY9uh)

Введите учетные данные Axatel.

![](/files/-MEqrXzRSoTpl1PzD6iQ)

**Учетная запись**: Axatel

**Домен**: Название\_проекта.a1.axatel.by

**Имя пользователя**: имя учетной записи\
**Пароль**: пароль учетной записи\
**ID абонента**: такой же как Имя пользователя.

Если данные введены верно, то в верхней части экрана Вы увидите **Статус регистрации: ОК**.

![](/files/-MEqrXzSdAnOvWa4nIJp)


# Anroid

Установите из Google Play приложение **Zoiper IAX SIP VOIP Softphone**.\
Для его поиска достаточно ввести в поисковую строку запрос  **Zoiper**.

![](/files/-MMzeQ354U2eX5HM_ziB)

Дождитесь установки и запустите приложение.\
При первом запуске нужно будет принять положение о использовании.

![](/files/-MMzeU3OVy0eIs3p3FTs)

Нажмите на кнопку **Skip** чтобы использовать бесплатную версию.

![](/files/-MMzeXa11ZAzfwrZmr0q)

Подтвердите, что отказываетесь от платной версии.

![](/files/-MMze_VMoG7XNpe-3g83)

Введите данные авторизации предоставленные компанией Axatel и нажмите на кнопку **Create an account**.

![](/files/-MMzecuXA9W5HBIlhyd5)

Нажмите на кнопку **Следующий** не изменяя адрес хоста.

![](/files/-MMzeetEaNGALHnFXplc)

Нажмите на кнопку **Пропустить**.

![](/files/-MMzeh9P4Lw00NhukdWI)

Выберите SIP UDP и нажмите на кнопку **Конец**.

![](/files/-MMzej1seTL_bgdul5_M)

Разрешите приложения осуществлять и принимать звонки.

![](/files/-MMzemsQGoLo1Z4oPtGx)

Для использования функции **Не беспокоить**, вы можете выдать дополнительные разрешения.

![](/files/-MMzepcnjhzJo6F7L46S)

![](/files/-MMzesSqBiYvJObUMUyM)

Если все данные введены верно, то вы увидите надпись **Учетная запись готова** в боковом меню.

![](/files/-MMzevYn8gfiAFZvfHfJ)


# Mac OS

Перейдите по следующей ссылке и скачайте клиент Zoiper:\
<https://www.zoiper.com/en/voip-softphone/download/current>

![](/files/-MN2DXUl7oI101Hio-IF)

Выберите бесплатную версию и нажмите на кнопку **Download**.

![](/files/-MN2D_IZhtkpR4yesFhH)

Запустите скачанное приложение из нижнего меню.

![](/files/-MN2DbsLdfK2epADgX2N)

В открывшемся окне, нажмите на кнопку **Продолжить**.

![](/files/-MN2DeIG_thS_seElRPg)

Ознакомьтесь с лицензионным соглашением и нажмите на кнопку **Продолжить**.

![](/files/-MN2DlIMnACQo3bmBu5J)

Если вы согласны с условиями использования, нажмите на кнопку **Принять**.

![](/files/-MN2DoXhECJqvxnxMfg2)

Нажмите на кнопку **Установить** для запуска установки.

![](/files/-MN2DrQHx5Wwwv2Mmsil)

Введите пароль от учетной записи пользователя и нажмите на кнопку **Установить ПО**.

![](/files/-MN2Du1LLIE5iYyuQk_e)

Установка прошла успешно, окно можно закрыть.

![](/files/-MN2DwHJwmQe557p9Q7G)

Далее система предложит отправить установочный файл в корзину или оставить его в папке.\
Вы можете отправить файл в корзину.

![](/files/-MN2DyVlwxRvApl3S4qA)

Для запуска приложения Zoiper, откройте Launchpad и выберите приложение Zoiper 5.

![](/files/-MN2E-rxB306UB-WYDpd)

В открывшемся окне нажмите на **Continue as Free user** для использования бесплатной версии.

![](/files/-MN2E2d8BrMbEqwvjveC)

Введите полученные данные в формате \
Логин@домен\
Пароль

В нашем примере:\
<Phone202@demo.a1.axatel.by>\
Password<br>

Нажмите на кнопку **Login**.

![](/files/-MN2E5hP1yiERepiy6nH)

На следующем шаге просто нажмите на кнопку **Next**.

![](/files/-MN2E8H3I8s5QRVCBZmU)

Нажмите на кнопку **Skip** для перехода к следующему шагу.

![](/files/-MN2EAbU7c63iWZtKs7i)

Не дожидаясь окончания тестирования, выберите **SIP UDP** и нажмите на кнопку **Skip**.

![](/files/-MN2EDD-__ZC3WIx51lW)

Подтвердите выбранные действия нажав на кнопку **Yes**.

![](/files/-MN2EFtBt2EeFPVdnEsL)

Задайте название для созданного аккаунта и выберите протокол SIP.\
В нашем примере, мы назвали подключение Demo Axatel.<br>

![](/files/-MN2EISf4_-zItLVNqBn)

Для выхода из мастера настроек, нажмите на кнопку **Finish**.

![](/files/-MN2EL1NGruaoU-XhIoL)

Если все данные введены верно, то вы увидите зеленую галку рядом с названием вашей учетной записи.<br>

![](/files/-MN2EQUjTlocsJL2kSI8)


# Windows

Перейдите по следующей ссылке и скачайте клиент Zoiper:\
<https://www.zoiper.com/en/voip-softphone/download/current>

![](/files/-MNUtnwi1_0LrVO5Hi_g)

Выберите бесплатную версию и нажмите на кнопку **Download**.

![](/files/-MNUtusCo0hI5H9wRSNg)

Откройте скачанное приложение и нажмите на кнопку **Запуск** чтобы разрешить установку.

![](/files/-MNUuJ6ghtahzyb34zbU)

В открывшемся мастере установки для базовой установки достаточно во всех окнах нажать кнопку **Next**.

![](/files/-MNUujkcdsiN_lvtBfia)

Нажмите на кнопку Finish для завершения установки и запуска приложения.

![](/files/-MNUuvktxpVHK2zlfWd3)

В открывшемся окне нажмите на **Continue as Free user** для использования бесплатной версии.

![](/files/-MNUv3Xe2ncrZljZC99Q)

Введите полученные данные в формате \
Логин@домен\
Пароль

В нашем примере:\
<Phone202@demo.a1.axatel.by>\
Password<br>

Нажмите на кнопку **Login**.

![](/files/-MN2E5hP1yiERepiy6nH)

На следующем шаге просто нажмите на кнопку **Next**.

![](/files/-MN2E8H3I8s5QRVCBZmU)

Нажмите на кнопку **Skip** для перехода к следующему шагу.

![](/files/-MN2EAbU7c63iWZtKs7i)

Не дожидаясь окончания тестирования, выберите **SIP UDP** и нажмите на кнопку **Skip**.

![](/files/-MN2EDD-__ZC3WIx51lW)

Подтвердите выбранные действия нажав на кнопку **Yes**.

![](/files/-MN2EFtBt2EeFPVdnEsL)

Задайте название для созданного аккаунта и выберите протокол SIP.\
В нашем примере, мы назвали подключение Demo Axatel.<br>

![](/files/-MN2EISf4_-zItLVNqBn)

Если требуется проверить микрофон, наушники или камеру, нажмите на кнопку **Configure**.

![](/files/-MNUveqM9PUIw1MbKmjl)

Если все данные введены верно, то вы увидите зеленую галку рядом с названием вашей учетной записи.

![](/files/-MNUwoiElrYaWvsIn5Sv)


# Установка и настройка софтофон Microsip

Система Softfon - программный телефон, который устанавливается на рабочее место, к нему подключается гарнитура. С помощью программного телефона пользователь может работать со входящими и исходящими звонками.\
По умолчанию мы рекомендуем использовать бесплатное приложение **MicroSIP**.

## **Установка приложения**

1. Загрузите приложение с официального сайта.\
   <https://www.microsip.org/downloads>

![](/files/-MEr21Rnjk8qK-6iEnXh)

2\. Запустите загруженный файл и выберите язык установки.

![](/files/-MEqs7sHy9eUEmlQrP56)

3\. Произведите установку с помощью мастера настроек как показано на картинках ниже.<br>

![](/files/-MEqs7sIPQCq73r8HswT)

4\. При первом запуске потребуется разрешить использование всех функций приложения MicroSIP в Windows Firewall.

![](/files/-MEqs7sJvrivQcIKVo6Q)

## **Настройка**

В главном окне программы, нажмите на кнопку ![](/files/-MEqs7sKfT6WDNiVeXTE) и в контекстном меню выберите **Настройки**.

![](/files/-MEqs7sLG4L8CDd1ckDx)

В открывшемся окне задайте следующие параметры:

![](/files/-MEqs7sMSxbaC6IqLDG3)

1\. **Режим одиночного вызова -** для работы с переадресацией функцию  нужно отключить.

2\. **Звук вызова** - по умолчанию

3\. **Устройства для вызова**, **Динамики**, **Микрофон** - выберите USB-гарнитру

4\. **Усиление микроф**она – активировать если Вас плохо слышит собеседник

5\. **Программная регулировка уровня** – позволяет системе регулировать уровень звука автоматически.

6\. **Доступные кодеки** – список доступных кодеков. Рекомендуемые «G.711 А-law и G.711 u-law

7\. **VAD** – определяет активность голоса

8\. **EC** – регулирует уровень эхо

9\. **Задавать кодек для входящих** – позволяет управлять кодеками для входящих звонков

10\. **Камера**, **Видеозвонок**, **Н.264**, **Н.263**, **VPS**, **Битрейт видео**, **Исходящий порт**, **rport**, **Порты RTP**, **Сервер имен**, **DNS SRV**, **STLN-сервер** – не используются.

11\. **Метод DTMF** - авто

12\. **Авто-ответ** – включить если требуется

13\. **Запретить входящие** - включить если требуется

14\. **Каталог пользователей** - загрузка телефонного справочника

15\. **Действие списка** - выбрать «Вызов»

16\. **Управление мультимедийными кнопками**, **Случайная позиция**, **Включить локальный аккаунт** – отключить.

17\. **Звуковые события**, **Всплывать при необходимости**, **Ожидание вызова**, **Включить лог-файл**, **Отправлять отчет с падений** – включить.

Нажмите на кнопку **Сохранить** для сохранения настроек.

## **Добавление аккаунта.**

В главном окне программы, нажмите на кнопку ![](/files/-MEqs7sNnqkPUrLb7WKo) и в контекстном меню выберите **Добавить аккаунт**.

![](/files/-MEqs7sOWFrfneY8gwNx)

В открывшемся окне задайте следующие параметры:

![](/files/-MEqs7sPmBPB4ej9Ba0e)

**Название** - Axatel

**SIP-сервер** – указать домен пользователя: **название проекта\_номер сервера\_Axatel**

**SIP-прокси** – номер сервера\_Axatel

**Имя пользователя** – такой же как и **Логин**.

**Домен** – указать домен пользователя: название проекта\_номер сервера\_Axatel

**Логин** – логин пользователя

**Пароль** – пароль пользователя

**Ваше имя**- введите имя

**Голосовая почта** – указать эл.почта

**Префикс набора** – пусто

**Dial Plan** – пусто

**Шифрование медиа** – отключить

**Транспорт** – UDP

**Публичный адрес** – авто

**Обновление регистрации** - 60

**Keep-Alive** - 3 сек.

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

Нажмите на кнопку **Сохранить** для сохранения настроек.

Если все настройки введены верно, то в левом нижнем углу появится зеленая иконка ![](/files/-MEqs7sQ55PkcEL4S96q)

![](/files/-MEqs7sRCqP3dQbL0Dr8)

## **Добавление контактов**

**MicroSIP** позволяет создавать свой список контактов.\
Для добавления контакта в верхней панели выберите **Контакты**

![](/files/-MEqs7sSCKk7tGrR30S1)

В окне **Контакты**, нажмите правую кнопку мышки – «Добавить».

![](/files/-MEqs7sTinzEy_a_AaYa)

В открывшемся окне задайте **Имя** и **Номер** чтобы можно было отслеживать по ним информацию на сервере.<br>

![](/files/-MEqs7sUiVcKiwtBcsQU)

Включите **Подписка на присутствие** если хотите видеть статус контакта.

Доступные статусы:

Свободен и доступен для звонка.

![](/files/-MEqs7sVljA4MM28lr-J)

Абонент разговаривает

![](/files/-MEqs7sWJUilLCIMx8pE)

Абонент не в сети и не доступен

![](/files/-MEqs7sXZzRIzb82Osiw)

## **Основные функции программы**

![](/files/-MEqs7sYfQPRk8JQhGvQ)

![](/files/-MEqs7sZFW9IVqfHXb7q) – не беспокоить

![](/files/-MEqs7s_5XohpWqe1GvU) – автоматическое поднятие трубки

&#x20;![](/files/-MEqs7saXeEdHeo7sRAp)– конференция

&#x20;![](/files/-MEqs7sbIHe7xlswZ0CZ) - запись разговора

![](/files/-MEqs7sc2zj1f0ub0MK4) **-** Включить/выключить звук

![](/files/-MEqs7sd3TsZkVd6dIEQ) **-** Включить/выключить микрофон

![](/files/-MEqs7se2I_TBi7Ocydn) – повторный вызов

![](/files/-MEqs7sfYG5Y5dDQQ7zG) – функция сброса

&#x20;![](/files/-MEqs7sgXYkuW8GgdW8D) – кнопка вызова

## **Работа с программой**

&#x20;**Прием вызова**

При входящем вызове отобразится диалоговое окно **Входящий вызов**.

![](/files/-MEqs7shW0spMrjE9uwa)

Для принятия вызова кнопку **Ответить**.

Чтобы отклонить вызов, нажмите на кнопку **Отклонить** или на крестик в верхнем правом углу, тогда звонок будет проигнорирован.

**Совершение вызова**

Для совершения вызова наберите номер телефона абонента и нажмите на кнопку **Вызов**.

![](/files/-MEqs7si7Rj6KNjUBPYm)![](/files/-MEqs7sj0kBmwLSOhvOb)<br>

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

Если внешний номер, то сначала нужно набрать код 375 или 80, затем номер телефона начиная с кода города.\
Например:\
375 17 237-98-90\
80 17 237-98-90<br>

После того как Вы нажмете на кнопку вызов, программа откроет диалоговое окно, в котором будет отображаться ход выполнения вызова до завершения звонка.

![](/files/-MEqs7sk67z6ppEGrrk4)

Для завершения звонка нажмите на кнопку **Завершить**.

![](/files/-MEqs7slovOSJBIVl3OD)

**Перевод звонка без сопровождения**

Перевод звонка без сопровождения — это так называемый "Слепой перевод". Клиент А сразу переводится на сотрудника С без помещения в режим ожидания.&#x20;

Во время разговора нажмите на кнопку **Перенаправить** и в контекстном меню выберите **Перевод звонка**.<br>

![](/files/-MEqs7smaXtXV8U_sctS)

В открывшемся окне введите номер абонента, на которого нужно перевести звонок и нажмите кнопку **ОК**.

![](/files/-MEqs7snmQL23RBpAsRb)

После успешного соединения ваша линия будет освобождена, а первый абонент будет соединен с абонентом, на которого его переключили.

![](/files/-MEqs7sotywoD-iUvD24)

Если абонент, на которого переводится звонок занят, то звонок вернется к вам обратно.

Если после переключения вы положили трубку, то не зависимо произойдет ли коммутация между абонентами, звонок к вам не вернется.

**Перевод звонка с сопровождением**

Перевод звонка с сопровождением — это переключение с предварительным соединением.\
Во время разговора нажмите на кнопку ![](/files/-MEqs7sp3xKIQCpLaXVi) (hold). В этом режиме абонент слышит мелодию ожидания, а Вы можете совершить вызов другому абоненту.

![](/files/-MEqs7sqBXqo37N_GrAK)

После успешного соединения со вторым абонентом, Вы можете:

Нажмите на кнопку **Перенаправление**, далее выберите в контекстном меню **Перевод звонка с сопровождением** и абонента на которого нужно переключить.

![](/files/-MEqs7sr_AC83egBqIE5)

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

![](/files/-MEqs7ssgwZbz2uPhDwV)![](/files/-MEqs7stb1e4L9lrBphe)

**Конференция**

Чтобы организовать конференцию во время разговора нажмите кнопку Конференция > Пригласить в конференцию.

![](/files/-MEqs7suwuzR5BogY7pK)

В открывшемся окне укажите номер абонента, которого вы хотите пригласить и нажмите на кнопку ОК.

![](/files/-MEqs7sv-j1Ab-h5rED2)

В уже имеющуюся конференцию можно пригласить новых участников, разделить звонивших или разъединить вызов.

![](/files/-MEqs7sw3j7C9FoCh4my)


# Защита оборудования и рабочего места

В данной статье мы расскажем о базовых мерах защиты сетевого оборудования для работы с SIP.

Почему нужно соблюдать меры безопасности при работе с сетевым оборудованием и SIP-телефонией?

Получив доступ к вашему оборудованию или одному из сегментов сети, злоумышленники могут нанести различный вред вашему бизнесу:

* Прослушивание разговоров
* DDoS-атаки направленные на временное прекращение работоспособности системы
* Перепродажа трафика использую подменные шлюзы для увеличения стоимости разговоров.

Мы рекомендуем следующие меры для снижения риска атаки:

1. Обязательное использование стойких паролей.\
   Пароль должен содержать не менее восьми символов состоящий букв различного регистра, цифр и других символов.<br>
2. Необходимо в обязательном порядке использовать сетевой экран (Firewall) на пограничном маршрутизаторе.\
   Выделить отдельный сегмент сети для устройств IP-телефонии, строго разграничить политиками Firewall доступ к/из сегмента телефонии от общей корпоративной сети организации.<br>
3. Заменить стандартный sip-порт (5060) на любой случайный.\
   При ответе на любой SIP-запрос IP-телефон в большинстве случае подставляет название своей микропрограммы в поле Contact. Злоумышленник может воспользоваться одной из уязвимостей микропрограммы оборудования для взлома устройства.<br>
4. Разрешить внешние соединения только с серверов «Аксата»<br>
5. Предоставлять доступ к IP-АТС только с определенных рабочих мест/адресов.<br>
6. Ограничить возможность совершения международных звонков в страны, заведомо не востребованные в рабочей практике клиента (например, разрешить звонки за пределы Республики Беларусь только на номера польских и российских операторов), либо разрешать вызов абонентов зарубежных сетей только после прохождения дополнительной авторизации: набора четырехзначного пин-кода.<br>
7. Не реже одного раза в неделю проверять логи вызовов CDR для определения возможно нелегитимных вызовов.<br>
8. При задействовании на рабочих местах сотрудников софтфонов – использовать лицензионное программное обеспечение и следить за актуальностью антивирусных баз.

Обратите внимание, вопрос обеспечения клиентом должного уровня безопасности функционирования задействованного им оборудования и реализованного на его базе технического решения (в том числе – с использованием периферийных устройств) находится вне зоны ответственности Частного предприятия «Аксата».


# Операторская защита

Международные платные звонки – это один из наиболее популярных способов зарабатывания злоумышленниками денег.\
За рубежом или в Белоруссии регистрируется номер телефона, звонок на который является платным. Путем подбора различных вариантов набора номера атакующие совершают звонки на свой платный номер, счет за разговор будет выставлен вам оператором за услуги связи в конце месяца.\
Поэтому если вы не используете международные звонки и другие любые платные направления связи, мы рекомендуем запретить их на уровне оператора связи.

Узнайте у вашего оператора связи, как он может поспособствовать защите от звонков на международные направления.

Напишите заявление на фирменном бланке компании в свободной или по форме требуемой оператором для запрета всех международных вызовов и вызовов на платные номера.

Данные действия уберегут вас от дополнительных расходов и сделают вашу систему менее интересной для злоумышленников.

Пример заявления Вы можете посмотреть в прикрепленном файле ниже.

{% file src="/files/-MHtfkbNzwBNZPF1n2ya" %}
Пример заявления
{% endfile %}


# Подготовка аудио файла для Axatel

В данной статье мы расскажем какие аудио файлы поддерживаются системой Axatel.\
Как создать свое голосовое приветствие с помощью  Yandex speechKit.\
Как переконвертировать файл с помощью онлайн конверторов.\ <br>

## Поддерживаемые типы файлов

Система Axatel поддерживает загрузку следующих звуковых файлов:

* WAV файлы в кодировках:

PCM Стерео, Моно, 16 бит, 8000, 11025 16000, 22050, 24000, 32000, 44100, 48000 Гц\
&#x20;G.711 alaw, mulaw, 8000 Гц\
&#x20;MS GSM, 65 бит, 8000 Гц

* MP3 файлы любой bitrate
* Другие форматы звуковых файлов не поддерживаются.

## Создание голосового приветствия

1. Перейдите по следующей ссылке:\
   <https://cloud.yandex.ru/services/speechkit><br>
2. В открывшемся окне пролистайте страницу в низ до раздела **Попробуйте Yandex SpeechKit API**<br>
3. Введите нужный текст, выберите звукового помощника и другие параметры.<br>

![](/files/-MPM3YycRH8a8jEyq05t)

4\. После прослушивания файла, нажмите на кнопку скачивания.

![](/files/-MPM3pvq6lrob8ONMavQ)

5\. На компьютер будет загружен файл с названием tts.ogg.\
Поскольку формат \*.ogg не поддерживается, нам нужно будет произвести конвертацию аудиофайла.

## Конвертация аудио файла

1. Перейдите по следующей ссылке:\
   <https://online-audio-converter.com/ru/><br>
2. В открывшемся окне нажмите на кнопку Открыть файл и выберите файл **tts.ogg**<br>

![](/files/-MPM4vspu2Y9t3KI9GEx)

3\. Выберите требуемое качество для mp3 файла или Wav и нажмите на кнопку **Конвертировать**.

{% hint style="info" %}
Мы рекомендуем оставить стандартное качество для mp3 -  128 kbs\
Для Wav установить 8000 Khz и Каналы - 1
{% endhint %}

![](/files/-MPM5GyN_5j59i3_jGl5)

![](/files/-MPM6Gh9Pwi0yOOU5QSY)

4\. Дождитесь завершения процесса конвертации, после чего вы сможете скачать файл.

![](/files/-MPM5VzQaSTkrOYgN7Iz)


# API


# API управление файлами домена

Содержит информация по работе с файлами коммуникационного домена через Публичный канал интеграции.

## Публичный канал интеграции

&#x20;Настраивается в Web-интерфейсе администрирования. Тип канала - **Публичный**.\
&#x20;Признак "Разрешить работу с файлами через этот публичный канал" должен быть включен.

![](/files/-MJ6S8NW-M1OLtJc6Cn-)

## API управления

\
\
Внешние системы должны обращаться на адрес http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/{command}

* **fqdn\_ws\_role** - адрес URL роли WS (Веб-сервера управления)
* **{token}** - значение локального токена из созданного публичного канала
* **{command}** - команда управления (описаны ниже)

## Команды управления

### Загрузка файлов в домен

#### upload

![](/files/-MM_Yt6UUGCM2XuM4zNB)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/upload\
&#x20;Метод - POST\
&#x20;Content-Type - multipart/form-data\
&#x20;Body -  Form\
\[File] = выберите файл\
\
В ответе json приходит результат загрузки файла. \
\
Успешный ответ содержит "resultcode": 0, "resultmsg": "OK". \
\
Пример успешного ответа:

```
{ "resultcode": 0,
 "resultmsg": "OK",
 "data":{
 "upload":[
  { "name": "205-a10-02.zip", 
  "res": "ok" 
  } 
  ] 
  } 
  } 
```

Неуспешный ответ содержит код ошибки и ее описание.

&#x20;Пример неуспешного ответа:

```
{ 
 "resultcode": 1501,
  "resultmsg": "Not enough free disk space"
 }
```

&#x20;

### Скачивание файла в браузере.

#### download

![](/files/-MJ1gE3zOSd7J9jZtRAo)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/download?file={filename}

&#x20;Метод - GET\
{filename} - имя файла для скачивания

### Получение списка файлов.&#x20;

#### list

![](/files/-MJ1gRLeeyf7xMj7ZdwG)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/list

Метод - GET

&#x20;В ответе json с полным списком файлов следующего вида

```
{
 "resultcode": 0,
  "resultmsg": "OK",
   "data": { "files": [ 
   {
    "file": {
     "name": "205-a10-02.zip"
    }
     },
      { 
      "file": {
       "name": "queue_wait_sgk.mp3" 
       }
      }
    ] 
  } 
}
```

### &#x20;Удаление файла.

#### delete

![](/files/-MJ1glZ42RBd3jTsRVoX)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/delete?file={filename}<br>

Метод - GET\
{filename} - имя файла для удаления

Хранение файла и получение доступа из сценариев Файл хранится в директории **fsync** домена в поддиректории **/data/tokens/**.

Пример ...**/syncfolder/domains/domain.demo.axatell/data/tokens/205-a10-02.zip**\
Для получения доступа к файлу в IVR/SVC сценарии можно через формирования пути к файлу следующего вида:

путь = syn\_domain()\
файл = tokens/205-a10-02.zip

&#x20;Пример получения файла в Выражениях Сценария:

&#x20;makepath(syn\_domain(),"tokens/002.mp3")

* 002.mp3- имя файла
* tokens - константа имени каталога


# FAX API

Обработка факса сервисом Аксател

![](/files/-MJ13IkJHMXTfrfV9Lzk)

## API управления

\
\
Внешние системы должны обращаться на адрес http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/{command}

* **fqdn\_ws\_role** - адрес URL роли WS (Веб-сервера управления)
* **{token}** - значение локального токена из созданного публичного канала
* **{command}** - команда управления (описаны ниже)

## Команды управления

### Загрузка файлов в домен

#### upload

![](/files/-MP0wCT3BJG3onLqRyrf)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/upload\
&#x20;**Метод** - POST\
&#x20;**Content-Type** - multipart/form-data\
&#x20;**Body** -  Form  \
\
В ответе json приходит результат загрузки файла. \
\
Успешный ответ содержит "resultcode": 0, "resultmsg": "OK". \
\
Пример успешного ответа:

```
{
"resultcode": 0,
"resultmsg": "OK",
"data":{
"upload":[
{
"name": "002.mp3",
"res": "ok"
}
]
}
}
```

Неуспешный ответ содержит код ошибки и ее описание.

&#x20;Пример неуспешного ответа:

```
{ 
 "resultcode": 1501,
  "resultmsg": "Not enough free disk space"
 }
```

&#x20;

### Получение списка файлов.&#x20;

#### list

![](/files/-MJ1gRLeeyf7xMj7ZdwG)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/list

Метод - GET

&#x20;В ответе json с полным списком файлов следующего вида

```
{
 "resultcode": 0,
  "resultmsg": "OK",
   "data": { "files": [ 
   {
    "file": {
     "name": "205-a10-02.zip"
    }
     },
      { 
      "file": {
       "name": "queue_wait_sgk.mp3" 
       }
      }
    ] 
  } 
}
```

### Скачивание файла в браузере.

#### download

![](/files/-MJ1gE3zOSd7J9jZtRAo)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/download?file={filename}

&#x20;Метод - GET\
{filename} - имя файла для скачивания

Пример успешного ответа:

![](/files/-MP0x1p6qKDyXIqN1nAk)

{% hint style="info" %}
Скачанный файл будет иметь название **download** и не будет иметь расширения.\
Чтобы открыть этот файл нужно будет изменить его расширение на указанное в запросе.
{% endhint %}

### &#x20;Удаление файла.

#### delete

![](/files/-MJ1glZ42RBd3jTsRVoX)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/delete?file={filename}<br>

Метод - GET\
{filename} - имя файла для удаления

Хранение файла и получение доступа из сценариев Файл хранится в директории **fsync** домена в поддиректории **/data/tokens/**.

Пример ...**/syncfolder/domains/domain.demo.axatell/data/tokens/205-a10-02.zip**\
Для получения доступа к файлу в IVR/SVC сценарии можно через формирования пути к файлу следующего вида:

путь = syn\_domain()\
файл = tokens/205-a10-02.zip

&#x20;Пример получения файла в Выражениях Сценария:

&#x20;makepath(syn\_domain(),"tokens/002.mp3")

* 002.mp3- имя файла
* tokens - константа имени каталога

Результат успешного выполнения:

```
{
"resultcode": 0,
"resultmsg": "OK"
}
```

### Отправка факса

#### sendfax

![](/files/-MMuFStN6iw5SKHNBxij)

http(s)://fqdn\_ws\_role/api/token/v1/{token}\
\
Метод - POST\
Content-Type - application/json

* **action** - действие, которое нужно совершить над списком факсов (sendfax — отправить)
* **recipient** - получатель факса
* voiceDocumentSID- <необязательный параметр> — идентификатор предварительно загруженного голосового файла
* **terminalId** - идентификатор телефонного номера, который будет назначен в качестве номера-отправителя
* **attachment** - идентификатор предварительно загруженного файла в формате TIF
* **sip** - ответ провайдера описан в соответствии с стандартом&#x20;

{% content-ref url="/pages/-MIpci293tLiPPzTIj\_\_" %}
[SIP ответы и их значения](/sip-otvety-i-ikh-znacheniya)
{% endcontent-ref %}

* **status** - статус отправки факса
* **error** - содержит описание ошибок при отправке факса: "файл не найден", "номер не соответствует маске"

Пример:

```
{
 "action":"sendfax",
 "recipient": 375291554499,
 "voiceDocumentSID":"002.mp3"
 "terminalId": 301
 "attachment":"123123.tif"
 }
 

```

&#x20;

Пример успешной отправки:

```

"sip_code": "200",
"success": "true",
"error": "null",
"status": "sent"
}
```

Допускается отправка сообщения через pop протокол.\
Для реализации требуется передавать сообщение с темой письма содержащий номер телефона и 1 приложением файла в формате TIF.\
На сервере предварительно настраивается маска с именем отправителя с которым разрешена отправка сообщения **user{mask}@fqdn**\
После отправки приходить ответное сообщение с статусом отправки на обратный e-mail адрес.

### Инициализация базы данных

#### init\_fax

![](/files/-MP0zHIz7VkxvK2bwrBW)

&#x20;

{% hint style="info" %}
Требуется выполнить для первично инициализации
{% endhint %}

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}\
&#x20;**Метод** - POST\
&#x20;**Content-Type** - application/json\
&#x20;**Body** -  Text &#x20;

* **action** - константа
* **domain** - имя текущего домена
* &#x20;**drop** - true = удалить если ранее было созданы схемы и таблицы, false = не удалять ничего

Пример:

```
{
  "action":"init_fax",  
  "domain":"domain.a1.axatel.by",    
  "drop":"true"    
}
```

Ответ успешного выполнения:

```
{
"received": true
}
```

### Запрос информации по факсам

#### fax\_history

![](/files/-MP10khjg7fpDv1taRZY)

http(s)://fqdn\_ws\_role/api/token/v1/{token}\
\
Метод - **POST**\
Content-Type - **application/json**

**Body:**

* **action** - константа
* "**type-** тип incoming | outgoing
* **from\_dt**:"2020-12-16 20:00", //время UTC начала списка. Может быть дата или дата-время
* **till\_dt**- время UTC окончания списка. Может быть дата или дата-время
* **fields**- *список полей, которые выводить, можно указывать через запятую.*

  * **\*** - вывести все поля
  * id&#x20;
  * type
  * remotenum
  * start\_dt
  * stop\_dt
  * result
  * url

Пример запроса:

```
{
  "action":"history", 
  "type":"outgoing",   
  "from_dt":"2020-12-16 20:00", 
  "till_dt":"2020-12-20 23:30",  
  "fields":"*"		
}
```

Пример успешного вывода:

```
{
"data":[
{
"id": "940fbbf2-0176-81d6-990b-005056011d6c",
"type": "outgoing",
"remotenum": "3880456",
"start_dt": "2020-12-20T20:28:13.84",
"stop_dt": "2020-12-20T20:28:30.38",
"result": "success",
"url": "https://domain.a1.axatel.by/callrecords/domains/demo.a1.axatel.by/data/fax/outgoing/mtu1otezoty1nw53d5.tiff"
},
]
}
```

### Описание поля Result

**success** - успешная обработка\
**failed** - ошибка \
**receiving** - в процессе приемки \
**dialing** - набор номера \
**sending** - процесс отправки


# voicebot

![](/files/-MV1P0DDAsNqd0YDuPck)

[http://demo.a1.axatel.by/api/token/v1/b3eb7f02cd2afb37882045c6dbdbd128 <br>](<http://demo.a1.axatel.by/api/token/v1/b3eb7f02cd2afb37882045c6dbdbd128&#xD;&#xA;>)\
**Метод** - POST\
**Content-Type** - application/json

* **action** - константа
* **recipient** - получатель звонка

Пример запроса&#x20;

```
{
  "action":"voicebot",  //константа
  "recipient": 375291554499,    // получатель 
}
```

Пример успешного ответа

```
{
"success": "true",
"error": "null",
"guid": "dab9a7dc-0178-0261-6770-005056011d6c"
}        
```

Пример ошибки

```
{
"success": "false",
"sip_code": "503",
"error": "phone number is busy or unavailable"
}
```


# Настройка GSM, FXO шлюзов


# VoIP-шлюзы Yeastar


# UMTS, GSM-шлюзы TG серии

Инструкция по настройке шлюзов

## Настройка шлюза Yeastar

## Раздел система

### Настройка LAN

Подключитесь к веб-интерфейсу шлюза Yeastar и откройте раздел **Система >  Сетевые настройки**.\
Задайте статический IP-адрес и пропишите: маску, шлюз и DNS вашей сети.

![](/files/-MGEorO0Ug8EghStxlGt)

### Настройка Firewall

Перейдите в раздел **Центр безопасности > Правила.**\
Необходимо разрешить прохождение SIP ( порт по умолчанию **TCP/UDP 5060**) и порт RTP потока UDP **10000-20000**.

{% hint style="info" %}
В целях безопасности, мы рекомендуем изменить стандартный порт SIP на любой другой.\
Например, в нашем примере открыт порт 5080
{% endhint %}

![](/files/-MGEqW-Pv3Cl0anEz-br)

### Смена пароля

Перейдите на вкладку **Системные настройки > Пароль**.\
Измените пароль для входа в веб-интерфейс шлюза.\
&#x20;

{% hint style="warning" %}
Пароль должен содержать не менее восьми символов состоящий букв различного регистра, цифр и других символов.
{% endhint %}

![](/files/-MGEtGzn1xrWm1XkpIBG)

### Настройка даты и времени

На вкладе **Дате и время**, задайте часовой пояс и сервер NTP для синхронизации времени.

![](/files/-MGEtnlANOtt6dvgMzm9)

## Раздел Шлюз

### Настройка мобильных линий

На вкладке Шлюз > Мобильные линии задайте параметры GSM.

![](/files/-MGErEppkWEBfy1SYyUI)

**Основные настройки**\
\
**Имя лини**и - информационное поле, может быть любым\
**Мобильный номер** - информационное поле, может быть пустым.\
**CLIR** - Анти АОН\
**Уровень Rx** - получаемый звук модулем \
**Уровень Tx** - отправляемый звук модулем\
**Генерация КПВ**: генерация телефонных гудков

**Продолжительность вызова**\
Мы рекомендуем оставить эти параметры по умолчанию.

![](/files/-MGExWQQluI32uPvHqfg)

**Дополнительные настройки**

![](/files/-MGExoSMGVwh_Dy1y_df)

Задайте номер SMS-центра и введите PIN-код сим карты.\
Если вы не знаете PIN-код сим карты, то оставьте данное поле пустым.

### Настройка линии VoIP

На вкладке **Основные настройки**, добавьте новую линию VoIP .

![](/files/-MGIGngug43F4myC0vgn)

**Тип -** SIP\
**Имя -**  номер шлюза, номер телефона\
**Аккаунт -** номер шлюза, номер телефона\
**Пароль -** укажите пароль

Перейдите на вкладку **Дополнительно**.

![](/files/-MGIHm9E9sS-vl2LHgox)

Установите параметры следующим образом:

**NAT** - включено\
**Qualify**  - включено\
**Транспорт** - TCP\
**DTMF-режим** - rfc2833\
**Включить ограничения** - укажите доверенный IP-адрес/сеть.

### Настройка SIP

Перейдите на вкладку Основные.

![](/files/-MGIIngv5HKejKybJWGy)

Основные параметры:

**UDP-порт** - по умолчанию 5060 (можно изменить на проброшенный в роутере)\
**TCP-порт** - по умолчанию 5060 (можно изменить на проброшенный в роутере)

#### Вкладка NAT

Активируйте NAT и введите внешний IP-адрес сервера.

![](/files/-MGIJoWvQOBHJbZkWqbr)

#### Настройка кодеков

Выберите a-law и u-law т.к. они обеспечивают наилучшее качество звука.

![](/files/-MGILZSWcdR5k_w1f3Uk)

#### Дополнительные настройки

Проверьте чтобы в поле **To** был выбрана **INVITE**.

![](/files/-MGILwwB6NT1MlcJHjzD)

## Маршрутизация GSM в SIP

### **Вкладка GSM в SIP**

На вкладке **GSM в SIP**, добавьте новый маршрут.\
Данная настройка выполняется для исходящих звонков.

![](/files/-MGIMmHMHyXpb2AZ3aD1)

### Вкладка SIP в GSM

Создайте новый маршрут для маршрутизации SIP > GSM.\
Данная настройка выполняется для настройки входящих звонков.

![](/files/-MGINmOKqmAn8paaSPuv)

На этом настройка окончена.\
Если все данные введены верно, то все лини SIP должны отображаться как Зарегистрировано, а лини GSM подключены и будет отображаться уровень сигнала для каждой линии.

![](/files/-MGIOZL89XkEWnrNMBKs)

## Подключение внешних линий в Axatel

Подключитесь к веб-интерфейсу Axatel и откройте **Настройки**.

![](/files/-MFVENYZRhcH1zDTPDy6)

### **Подключение Sip провайдера**

В левом меню выберите Каналы коммуникаций >> SIP провайдеры.

![](/files/-MFVF6fqHYMprKaNFwI7)

Нажмите на кнопку **Новый объект** для подключения шлюза провайдера.

![](/files/-MFVG6yVXvhV9MX2QEAl)

\
\
В открывшемся окне раздела **Основные**, введите Код - имя подключения и количество линий.

![](/files/-MG0Ea9WNXzfLvzM0cIg)

Далее в разделе **Аутентификация**, введите данные выданные провайдером.

![](/files/-MFV_0nG8-O32hFZEVN5)

В разделе **Подключение** укажите адрес **Outbound Proxy (**&#x442;акой же как и адрес сервера).

![](/files/-MFV_DrrD_KuZbjKznyw)

Настройка маршрутизации звонка

Для того чтобы вы могли совершать исходящие и могли принимать входящие звонки, нужно настроить маршрутизацию.\
Перейдите в раздел **Маршрутизация звонка**.<br>

### **Выбор вектора**

{% hint style="info" %}
Файл route\_data\_table .csv с заранее созданными векторами для совершения различных вариантов исходящих и входящих звонков, вы можете скачать по ссылке ниже.\
В данном разделе мы лишь опишем принцип создания вектора.
{% endhint %}

{% file src="/files/-MG0H2NslNMwZ8TndIhm" %}

Нажмите на кнопку **Новый объект** для создания вектора.\
В новом окне нужно прописать Маску номера назначения.\
В нашем примере мы разрешаем все исходящие звонки на белорусские номера.

![](/files/-MFVbJbcplmdK5dFDmtP)

Таким же образом нужно создать правило для входящих звонков.\
В нашем примере мы разрешаем любые входящие с внешней линии.

![](/files/-MFVbbCTFxkjnawWWWcV)

### **Выбор правила**

{% hint style="info" %}
Файл vectorrule\_data\_table .csv с заранее созданными правилами для совершения различных вариантов исходящих и входящих звонков, вы можете скачать по ссылке ниже.\
В данном разделе мы лишь опишем принцип создания правила.
{% endhint %}

{% file src="/files/-MGIPHJhWNFoaUf1dp3n" %}

Создайте новое правило для исходящих звонков.\
Выберите нужный вектор и укажите Оператор SIP для исходящих звонков.

![](/files/-MG0Ij5r6iLBLeunlTPK)

Таким же образом нужно создать правило для входящих звонков.\
Выберите нужный вектор.\
В поле Действие укажите Код абонентских функций, для того чтобы входящие звонки поступали на IVR.

![](/files/-MFVdSZckNqz7gd6iCb2)

### **Коды абонентских функций**

Создайте новый объект.\
В поле Префикс укажите Yeastar.\
Типа сценария - IVR\
Дополнительный параметр - 001IVR.

![](/files/-MFVduve-JM_rJ1XJGXC)

### **Нормализация номеров**

{% hint style="info" %}
Файл provider\_callerid\_data\_table.csv с заранее созданными правилами для совершения различных вариантов исходящих и входящих звонков, вы можете скачать по ссылке ниже.\
В данном разделе мы лишь опишем принцип создания правила нормализации звонка.
{% endhint %}

{% file src="/files/-MGIPMCG1IEXksbC50k7" %}

Откройте раздел Нормализация номеров внешних и создайте новый объект.

![](/files/-MFVf01lOBg61H00w7_v)

В нашем примере правило создано для исходящих на внешнюю линию.\
Основные параметры:

Направление источника - Исходящий на внешнюю линию\
Изменение номера источника - Номер телефона предоставляемый Anitex\
Изменение номера назначения - 80/xxx/\*

Теперь нужно создать правило для входящих звонков.<br>

![](/files/-MFVfXXXDBh4KNA0sdLU)

Основные параметры:

Направление источника - Направление с внешней линии\
Изменение номера источника - 375/xx/\*\
Изменение номера назначения - Yeastar


# Подключение внешних провайдеров


# Подключение городских SIP номеров у компании «ANITEX» РБ

Напишите заявление  на фирменном бланке компании и отправьте его на электронный адрес: (<dogovor@anitex.by>)

![](/files/-MGNChACH29_fdgWspHl)

В заявлении нужно указать следующую информацию:

«Прошу подключить городской телефонный номер по протоколу SIP»

* &#x20;Количество и тип подключаемых номеров\
  (одноканальный/многоканальный (количество каналов)<br>
* Указать, что номера должны быть ранее неиспользуемые<br>
* Используемый внешний статический IP-адрес<br>
* Реквизиты организации<br>
* Тип требуемой связи -  городские\мобильные\международные

Ответное письмо от компании Анитекс будет содержать следующую информацию и документы:&#x20;

* Список доступных номеров.
* Трехсторонний договор (Белтелеком, Анитекс, Заказчик),
* Доверенность (для получения паролей к номерам),
* Счет.

Необходимо распечатать и подписать 3 экземпляра договора.

Все три экземпляра выслать: ООО "Анитэкс" по адресу 220004, г. Минск, ул. Кальварийская, 1-424

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

{% hint style="info" %}
Доверенность можно прислать по электронной почте.
{% endhint %}

После подключение номеров нужно написать заявление для отключения возможности совершения международных вызовов своему оператору связи.\
Подробнее об этом вы можете почитать по ссылке ниже:

{% content-ref url="/pages/-MBuw533dLAc\_syQv52f" %}
[Операторская защита](/bezopasnost-ip-telefonii/operatorskaya-zashita)
{% endcontent-ref %}

Oфис (абонентский отдел):\
г. Минск, ул. Кальварийская 1-424 (ст. метро "Фрунзенская")\
Тел/факс: +375 17 388 00 05\
E-mail: <dogovor@anitex.by>\
Время работы: Пн-Пт с 09:00 до 17:00, Сб-Вс - выходные дни

Настройка Axatel

Подключитесь к веб-интерфейсу Axatel и откройте **Настройки**.

![](/files/-MFVENYZRhcH1zDTPDy6)

**Подключение Sip провайдера**

В левом меню выберите Каналы коммуникаций >> SIP провайдеры.

![](/files/-MFVF6fqHYMprKaNFwI7)

Нажмите на кнопку **Новый объект** для привязки номера ANITEX.

![](/files/-MFVG6yVXvhV9MX2QEAl)

В открывшемся окне раздела **Основные**, введите Код - имя подключения и количество линий.

![](/files/-MFVZjGZe34HDVoYBCgc)

Далее в разделе **Аутентификация**, введите данные выданные провайдером.

![](/files/-MFV_0nG8-O32hFZEVN5)

В разделе **Подключение** укажите адрес **Outbound Proxy (**&#x442;акой же как и адрес сервера).

![](/files/-MFV_DrrD_KuZbjKznyw)

Настройка маршрутизации звонка

Для того чтобы вы могли совершать исходящие и могли принимать входящие звонки, нужно настроить маршрутизацию.\
Перейдите в раздел **Маршрутизация звонка**.<br>

**Выбор вектора**

Нажмите на кнопку **Новый объект** для создания вектора.\
В новом окне нужно прописать Маску номера назначения.\
В нашем примере мы разрешаем все исходящие звонки на белорусские номера.

![](/files/-MFVbJbcplmdK5dFDmtP)

Таким же образом нужно создать правило для входящих звонков.\
В нашем примере мы разрешаем любые входящие с внешней линии.

![](/files/-MFVbbCTFxkjnawWWWcV)

**Выбор правила**

Создайте новое правило для исходящих звонков.\
Выберите нужный вектор и укажите Оператор SIP для исходящих звонков.

![](/files/-MFVcn4dCJYc2BbmwHik)

Таким же образом нужно создать правило для входящих звонков.\
Выберите нужный вектор.\
В поле Действие укажите Код абонентских функций, для того чтобы входящие звонки поступали на IVR.

![](/files/-MFVdSZckNqz7gd6iCb2)

**Коды абонентских функций**

Создайте новый объект.\
В поле Префикс укажите ANITEX.\
Типа сценария - IVR\
Дополнительный параметр - 001IVR.

![](/files/-MFVduve-JM_rJ1XJGXC)

**Нормализация номеров**

Откройте раздел Нормализация номеров внешних и создайте новый объект.

![](/files/-MFVf01lOBg61H00w7_v)

В нашем примере правило создано для исходящих на внешнюю линию.\
Основные параметры:

Направление источника - Исходящий на внешнюю линию\
Изменение номера источника - Номер телефона предоставляемый Anitex\
Изменение номера назначения - 80/xxx/\*

Теперь нужно создать правило для входящих звонков.<br>

![](/files/-MFVfXXXDBh4KNA0sdLU)

Основные параметры:

Направление источника - Направление с внешней линии\
Изменение номера источника - 375/xx/\*\
Изменение номера назначения - Anitex &#x20;


# Основные термины

**IP-телефония** - общее название для технологии телефонной связи через протокол IP (Internet Protocol - дословно "межсетевой протокол"). VoIP-телефония, SIP-телефония – синонимы IP-телефонии.

## **1.** **Используемые и интегрируемые сети**

**Сеть IP** - это сеть, построенная на базе протоколов TCP/IP, с помощью которых можно создать как локальные, так и глобальные сети. К таким сетям относятся Интернет, любая локальная компьютерная сеть, локальная сеть с выделенной телефонной сетью. Именно по таким сетям происходит передача данных в IP-телефонии.

**OSI (Open Systems Interconnection basic reference model)** – это модель, которая показывает, как связано между собой сетевое оборудование компании: в него входит маршрутизатор, сетевая карта, SIP-телефон и т. д. Оборудование может взаимодействовать на 7 уровнях: физический, канальный, транспортный, сеансовый, сетевой, уровень приложений, уровень представления.

**VoIP (Voice over IP - дословно "голос по интернет протоколу")** - более частное название технологии, включает все варианты передачи голоса и видео по сети (в том числе и просмотр фильмов онлайн, видео наблюдение, вебинары и прочее).

**PDN, или СПД ОП (сеть общего пользования)** – это любая сеть общего доступа, которую может создать как, например, администрация города, так и крупная частная компания. В эту категорию сетей входит и IP-телефония.

**PSTN, или ТфОП** – телефонная сеть общего пользования, которая работает с помощью обычных аналоговых телефонов. Ее легко подключить к IP-сети через VoIP-шлюз. Большинство компаний именно так и подключает IP-телефонию.

**ISDN, или ЦСИО** – цифровая сеть. Это многоканальная телефония, которая передает цифровой сигнал через телефонную сеть со скоростью до 64 кбит/с. Объединяет в себе телефон, факс, передачу изображений и видео. У этой сети есть 2 интерфейса – BRI и PRI. В бизнесе чаще всего используют вариант PRI, он же поток Е1.

**AVVID (Architecture for Voice, Video and Integrated Data)** – это решение Cisco, архитектурная модель построения сетей IP-телефонии. Она нужна, чтобы создать цифровую телефонию на базе корпоративной IP-сети или чтобы подключить IP-телефонию компании к телефонной сети общего пользования. А также для создания сети видеотелефонии внутри компании. В этой модели построения сети есть 4 уровня: инфраструктура, приложения, клиентский уровень и уровень обработки вызовов.

**FMC (Fixed Mobile Convergence)** – технология, которая позволяет сотрудникам звонить по коротким внутренним номерам на мобильные и офисные телефоны внутри сети компании.

**CTI (Computer Telephony Integration)** – технология, которая подключает компьютеры и ноутбуки к обычной телефонной сети.

## **2.** **Протоколы и их элементы**

**IP (Internet Protocol)** – маршрутизируемый межсетевой протокол, обеспечивающий соединение с помощью коммутации каналов. Именно он объединяет все компьютеры в единую всемирную сеть Интернет. Находится на сетевом уровне модели OSI. Этот протокол осуществляет обмен пакетами данных между различными узлами сети, независимо от количества промежуточных узлов.

**UDP (User Datagram Protocol)** – протокол транспортного уровня OSI, базирующийся на IP-протоколе и позволяющий осуществлять передачу данных, не устанавливая при этом соединения. Он не потребляет много трафика, так как не способен обеспечить корректность или подтверждение передачи данных и не может отправить их повторно.

**RTP (Real-time Transport Protocol)** – еще один из протоколов транспортного уровня, работающий поверх UDP-протокола. Осуществляет передачу данных в режиме реального времени. С его помощью можно присваивать временные метки каждому исходящему пакету данных, благодаря чему можно контролировать их передачу, принимать их в правильном порядке, а также синхронизировать аудио и видео данные.

**SIP (Session Initiation Protocol)** – протокол, обеспечивающий установку связи между абонентами IP-сети для обмена мультимедийными данными. Может работать поверх других транспортных протоколов. Отвечает за процедуру регистрации, установление и завершение пользовательского сеанса связи с соответствующей сигнализацией.

**SIP-провайдер** - компания, предоставляющая услуги связи и телефонные номера для IP-телефонии.

**SIP-номер** – это телефонный номер в IP-сети, который выдает провайдер IP-телефонии. С него можно звонить и передавать мультимедийные данные.

**SIP-адрес** – уникальный адрес абонента внутри IP-сети, который строится по типу SIP\_ID\@domain. Он позволяет зайти в сеть с ноутбука, мобильного или планшета и звонить, принимать звонки через внешние IP-сети на свой номер, данный провайдером.

**SIP-порт** – традиционно это порт 5060 TCP или UDP. Он соединяет элементы в SIP-сети, передает и принимает данные.

**SIP-сигнализация** – передается по SIP-порту и отвечает за обмен данными.

**SIP-сервер** – сервер, связывающий все SIP-оборудование (маршрутизатор, плату, телефоны). В настройках его можно увидеть под значком «SIP-сервер» или Proxy.

**H.323** – протокол на уровне модели OSI. Он содержит стандарты для передачи мультимедиа в сетях с пакетной передачей.

**MGCP** – протокол, который управляет VoIP-шлюзами.

**Megaco/H.248** – протокол, который можно считать новой версией MGCP. Он связывает шлюз и контроллер шлюза в сетях с коммутацией каналов.

**SIGTRAN** – группа из семи протоколов для связи традиционной телефонной сети и VoIP.

**SCTP (Stream Control Transmission Protocol)** – протокол транспортного уровня. Относится к новым протоколам и гарантированно доставляет данные по IP-сети, а еще дает синхронное соединение между хостами и защиту от DDoS-атак.

**SCCP (Skinny Client Control Protocol)** – это закрытый протокол. По сути, он аналогичен протоколу SIP. Отличается лишь закрытостью, потому что используется только в шлюзах и IP-телефонах производителя CISCO.

**IAX2** – протокол, который отвечает за обмен данными между корпоративными IP-сетями на Asterisk.

**SRTP (Secure Real-time Transport Protocol)** – протокол, который шифрует и защищает передаваемые данные в режиме реального времени.

**ZRTP** – протокол, который согласует ключи шифрования по методу Диффи – Хеллмана в VoIP-системах. После завершения соединения ключ уничтожается, и это гарантирует полную секретность данных и позволяет обнаруживать атаки.

**TCP (Transmission Control Protocol)** – основной протокол передачи данных в сетях, в том числе и в интернете. Отличается надежностью: устанавливает соединение, повторно запрашивает данные, убирает дубли, гарантирует целостность данных.

**ATM** – высокоскоростная технология коммутации и мультиплексирования для асинхронной передачи данных. Нужна там, где передаются данные с отличающимся битрейтом.

**NАТ (Network Address Translation)** – преобразователь, который пересылает внутренние IP-адреса во внешние. Нужен для защиты локальной (внутренней) сети с выходом в интернет. Решает проблему нехватки реальных IP-адресов.

**Кодек** – программа, которая сжимает видео и аудио для быстрой и легкой передачи их по сети. В VoIP используют кодеки G.711, G.726-32, G.726-16 и др.

**VAD (Voice Activity Detector)** – детектор в кодеке, который сжимает звуковой сигнал и определяет промежутки времени, в которые абонент говорит.

## **3.** **Системы и оборудование**

**Виртуальная АТС** – комплекс программ, с помощью которого можно реализовать функции АТС и организовать удобную корпоративную офисную связь. Такое программное обеспечение устанавливается на любой компьютер, ноутбук или удаленный сервер, а связь осуществляется через интернет.

**IP-PBX (Private Branch eXchange)** – офисная IP-АТС, ориентированная на использование внутри компании и работает на основе IP-протокола. Такие АТС бывают трех типов: аппаратные, программные и виртуальные. IP-PBX может объединять в единую интеллектуальную сеть офисные телефоны, либо сочетать локальную сеть и телефонную сеть общего пользования.

**Прокси-сервер** – сервер, который выступает посредником между основным сервером и пользователями. Он позволяет им выполнять непрямые запросы к другим сетевым службам и получать ответы. Такие сервера применяются для обеспечения доступа локальных компьютеров к сети интернет, для кэширования и сжатия данных, для защиты локальной сети, а также для ограничения ее доступа во внешнюю сеть.

**IP-телефон, VoIP-телефон, SIP-телефон** – это телефонный аппарат, с помощью которого можно организовать голосовое общение пользователей по IP-сетям.

**VoIP-шлюз** – устройство, благодаря которому к сетям IP-телефонии можно подключить офисные мини-АТС и обычные телефонные аппараты.

**Маршрутизатор (Router)** – специализированное устройство, которое пересылает пакеты данных между различными сетевыми точками. Как правило, на всем пути передачи пакетов встречается несколько таких точек, где также установлены роутеры.

**Коммутатор (свитч)** – устройство, соединяющее несколько сетевых узлов в одном или нескольких сетевых сегментах.

**Gatekeeper диспетчер (гейткипер)** – дополнительное устройство, подключаемое исключительно к IP-сети и позволяющее выполнять различные базовые функции сети IP-телефонии: аутентификацию и авторизацию пользователей, распределение вызовов между шлюзами, регистрацию оборудования, взаимодействие с другими гейткиперами и другое.

**Порты: FXO, FXS, E\&M, BRI, PRI.** Порт FXO используется для подключения аналоговых телефонов к IP-АТС. Шлюз FXO эмулирует работу телефонного аппарата. Порт FXS – это голосовой интерфейс, который эмулирует работу АТС, позволяющий подключить обычный телефонный аппарат или шлюз FXO. E\&M представляет собой двухпроводной или четырехпроводной интерфейс, аналогичный по функционалу порту FXS. BRI – базовый интерфейс доступа к сети, состоящий из 3 каналов, чаще всего используется для домашнего пользования или небольших компаний. PRI – первичный или основной интерфейс доступа к сети. Состоит из 31 канала и используется в основном для подключения к телефонии крупных предприятий.

**Аналоговый адаптер** - адаптер для подключения аналоговых телефонов к сети IP телефонии. От шлюзов отличается отсутствием возможности подключения к ТФОП. Синонимы: АТА адаптер, VoIP адаптер, SIP адаптер, SIP ATA.

## **4.** **Программы и приложения**

**CRM (Customer Relationship Management** - система управления взаимоотношений с клиентами) - система организации отношений с клиентами, как правило, содержит контактные данные, историю взаимоотношений, переговоров и покупок клиента. Интеграция СRM-систем и IP-телефонии на сегодняшний день – один из основных инструментов для бизнеса.

**Биллинговая система (Billing System)** – программное обеспечение, предназначенное для учета, аналитики, тарификации расходов за телефонные переговоры и выставление счетов. Чаще всего идет в связке с IP-телефонией.

**Софтфон** – программный продукт, предназначенный для совершения видео- и голосовых звонков посредством Интернета. Для полноценной работы программного телефона необходима гарнитура, веб-камера, если планируется видеосвязь, колонки и микрофон.

**Softswitch** – программный коммутатор, использующийся для обеспечения полноценной работы услуг аналоговой и IP-телефонии. Поддерживает работу всех протоколов, необходимых в работе IP-телефонии.

**TAPI (Telephony Applications Programming Interface)** – стандартный интерфейс для разработки программных приложений для телефонии. Разработан на базе Microsoft Windows. Позволяет подключать персональные компьютеры к аналоговым телефонным аппаратам и офисным АТС.

**API** – интерфейс прикладного программирования, представляющий собой описание различных способов, с помощью которых возможно взаимодействие двух компьютерных программ. Используется разработчиками софта для написания приложений.

**Least Cost Routing System (LCR)** – функция, отслеживающая в режиме реального времени изменения тарифов, что позволяет проложить маршрут между двумя абонентами по пути наименьшей стоимости телефонного соединения.

## **5.** **Сервисы**

**IVR (Interactive Voice Response - интерактивный голосовой ответ)** - система голосовых сообщений в ответ на действия пользователя. Для взаимодействия используется тональный набор на телефоне. Может применяться, например, для перевода звонка определенному абоненту, или для голосований и оценки качества обслуживания.

**Direct Dial-In (DDI)** – технология, позволяющая совершать вызовы из телефонной сети общего пользования сразу на внутренний номер абонента, минуя соединение с оператором или голосовое меню.

**Call Detail Record** – CDR данные о звонке. Чаще всего используются в биллинговой программе для формирования телефонных счетов и оценки использования трафика.

**Callback** – услуга, которая позволяет совершать международные звонки по тарифам IP-телефонии. Использование данной функции дает возможность клиенту соединиться с нужным абонентом так, что звонок для обоих будет квалифицироваться как входящий.

**Call-tracking** – технология отслеживания звонков, с помощью которой можно выявить наиболее эффективный канал рекламы.

**Номера Toll Free** – телефонные номера с кодом 8800, звонки на которые будет оплачивать принимающий абонент. Такие номера часто используются при звонках в техподдержку компании.

**Номера DEF** – телефонные номера с кодами не географической нумерации, например мобильные номера: 8926…, 8958... и т.п.

**WebRTC** – благодаря такой технологии можно совершать видеозвонки через браузер. Для того, чтобы присоединиться к звонку, пользователю следует лишь перейти по ссылке на нужную страницу.

**DNIS (Dialed Number Identification System)** – система определения номера при входящем звонке.

**Монитор (Administration manager)** – один из дополнительных модулей IP-телефонии, использующийся для удаленного администрирования различных сетевых устройств: шлюзов, диспетчеров.

**PoE (англ. Power Over Ethernet)** - технология, позволяющая подавать питание устройству через сеть Ethernet (внутреннюю компьютерную сеть). Для работы нужно чтобы все устройства поддерживали эту технологию. В случае с организацией офисной АТС Komunikator - роутер и sip телефон должны поддерживать PoE.

**Ethernet** - технология передачи данных в компьютерных сетях, часто LAN (локальную компьютерную сеть) называют Ethernet.

**WAN (Wide Area Network)** - Глобальная Компьютерная Сеть (Интернет). Соответственно порт WAN - порт для подключения к Интернет.

**LAN (Local Area Network)** - Локальная (внутренняя) Компьютерная Сеть. Порт LAN служит для подключения компьютеров и объединения их в локальную сеть.

**Wi-Fi (англ. Wireless Fidelity - Беспроводное качество, беспроводная точность)** - Беспроводная сеть передачи данных стандарта IEEE 802.11, которая содержит как минимум одну точку доступа и не менее одного клиента.

**Хостинг (англ. Hosting, производная от host - гость)** - услуга по размещению информации (например, сайт) на сервере, находящемся в сети Интернет.

## **6.** **Процессы и явления**

**Аналого-цифровой преобразователь (АЦП)** – устройство, которое с помощью импульсно-кодовой модуляции преобразует аналоговый сигнал в цифровой.

**Цифро-аналоговый преобразователь (ЦАП)** – устройство, благодаря которому можно цифровой двоичный сигнал преобразовать в аналоговый.

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

**Передача данных** – это физический перенос цифровых данных от одной точки к другой или между несколькими точками в виде сигнала по каналам передачи данных для последующей обработки их средствами вычислительной техники.

**Джиттер** – изменение (скачки) времени задержки при передаче пакетных данных. Это может произойти вследствие загруженности сети, нестабильной работы оборудования или ограниченной полосы пропускания.

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

## **7.** **Параметры и показатели**

**ASR/ABR** – статические параметры, определяющие отношение количества принятых звонков к общему числу попыток совершения звонка. Данная величина выражается в процентах и характеризует уровень дозвона.

**ACD** – статическая величина, показывающая среднюю продолжительность вызова в различных направлениях.

## 8. Удовлетворенность клиентов

**Abandoned Calls –** потерянные (неотвеченные) вызовы в процентном соотношении.

**Answered Calls** − процент успешно отвеченных вызовов в общей очереди.

**Blocked Rate** - доля обращений с отказом в обслуживании.

**ATA time (Average Time to Abandon)** – среднее время ожидания клиентов, завершивших звонок до ответа оператора.

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

**Call Transfers** (процент перенаправленных звонков) - те звонки, которые операторы передали своим более квалифицированным коллегам. Когда этот показатель слишком велик, это может означать, что выбрана неправильная стратегия обработки звонков;

**FCR** (**First Call Resolution) -** процент решенных вопросов с первого обращения, число тех звонков, которые поступили в колл-центр и произошли однократно в течение определенного промежутка времени;

**Hold Time (Время удержания)** — период времени, в течении которого абонент находится на удержании, в то время, как оператор ищет какие-либо данные, чтобы решить проблему абонента.

**Calls (Contacts) Resolved** — отношение числа абонентов, вопросы которых были решены в контакт-центре, к общему числу обратившихся в контакт-центр абонентов.

**CEA (Critical Error Accuracy)** - доля контактов без критичных ошибок:

* с точки зрения конечного потребителя/клиента (**End-User CEA**);
* с точки зрения бизнеса (**Business CEA**);
* с точки зрения требований закона и других регулирующих норм (**Compliance CEA**);

**Overall End-user Satisfaction** — индекс удовлетворенности абонентов. Отношение числа абонентов, поставивших положительные оценки обслуживанию в контакт-центре, к общему числу опрошенных абонентов

**Overall End-user Dissatisfaction** — индекс неудовлетворенности абонентов. Отношение числа абонентов, поставивших наименьшую оценку обслуживанию в контакт-центре, к общему числу опрошенных абонентов

**CES (Customer Efforts Score)** —  индекс количества усилий, которые клиенты (по их оценке) прикладывают при обращении в контакт-центр для решения своего вопроса (в более широком контексте этот показатель используется для оценки усилий клиентов при обращении в компанию, а не только в контакт-центр)

**Overall Client Satisfaction** — индекс удовлетворенности заказчиков. Отношение числа заказчиков, поставивших положительные оценки работе контакт-центра, к общему числу опрошенных заказчиков

**On Time Complaint Handling** — доля жалоб заказчиков, которые были решены в установленные сроки (или на которые заказчикам поступила реакция в установленные сроки), по отношению к общему числу жалоб заказчиков.

## 9. Операционная эффективность

**AHT (Average Handling Time)** **−** среднее количество времени, потраченное на обработку вызова. По умолчанию состоит из времени, потраченного на ожидание, непосредственный диалог и постобработку звонка.

**ACW (After Call Work Time) −** средняя продолжительность времени на постобработку звонка.

**ATT (Average Talk Time) –** среднее время разговора оператора с абонентом.

**Service Level −** уровень сервиса, процент вызовов, обработанных оператором в пределах установленного времени (например, в течение не более 20 секунд ожидания в очереди).

**TCV (Total Contact Volume)** - количество поступивших на очередь звонков.

**ASA (Average Speed to Answer)** – средняя скорость ответа.

**Average Time in Queue (ATQ) -** Общее время ожидания клиента в очереди звонков.\
\
**Average Hold Time** — среднее время удержания

**AWT (Average Waiting Time)** - среднее время ожидания абонентом ответа.

**MWT (Maximum Waiting Time)** – максимальное время ожидания.

**ART (Average Ring Time)** - среднее время вызова оператора.\
\
**Average Wrap-Up Time** — среднее время поствызовной обработки. Поствызов начинается в момент разрыва соединения и заканчивается, когда оператор переходит в статус “готов к обработке следующего звонка” (например, если закрывает карточку контакта в CRM).&#x20;

**Average Connection Time** — среднее время соединения Occupancy (OCC) — коэффициент загрузки операторов. Очень важный показатель, который напрямую связан с экономикой контакт-центра. Равен отношению суммарного времени за период, которое операторы затратили на обработку контактов, к суммарному времени нахождения операторов в линии за тот же период.&#x20;

**Occupancy** - нагрузка операторов, отношение затрат времени на обработку контактов к сумме времени на обработку и времени в состоянии готовности к обработке.

**AAT (Average Available Time)** - среднее время простоя операторов в статусе «готов».

**PT (Productive Time)** - время, которое оператор обрабатывал или ожидал звонки в статусе «готов».

**UR (Utilization)** – загруженность операторов, отношение суммы времени на обработку контактов и времени в состоянии готовности к обработке ко всему времени, оплачиваемому персоналу.

**Phone Etiquette (Телефонный этикет)** — квалификационная метрика, иллюстрирующая вежливость оператора и показывающая, часто ли он использует такие приемы, как «приветствие клиента по имени, спокойная и понятная речь, подтверждение взаимопонимания».

**Knowledge and Professionalism (Знания и профессионализм)** — другая квалификационная метрика, показывающая, насколько оператор осведомлен о товаре, услугах, процессах, предоставляемых колл-центром.

**Adherence to Procedures (Следование инструкциям)** — еще одна квалификационная метрика, показывающая, насколько оператор придерживается стандартов предприятия в течении обработки звонка. Насколько его действия соответствуют сценарию разговора, а также нормам вежливости, как, например, правильное приветствие и корректное завершение разговора.

**Sales Rate** — количество результатов, полученных за единицу времени (скорость получения результатов). Например, количество обработанных контактов за час или количество успешных контактов с абонентами за час (определение успешности зависит от контекста проекта).&#x20;

**CSS Utilization (UTZ)** — коэффициент использования персонала. Важен не менее, чем OCC, и тоже прямо связан с экономикой.&#x20;

## 10. Эффективность голосового меню

**IVR routing Accuracy** – число абонентов, получивших исчерпывающие ответы на свои вопросы после выбора в системе IVR.

**IVR exit rate** – количество клиентов, которые после прослушивания информации в IVR перешли к диалогу со специалистом.

**Abandonment Rate in IVR** - доля обращений, потерянных при обработке , когда клиент покинул голосовое меню без достижения какой-либо цели.

**Self Service Rate -** как доля обращений, обработанных в режиме самообслуживания.

**RA (Routing Accuracy) –** точность маршрутизации обращения, доля обращений от общего числа поступивших в IVR, корректно перенаправленных в группу операторов в соответствии с темой обращения.

## 11. Результативность

**Closure Rate (процент конверсии)** - отношение числа контактов, завершившихся продажей, к общему числу обработанных контактов.

**Completion Rate -** число попыток дозвона, деленное на количество записей в базе данных.

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

**Sales Amount –** доход от одной продажи, либо общий доход по всем продажам за определенный период.

**Conversation Rate -** % обращений, закончившихся продажей от отработанных.

**Right Party Connection –** процент контактных лиц, на которых удалось выйти, по отношению к количеству обработанных позиций базы обзвона.

**ER (Escalation Rate) –** процент эскалированных (переведенных) вызовов от всех инициированных.

**EA (Escalation Accuracy) –** процент корректно переведенных звонков (на другую линию, в другой колл-центр, на других сотрудников) с точки зрения установленных на проекте алгоритмов.

**Escalation Rate\***— доля обращений (от общего числа обращений), которые были переведены в другие группы для обработки (раньше в более узком смысле использовался **Transfer Rate)**

**Escalation Accuracy** — правильность перевода — отношение числа контактов, которые были переведены правильно (в нужную группу), к общему числу контактов, которые были переведены.

## Продажи и результативность

**Completion Success (CS)** — объем выручки или прибыль за определенный период

**Sales** — доля продаж, в которых сумма чека не ниже плановой, по отношению к общему количеству продаж

**Коэффициент выполнения плана** — например, для выполнения плана по продажам (может рассчитываться и относительно других показателей, для которых заданы допустимые и плановые значения)

**Closure Rate (%CR)** — конверсия обработанных контактов в результативные — например, отношение числа контактов, завершившихся продажей, к общему числу обработанных контактов

**Reachability** — достижимость (другое название — **Contact Rate**) — отношение числа состоявшихся контактов с лицом, принимающим решения (ЛПР), к числу обработанных записей из базы данных.


# Администрирование

### ОмниАТС

Интеграция голосовых и web (api/rest) каналов в едином клиентском домене управления и интеграции. Позволяет создавать единые правила обслуживания входящих и исходящих обращений, маршрутизацию клиента и внутренних сотрудников.

* Единое управление различными типами внешних каналов
* Возможность создания преднастроенных интеграций с различными сервисами и информационными системами (быстрая доставка до клиента, возможность дополнительного лицензирования)
* ОмниКанальный контактный центр для обслуживания входящих обращений и исходящих кампании
* Портал обслуживания клиента, установка Ролевых приложений, поддержка websocket каналов
* Гибкая ролевая модель доступа к различным приложениям портала
* Распределение нагрузки и отказоустойчивость за счет возможности поддержки нескольких одновременных каналов между клиентом и разными Web-серверами Аксател

Содержание

Продукт ОмниАТС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3\
Web интерфейс администрирования КД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Аутентификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Главная страница . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Основной экран WEB приложения Администрирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\
Горячие клавиши . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\
Общие настройки разделов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\
&#x20;Маски и модификации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Управление расписанием активности правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17\
Разделы администрирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Каналы коммуникаций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\
SIP устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21\
SIP провайдеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 Внешние интеграции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Обработка звонка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42\
IVR сценарии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Очереди . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 Групповые номера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Правила переадресации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 Обработка сервиса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 Служебные сценарии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56 Служебные задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Ролевые приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60 Маршрутизация. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65\
&#x20;Выбор вектора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 \
Выбор правила . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68\
Коды абонентских функций. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73\
Нормализация номеров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Нормализация кросс-доменных звонков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 Нормализация номеров внешних линий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Управление записями разговоров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Правила хранения записей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88\
Правила записей разговоров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Настройки домена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92\
Общие настройки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92 Пользователи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Рабочее расписание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Адресная книга . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100

Подробное описание, вы найдете в прикрепленном файле ниже.

{% file src="/files/-MGxCXoA5Aujdj\_exu1K" %}
Администрирование Аксател
{% endfile %}


# Интеграции


# CRM системы


# АМОCRM

Приложение интеграции с IP-телефонией Axatel и AMOCRM

![](https://xecoli8508.amocrm.ru/widgets/amo_axatel/3/images/ru/tour_images/tour_image_3a4c6f954e4a9978fe884462c4c5a586.jpg)![](https://xecoli8508.amocrm.ru/widgets/amo_axatel/3/images/ru/tour_images/tour_image_3a4c6f954e4a9978fe884462c4c5a586.jpg)![](https://xecoli8508.amocrm.ru/widgets/amo_axatel/3/images/ru/tour_images/tour_image_426b9b42448546b6c4b349a93bfc1fc8.jpg)![](https://xecoli8508.amocrm.ru/widgets/amo_axatel/3/images/ru/tour_images/tour_image_f8bc683012c2e2fc2f33d695c3f05985.jpg)

Данная интеграция позволяет осуществлять: отображение уведомления о звонке, прикрепление звонков в карточку контакта, направление звонков ответственному в карточке, набор клиента кликом по номеру контакта.


# AlfaCRM

Документ в разработке, релиз 30.09.2020г.


# Битрикс24

## &#x20;**Технические требования для работы с приложением Axatel**

Зарегистрированный портал Битрикс24 на платформе [bitrix24.ru](https://www.bitrix24.ru)

## **Установка приложения**

Зайдите  в раздел **Все приложения** и в окне поиска введите Axatel. \
Нажмите на кнопку **посмотреть** приложения Axatel.

<https://www.bitrix24.by/apps/?app=aksata.axatel>&#x20;

![](/files/-MF5Bb_qIgOwJ1or8kLE)

Нажмите на кнопку **Установить**.

&#x20;

![](/files/-MF5Bb_rRzrznxqZhBRG)

В открывшемся окне ознакомьтесь с лицензионным соглашением и политикой конфиденциальности, после чего нажмите на кнопку  **Установить**.&#x20;

![](/files/-MF5Bb_sm-2mPv4cqkbF)

Следующим шагом необходимо ввести контактные данные и отправить форму для того, чтобы создать виртуальную АТС.\
&#x20;

{% hint style="info" %}
На указанный адрес электронной почты будут высланы данные для регистрации.
{% endhint %}

![](/files/-MF5Bb_trS_LwR_4Eb8Z)

## **Настройка приложения**&#x20;

Откройте приложение Axatel в верхней части интерфейса Битрикс24.

![](/files/-MF5Bb_u9XzHR_l-GeNz)

Система перенаправит вас в приложение для ввода данных.

![](/files/-MF5Bb_vRP4MqbLfqww4)

{% hint style="info" %}
Приложение автоматически проверят введенные данные на корректность перед сохранением.
{% endhint %}

\
**Уникальный ключ, IP-адрес, Токен станции** – нужно скопировать из полученного письма.

***Внутренний номер пользователя обратного звонка из CRM-форм*** - \
В данном поле нужно указать внутренний номер специалиста, который будет обрабатывать звонки, после того как будет заполнена CRM-форма на сайте.

Выберите ***тип звонка ClickToCall*** –  INTERCOM

Нажмите на кнопку **Сохранить** для применения настроек.

### **Раздел Операторы.**

![](/files/-MF5Zft4C7e2N1M40V_e)

В разделе **Операторы** будут отображены все пользователи, у которых в профиле пользователя указаны ФИО, внутренний номер и мобильный номер телефона.

![](/files/-MF5Bb_zY5gvZp0SV-Xr)

### &#x20;**Раздел BlackList**

BlackList (черный список) содержит номера телефонов, при звонке с которых звонок не будет проходить.

Для того, чтобы добавить номер телефона, нажмите на  кнопку **Добавить** и введите  номер телефона.

![](/files/-MF5Bba-ehbSfeKDfAjY)

### **Раздел Поддержка**

Содержит форму для обращения в техническую поддержку.<br>

![](/files/-MF5Bba0AsxRJNKeWNvw)

## **Настройка прав доступа**

Настройка прав доступа производится **Установленные > Права доступа**.

![](/files/-MF5Bba17INgFIc_QerA)

![](/files/-MF5_u-vKjKO-5Lfwd7I)

В разделе Права доступа, вы можете предоставить доступ сотрудникам к управлению приложением  Axatel.

![](/files/-MF5Bba3gwk5huGSu3PN)

## **Настройка виждета на сайт**

Настроить виджет на сайт можно в раздел **СRM >  Еще > Виджет на сайт**

![](/files/-MF5Bba4fF75uj-r_KmO)

Выберите **Виджет на  сайт** и нажмите на кнопку **Редактировать**.

В открывшемся окне  активируйте **Обратный звонок**&#x20;

![](/files/-MF5Bba5Hwkvcdekq7Mm)


# 1С

## **Axatel Профон**

### Axatel Профон обеспечивает:

* Совершение и принятие вызовов по IP-каналам;
* Уведомление о заказе встречных звонков, пропущенных звонков, постановке звонка в очередь;
* Запись и прослушивание разговоров;
* Идентификация абонента;
* Обработка и хранение информации о взаимоотношениях с клиентами;
* Статистика соединений;
* Управление звонком с помощью компьютера;
* Автоматическое создание нового документа «Интерес» или других документов (например, «Заказ покупателя» и т. д.);
* Уведомление оператора о состоянии внутренних телефонных линий АТС (свободно/занято);
* Установка динамической маршрутизации звонков по правилам, загруженным из конфигурации на платформе «1С:Предприятие 8»;
* Использование «черно-белых» списков для контроля за входящими звонками;
* Загрузка общих адресных книг организации из «1С:Предприятие» с указанием контактной информации (внутреннего и сотового телефона), а также — фотографий сотрудников.

### Основные функции и преимущества:

* Режимы доступа к 1С: RDP, Толстый клиент, тонкий клиент.
* Установка на компьютер не требуется. Модуль встраивается в модификацию.
* Стабильно высокое качество связи.
* Единый журнал звонков. Он формируется как для каждого отдельного пользователя, так и для всей компании. В списке видны статусы вызовов, кто находится в очереди на прием звонка, и событие, введенное в системе.
* Аналитика звонков представлена анализом на уровне журнала всех вызовов со всеми статусами.
* Возможно получение неограниченной лицензии под индивидуальный заказ при подключении более 100 пользователей.
* Отказоустойчивый кластер SLA 99,97%.
* Нет ограничений по количеству пользователей.
* Есть возможность доработки. Код открыт.

### Когда стоит выбрать решение Axatel Профон:

* &#x20;Требуется единая точка входа информации для учетных систем на платформе «1С:Предприятие 8»
* Нет своей CRM, потребности закрывается функционалом Axatel Профон
* Нет необходимости закупать телефонные аппараты, достаточно иметь гарнитуру.
* Необходимо освободить руки менеджеров от телефонных трубок.
* Нужна гибкая система с возможностью индивидуальных модификаций.

### Дорожная карта внедрения:

1. Заключение договора
2. Консультация специалиста
3. Самостоятельное или профессиональное внедрение программного решения
4. 14-дневный тестовый период
5. Эксплуатация с последующей технической поддержкой

## Объединения конфигурации «ProPhone» для типового решения «1C:CRM, редакция 2.0».

Сначала в исходной конфигурации необходимо включить возможность изменения.\
Для этого необходимо выбрать пункт меню **Конфигурация** - «**Поддержка** - **Настройка поддержки**.

![](/files/-MHKdAM97nPNOXWFqy7a)

\
В отрывавшемся окне нажмите на **Включить возможно изменения.**

![](/files/-MHKgfUNcMMJa3OEjYmU)

\
&#x20; Подтвердите свои действия нажатием кнопки **Да**.

![](/files/-MHKeGW_OBzVayr5P_fF)

Закройте окно **Настройка поддержки** и перейдите в **Конфигурация > Сравнить, объединить с конфигурацией из файла...**

![](/files/-MHKfBjbbRJ6TTqirYjw)

В открывшемся окне, выберите файл поставки.

После выбора файла поставки откроется окно выбора поставщика и установки конфигурации на поддержку ProPhone: \
Необходимо нажать кнопку «Да». После этого открывается окно настройки соответствия объектов при сравнении и объединении конфигураций:&#x20;

В этом окне необходимо настроить следующие соответствия:&#x20;

* Выключить флажок в самой верхней строке иерархического дерева.&#x20;
* Нажать кнопку «Действия» и в открывшемся меню выбрать пункт «Отметить по подсистемам файла».&#x20;
* В появившемся окне включить флажок в строке ProPhone

Нажать кнопку «Установить».

&#x20;В окне «Сравнение, объединение…» включить флажок для подсистемы  ProPhone.

&#x20;В окне «Сравнение, объединение…» необходимо нажать кнопку «Действия», выбрать пункт меню «Установить режим для всех». В появившемся окне необходимо установить переключатели в положения, показанные на рисунке:

![](/files/-MHKgGnBZ2BotkivsNoY)

В окне «Сравнение, объединение…» необходимо нажать кнопку «Выполнить». \
Возможность хранить соответствия некоторой информации осуществляет объект конфигурации «Регистр сведений». В данной подсистеме «ProPhone» хранением информации служит регистр сведений «Контактная информация». Этот объект уже существует в таких типовых решениях, как «Управление производственным предприятием, Зарплата и управление персоналом и т.д. В некоторых же из них, в том числе и в типовой конфигурации «Управление торговлей» объект Регистр Сведений «Контактная информация» отсутствует.


# Сквозная аналитика


# Roistat


# Речевая аналитика и контроля качества


# COS

Control Operayor System

Интеграция выйдет до конца 2020г.


# Dealapp

DealAPP - набор инструментов для контроля качества и оценки звонков и других коммуникаций с клиентами.

Сервис позволяет управлять всем процессом контроля от оценки звонков и предоставления обратной связи сотрудникам до глубокой аналитики по каждому отделу или отдельной ситуации.

**С его помощью Вы легко и быстро сможете:**

* оценить разные виды коммуникаций по Вашим чек-листам на разных этапах воронки продаж и обслуживания клиента;
* на основании полученных оценок обнаружить проблемные области в качестве клиентского сервиса или продаж;
* вовремя среагировать на проблемные ситуации с клиентами и нивелировать негативные  последствия;
* проследить за выполнением поставленных задач по исправлению ошибок (в знаниях либо действиях сотрудников);
* собирать статистику по качеству коммуникаций с каждым клиентом;
* систематизировать процесс обучения персонала;<br>
* с помощью динамической аналитики следить за изменениями в знаниях и поведении вплоть до каждого контролируемого сотрудника;
* формировать базу знаний хороших и плохих кейсов для обучения новичков.\ <br>

Используйте все возможности **бесплатного тарифного плана "Старт"** для начала работы с DealAPP.\
Подробнее о тарифах по [ссылке.](https://dealapp.io/price)

## Настройка

Войдите под своей учетной записью в приложение dealapp.

![](/files/-MHNSdRDCk6uhVvhafpx)

В открывшемся окне, нажмите на имя учетной записи и выберите **Интеграции**.

![](/files/-MHNUIolNpYMHj0graAO)

Нажмите на кнопку **Установить** в приложении **Custom Http Telephony**.

![](/files/-MHNUWkqZbKWTW1DGQ4c)

Дождитесь установки приложения.\
Нажмите на иконку шестеренки для получения информации.

![](/files/-MHO2VqoJPixqqEAMzCh)

Скопируйте и сохраните данные **URL интегрируемого приложения**  и **Токен интеграции.**

![](/files/-MHO3ENIa3IKElcom7mV)

Перейдите в раздел администрирования Axatel > Каналы коммуникаций > Внешние интеграции.\
Нажмите на кнопку **Новый объект**.

![](/files/-MHO3mD5USmTt2gL7AfO)

Введите ранее сохраненные параметры **URL интегрируемого приложения**  и **Токен интеграции.**\
Сохраните новый объект **axatel\_dealapp.**

На этом настройка завершена.\
DealApp успешно добавлен в Axatel.<br>

![](/files/-MHO4EpQfhBrVYoW6LkF)


# Speech analytics

Сервис речевой аналитики

Интеграция выйдет до конца 2020г.


# Работа с графическим редактором сценариев

Графический интерфейс создания сценариев предоставляет удобный и легкий в использовании инструментарий, отражающий концепцию Low-Code/No-Code.

## Общая логика обработки сценариев Аксател

В Аксател реализовано два типа сценариев:

* IVR сценарии - сценарии, участвующие в SIP диалогах и являющиеся одной из сторон разговора<br>
* SVC сценарии - сервисные сценарии, выполняющие определённые действия и запускаемые по расписанию или по событиям.

Все сценарии выполняются обработчиком, который является интерпретатором визуального кода в исполняемые действия. Каждый запуск сценария создает новый исполняемый экземпляр со своим идентификатором.

Сценарий состоит из компонентов. Обработчик сценариев включает в себя алгоритмы реализации функциональности компонентов.

Процесс работы обработчика сценария можно представить в следующей последовательности действий:

1\.          загружает сценарий,

2\.          создает области данных для хранения объявленных переменных,

3\.          отыскивает в сценарии компонент Старт с типом основной ветки,

4\.          сопоставляет с компонентом алгоритм его работы,

5\.          передает управление алгоритму компонента, передавая на вход параметры для компонента из сценария и накопленный контекст,

6\.          направляет полученные во время работы компонента события в его очередь обработки и передает ему управление на обработку этой очереди,

7\.          обрабатывает ответ компонента:

&#x20;    a.           продолжение работы компонента;

&#x20;    b.          откладывание обработки очередного события;

&#x20;    c.           завершение работы компонента. По завершении работы компонента тот возвращает:

&#x20;         i.            идентификатор следующего компонента, тогда процесс повторяется с новым          компонентом начиная с этапа его поиска в сценарии, расширяясь накопленным контекстом;

&#x20;         ii.          код следующего сценария (при необходимости запустить вложенный / асинхронный сценарий);

&#x20;        iii.        ошибка, тогда сценарий завершается и, возможно, производится запуск ветки пост-обработки;

&#x20;        iv.        команда возврата к предыдущему сценарию, тогда восстанавливается контекст предыдущего сценария и позиция в нем;

&#x20;        v.           команда остановки, тогда сценарий завершается, и, возможно, производится запуск ветки пост-обработки;

Выполнение компонента может протекать синхронно и асинхронно.

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

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

Возможные варианты пост обработки определены в компоненте Старт. Выполнение ветки пост-обработки при завершении уже не предполагает переключения на другую ветку.

При запуске сценария на его вход могут передаваться начальные значения

* определенные в сценарии в рамках Web интерфейса Администрирования<br>
* &#x20;передаваемые из родительского сценария дочернему (имеют приоритет над определенными через Гуи-интерфейс)

В компоненте Старт всем объявленным переменным без установленных значений могут быть присвоены дефолтные нулевые значения. Это делается для того, чтобы не вызвать ошибок при работе с переменными без значений.

### IVR сценарии

Сценарии голосовой обработки (IVR) используются как виртуальный SIP-телефон. По таблице маршрутизации IVR сценарий обслуживается как Код абонентских функций и может иметь множество номеров.

Каждый сценарий является стороной А или стороной В разговора.

IVR сценарий может быть запущен:

* &#x20;через таблицу маршрутизации. Выступает в качестве стороны В&#x20;
* &#x20;через Дозвон до абонента. Выступает в качестве стороны А&#x20;
* &#x20;переводом из другого IVR сценария. Обслуживание разговора передается от одного сценария к другому без использования SIP Re-invite или других SIP взаимодействий.

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

Служебные сценарии - это алгоритмы обработки данных без обязательной привязки в каким либо активностям. Служебные сценарии могут быть запущены следующими способами:

* Ручной запуск сценария из part\_title<br>
* Периодический запуск с помощью служебных задач<br>
* Асинхронный запуск из других сценариев<br>
* В качестве обработчика сообщений и запросов с внешних каналов<br>
* &#x20;В качестве контекстного сценария параллельно каждому звонку

## Переменные сценариев

Переменные сценария – это области данных, сохраняющие значения для работы компонентов сценариев и взаимодействия сценария с внешней средой.

Переменные объявляются при редактировании сценария. Область данных выделяется только в момент выполнения сценария.\
&#x20;Переменные могут передаваться между сценариями. Идентификатором переменной служит ее название.

### Области видимости

| **Область видимости** | **Описание**                                                                                                                                                                                                                                                           |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Локальные             | Доступны только конкретному экземпляру сценария. Значения хранятся в его стеке. Передаются вложенным синхронным и асинхронным сценариям.                                                                                                                               |
| Сессионные            | Доступны внутри всех сценариев сессии. Логика обработки идентична Локальным.                                                                                                                                                                                           |
| Сценарные             | Доступны всем экземплярам конкретного сценария (по коду сценария) в рамках сайта.                                                                                                                                                                                      |
| Сайтовые доменные     | Доступны всем сценариям текущего домена, исполняемым внутри одного сайта.                                                                                                                                                                                              |
| Сайтовые общие        | Доступны всем сценариям всех доменов, исполняемым внутри одного сайта.                                                                                                                                                                                                 |
| Глобальные доменные   | Доступны всем сценариям текущего домена, исполняемым на любом сайте, где обслуживается домен.                                                                                                                                                                          |
| Глобальные общие      | Доступны всем сценариям всех доменов, исполняемым на любом сайте, где обслуживается домен. Использование этой переменной не рекомендуется и дополнительно регламентируется переключателем Разрешить использование глобальной переменной при создании дочернего домена. |

При сохранении в переменную, слишком большого значения, оно размещается в файловой системе (категория :SYNC), а вместо переменной автоматически размещается путь к файлу.

### Типы значений

| **Тип значения** | **Описание**                                                                    |
| ---------------- | ------------------------------------------------------------------------------- |
| Число            | Целое число или число с десятичной точкой.                                      |
| Строка           | Строковое значение. Хранится в виде структуры, содержащей значение и кодировку. |
| Дата-время       | Строковое значение в формате RFC3339.                                           |

#### Преобразование значений

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

#### Начальные значения

Использование переменных в Выражениях невозможно до присвоения им значений. По-умолчанию все переменные создаются с пустым значением.

Присвоение значений переменным

* при старте сценария

–      определенные в сценарии в рамках Web интерфейса Администрирования начальных значений\
\
–     передаваемые из родительского сценария дочернему (имеют приоритет над определенными через Web-интерфейс). Синхронизация по имени переменной

–     в компоненте Старт могут быть присвоены дефолтные нулевые значения (переключатель Инициализировать переменные)

* во время работы сценария

–    компонентом Присвоение в режимах одиночного и множественного присвоения

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

В компоненте Старт допускается установить режим присвоения начальных значений по умолчанию.

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

Переменные с областью видимости, отличной от локальной, создаются только в момент непосредственного присвоения значений внутри сценария.

## Аргументы сценариев

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

Вычисление значения аргумента производится по мере необходимости выполнения компонентов. Результат вычисления подставляется в качестве значения соответствующего свойства компонента.

### Типы аргументов

1\.          Фиксированное значение (константа);\
2\.          Переменная;\
3\.          Выражение (арифметические и строковые операции с переменными, константами и функциями от них).\
4\.          Шаблон

### Типы значений

Значение аргумента может принадлежать к одному из типов:

* Число (целое или десятичное);
* Строка;
* Дата/время.

### Приведение типов

При сопоставлении значений аргументов, происходит их приведение к одному типу по следующему правилу:

* Если типы значений совпадают, то приведения не производится.<br>
* Если оба значения могут быть представлены в виде чисел, производится приведение к числам.<br>
* Если оба значения могут не могут быть представлены в виде чисел, то производится приведение к строке.

## Выражения сценариев

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

Результат выражения может иметь тип сроки, числа и даты (в формате RFC3339).

Значения типа bool на выходе автоматически преобразуются к строке true или false. С помощью функции ifelse(bool,any,any) результат можно привести к другим значениям, например числам 0 или 1.

Чтобы в качестве аргумента выражения использовать значение переменной, следует указать ее имя в квадратных скобках, например \[var\_i].

Для явного указания строки следует заключать текст в кавычки. В противном случае, сначала будут вычислены все арифметические комбинации, доступные для расчета. В приведенных примерах 2.3 и 2.4 результат будет разный (у 2.3 результат начинается с "5", а у 2.4 с "23").

Разбиение на строки производится с помощью функции endline().

### Примеры выражений

#### Примеры числовых выражений

```
 1.1. [var_num_1] + 1
 1.2. 2 ^ [var_num_2] * ( Log10 ( [var_num_3] ) + 2 )
 1.3. sin ( len ( [var_string_1] ) )
```

#### Примеры строковых выражений

```
 2.1. [var_string_1] + [var_string_2]
 2.2. "Кусок текста" + [var_string_1]
 2.3. 2 + 3 + [var_string_1]
 2.4. "2" + "3" + [var_string_1]
 2.5. SubStr ( [var_string_1], 1, Length ( [var_string_1] ) - 1 )
 2.6. If ( num([a]) > 5, "больше", "меньше")
```

### Операции

Операции над аргументами

| Функция | Тип значения | Описание                                                                                                                                      |
| ------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| +       | num \| str   | Если аргументы могут быть приведены к числам, то результатом является сумма двух чисел. Иначе аргументы они приводятся к строке и сцепляются. |
| ++      | str          | Приводит аргументы к строке и сцепляет их.                                                                                                    |
| -       | num          | Если аргументы могут быть приведены к числам, то результатом является их разность. Иначе операция завершается с ошибкой.                      |
| \*      | num          | Если аргументы могут быть приведены к числам, то результатом является их произведение. Иначе операция завершается с ошибкой.                  |
| /       | num          | Если аргументы могут быть приведены к числам, то результатом является их частное. Иначе операция завершается с ошибкой.                       |
| div     | int          | Если аргументы могут быть приведены к целым числам, то результатом является целая часть их частного. Иначе операция завершается с ошибкой.    |
| rem     | int          | Если аргументы могут быть приведены к целым числам, то результатом является остаток от деления. Иначе операция завершается с ошибкой.         |
| ==      | bool         | Приводит значения аргументов к одному типу и сравнивает их. Равенство.                                                                        |
| /=      | bool         | Приводит значения аргументов к одному типу и сравнивает их. Неравенство.                                                                      |
| >       | bool         | Приводит значения аргументов к одному типу и сравнивает их. Больше.                                                                           |
| >=      | bool         | Приводит значения аргументов к одному типу и сравнивает их. Больше или равно.                                                                 |
| <       | bool         | Приводит значения аргументов к одному типу и сравнивает их. Меньше.                                                                           |
| =<      | bool         | Приводит значения аргументов к одному типу и сравнивает их. Меньше или равно.                                                                 |

### Шаблоны

Приложение редактора сценариев позволяет задавать выражения с помощью шаблонов.

Шаблон представляет собой строку, в которую в фигурных скобках входят вычислимые выражения. При этом переход между вкладками задания шаблона и задания выражения производит автоматическое взаимное преобразование.

Пример записи одного вычисления на закладке Выражение и Шаблон:

Закладка выражения

$$
"abc." + str(\[var]) + ".def" + endline() + replace(\[var],";",".") + substring(\[var2],3,5) + "zzz"
$$

\
&#x20;Закладка шаблона

$$
abc.{str(\[var])}.def
{replace(\[var1],";",".") + substring(\[var2],3,5)}zzz
$$

## Функции сценариев

Функции используются при создании выражений и шаблонов. Позволяют вычислять специфические значения и проводить операции над системой.

### Каталог функций

Не все функции доступны в каждом Продукте.

Ниже приведен полный список функций системы по всем Продуктам.

#### Математические функции

| Функция | Параметры | Описание                                                     |
| ------- | --------- | ------------------------------------------------------------ |
| abs     | num       | Абсолютное значение числа                                    |
| acos    | num       | Арккосинус числа                                             |
| asin    | num       | Арксинус числа                                               |
| atan    | num       | Арктангенс числа                                             |
| atan2   | num, num  | Арктангенс частного двух чисел                               |
| ceil    | num       | Ближайшее сверху целое число                                 |
| cos     | num       | Косинус числа                                                |
| cosh    | num       | Гиперболический косинус числа                                |
| erf     | num       | Функция ошибки (интеграл вероятности)                        |
| erfc    | num       | Дополнительная функция ошибок                                |
| exp     | num       | Экспонента числа                                             |
| floor   | num       | Ближайшее снизу целое число                                  |
| lg      | num       | Десятичный логарифм числа                                    |
| ln      | num       | Натуральный логарифм числа                                   |
| log     | num, num  | Логарифм одного числа по основанию другого                   |
| log10   | num       | Десятичный логарифм числа                                    |
| log2    | num       | Двоичный логарифм числа                                      |
| max     | num, num  | Максимальное из двух чисел                                   |
| min     | num, num  | Минимальное из двух чисел                                    |
| pow     | num, num  | Результат возведения одного числа в степень другого          |
| random  |           | Случайное десятичное число от 0 до 1                         |
| random  | int       | Случайное целое число от 0 до указанного целого числа        |
| random  | int, int  | Cлучайное целое число в диапазоне между двумя целыми числами |
| round   | num       | Результат округления числа до целого                         |
| sin     | num       | Синус числа                                                  |
| sinh    | num       | Гиперболический синус числа                                  |
| sqr     | num       | Квадрат числа                                                |
| sqrt    | num       | Квадратный корень числа                                      |
| tan     | num       | Тангенс числа                                                |
| tanh    | num       | Гиперболический тангенс числа                                |
| trunc   | num       | Результат отбрасывания дробной части числа                   |

#### Строковые функции

| Функция       | Параметры     | Описание                                                                                                                                                |
| ------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| concat        | str,str       | Возвращает результат сцепления двух строк.                                                                                                              |
| equal         | str,str       | Результат сравнения двух строк: 0 или 1                                                                                                                 |
| indexof       | str,str,int   | Возвращает индекс позиции первого вхождения подстроки (п2) в строку (п1), начиная с указанной позиции (п3). Возвращает 0, если вхождений не обнаружено. |
| left          | str,int       | Возвращает левую часть строки не более чем указанной длины.                                                                                             |
| len           | str           | Возвращает длину строки в символах.                                                                                                                     |
| lower         | str           | Возвращает строку в нижнем регистре.                                                                                                                    |
| modify\_json  | str,json,json | Возвращает измененную json-структуру. Подробнее в Функция modify json                                                                                   |
| newid         |               | Возвращает сгенерированный UUID-идентификатор.                                                                                                          |
| regexreplace  | str,str,str   | Возвращает результат замены с помощью регулярного выражения. п1 - значение, п2 - паттерн, п3 - замена.                                                  |
| regexreplaceg | str,str,str   | Возвращает результат замены с помощью регулярного выражения с опцией global. п1 - значение, п2 - паттерн, п3 - замена.                                  |
| remove        | str,int       | Возвращает строку после удаления из нее подстроки с указанной позиции (п2) до конца.                                                                    |
| remove        | str,int,int   | Возвращает строку после удаления из нее подстроки с указанной позиции (п2) указанной длины (п3).                                                        |
| replace       | str,str,str   | Возвращает результат замены в строке (п1) вхождения (п2) на значение (п3).                                                                              |
| reverse       | str           | Возвращает перевернутую строку.                                                                                                                         |
| right         | str,int       | Возвращает правую часть строки не более чем указанной длины.                                                                                            |
| rstr          | str,str       | Возвращает индекс позиции последнего вхождения подстроки (п2) в строку (п1). Возвращает 0, если вхождений не обнаружено.                                |
| str           | str,str       | Возвращает индекс позиции первого вхождения подстроки (п2) в строку (п1). Возвращает 0, если вхождений не обнаружено.                                   |
| substr        | str,int       | Возвращает подстроку с указанной позиции (п2) до конца.                                                                                                 |
| substr        | str,int,int   | Возвращает подстроку с указанной позиции (п2) не более чем указанной длины (п3).                                                                        |
| trim          | str           | Возвращает строку, избавленную от пустых символов в начале и в конце (пробел, табуляция и т.д.).                                                        |
| trimend       | str           | Возвращает строку, избавленную от пустых символов в конце (пробел, табуляция и т.д.).                                                                   |
| trimstart     | str           | Возвращает строку, избавленную от пустых символов в начале (пробел, табуляция и т.д.).                                                                  |
| upper         | str           | Возвращает строку в верхнем регистре.                                                                                                                   |

#### Функции по работе с датами/временем

| Функция       | Параметры                   | Описание                                                                                                                                                                                                                                                                                                                                      |
| ------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| date          |                             | Возвращает текущую дату в локальном часовом поясе сервера без указания часового пояса. Формат YYYY-MM-DD.                                                                                                                                                                                                                                     |
| date          | dt                          | Возвращает дату из указанной даты/времени.                                                                                                                                                                                                                                                                                                    |
| dateadd       | atom,int,dt                 | <p>Возвращает дату после добавления указанного количества (п2) указанных единиц времени (п1) к указанной дате/времени (п3). Параметр указывается в виде атома (не строки), например dateadd('mi',120,"2019-10-06T13:05:28")</p><p>Возможные виды единиц по убыванию:</p><p>yy, yyyy, q, qq, m, mm, ww, wk, d, dd, h, hh, mi, n, s, ss, ms</p> |
| datediff      | atom,dt,dt                  | <p>Возвращает число указанных единиц времени между двумя датами. Параметр указывается в виде атома (не строки), например datediff('dd',"2019-10-06","2019-10-05")</p><p>Возможные виды единиц по убыванию:</p><p>yy, yyyy, q, qq, m, mm, ww, wk, d, dd, h, hh, mi, n, s, ss, ms</p>                                                           |
| dateformat    | str, dt                     | <p>Возвращает строку с представление даты (п2) по указанному формату (п1). Например: yyyy-MM-dd. Возможные значения форматирующей строки:</p><p>yyyy, yy, MM, d, dd, h, HH, MMM, mm, ss, ffff, fff, ff, f, zzz.</p>                                                                                                                           |
| datetime      | int,int,int                 | Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня.                                                                                                                                                                                                                                                                  |
| datetime      | int,int,int,int,int         | Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня, п4 - часа, п5 - минуты.                                                                                                                                                                                                                                          |
| datetime      | int,int,int,int,int,int     | Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня, п4 - часа, п5 - минуты, п6 - секунды.                                                                                                                                                                                                                            |
| datetime      | int,int,int,int,int,int,int | Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня, п4 - часа, п5 - минуты, п6 - секунды, п7 - миллисекунды.                                                                                                                                                                                                         |
| datetime      | str                         | Возвращает дату/время, сформированную по строке. Строка может содержать различные представления даты/времени, в том числе и RFC3339.                                                                                                                                                                                                          |
| datetimelocal | dt                          | Возвращает дату/время приведенную к локальному часовому поясу сервера. Числовые значения даты/времени не изменяются, однако абсолютная точка времени может быть сдвинута после изменения тайм-зоны на локальную.                                                                                                                              |
| datetimeutc   | dt                          | Возвращает дату/время приведенную к UTC. Числовые значения даты/времени не изменяются, однако абсолютная точка времени может быть сдвинута после изменения тайм-зоны на нулевую.                                                                                                                                                              |
| day           | dt                          | Возвращает текущий день (1-31) указанной даты/времени.                                                                                                                                                                                                                                                                                        |
| dayofweek     | dt                          | Возвращает номер дня недели (1-7) для указанной даты/времени.                                                                                                                                                                                                                                                                                 |
| dayofyear     | dt                          | Возвращает номер дня в году для указанной даты/времени.                                                                                                                                                                                                                                                                                       |
| hour          | dt                          | Возвращает текущий час (0-23) указанной даты/времени.                                                                                                                                                                                                                                                                                         |
| isleapyear    | int                         | Возвращает true, если указанная дата/время представляет високосный год.                                                                                                                                                                                                                                                                       |
| localtoutc    | dt                          | Возвращает UTC дату/время для указанной даты/времени, рассматриваемой в локальном часовом поясе сервера.                                                                                                                                                                                                                                      |
| millisecond   | dt                          | Возвращает текущую миллисекунду (0-999) указанной даты/времени.                                                                                                                                                                                                                                                                               |
| minute        | dt                          | Возвращает текущую минуту (0-59) указанной даты/времени.                                                                                                                                                                                                                                                                                      |
| month         | dt                          | Возвращает текущий месяц (1-12) указанной даты/времени.                                                                                                                                                                                                                                                                                       |
| now           |                             | Возвращает текущую дату и время в локальном часовом поясе сервера в формате RFC3339. Например, 2019-10-06T16:43:30.46+03:00.                                                                                                                                                                                                                  |
| nowgregsecond |                             | Возвращает количество секунд по григорианскому календарю, с 0 года н.э.                                                                                                                                                                                                                                                                       |
| nowtick       |                             | Возвращает число, представляющее абсолютное значение в миллисекундах с 01.01.1970 года до текущего времени сервера.                                                                                                                                                                                                                           |
| nowutc        |                             | Возвращает текущую дату и время в UTC в формате RFC3339.                                                                                                                                                                                                                                                                                      |
| second        | dt                          | Возвращает текущую секунду (0-59) указанной даты/времени.                                                                                                                                                                                                                                                                                     |
| ticktolocal   | int                         | Возвращает дату в локальном часовом поясе сервера по абсолютному значению tick.                                                                                                                                                                                                                                                               |
| ticktoutc     | int                         | Возвращает дату в UTC по абсолютному значению tick.                                                                                                                                                                                                                                                                                           |
| time          |                             | Возвращает текущее время в локальном часовом поясе сервера без указания часового пояса. Формат HH:mm:ss.fff.                                                                                                                                                                                                                                  |
| time          | dt                          | Возвращает время из указанной даты/времени.                                                                                                                                                                                                                                                                                                   |
| utctolocal    | dt                          | Возвращает локальную дату/время для указанной даты/времени, рассматриваемой как UTC.                                                                                                                                                                                                                                                          |
| valid\_date   | dt                          | Возвращает true, если указанная строка содержит корректную дату/время, иначе false.                                                                                                                                                                                                                                                           |
| weekofyear    | dt                          | Возвращает номер недели в году для указанной даты/времени.                                                                                                                                                                                                                                                                                    |
| year          | dt                          | Возвращает текущий год указанной даты/времени.                                                                                                                                                                                                                                                                                                |

#### Функции преобразования

| Функция      | Параметры    | Описание                                                                                                                |
| ------------ | ------------ | ----------------------------------------------------------------------------------------------------------------------- |
| base64decode | str          | Возвращает строку, полученную в результате распаковки из Base-64 представления.                                         |
| base64encode | str          | Возвращает строку, полученную в результате упаковки в Base64 представление.                                             |
| char         | str          | Возвращает строку с одним символом по его числовому коду.                                                               |
| dechex       | int          | Возвращает строку с HEX-представлением числа.                                                                           |
| escape       | str          | Возвращает строку, полученную в результате преобразования к escape-последовательности. Применяется для вставки в JSON.  |
| hexdec       | str          | Возвращает число на основе его HEX-представления.                                                                       |
| htmldecode   | str          | Возвращает строку, раскодированную c помощью Unicode Hex Character Code                                                 |
| htmlencode   | str          | Возвращает строку, закодированную c помощью Unicode Hex Character Code.                                                 |
| ifelse       | bool,any,any | Если значение первого параметра true, то возвращает п2, иначе возвращает п3.                                            |
| num          | str          | Преобразует строку к числу. При неудаче завершается с ошибкой.                                                          |
| numval       | str          | Преобразует строку к числу, отрезая с конца неподходящие символы. В пределе возвращает 0.                               |
| str          | int          | Преобразует числовое значение к строке.                                                                                 |
| translit     | str          | Возвращает результат транслитерации строки.                                                                             |
| unescape     | str          | Возвращает строку, полученную в результате распаковки из escape-последовательности. Применяется для очистки после JSON. |
| urldecode    | str          | Возвращает строку, раскодированную с помощью UrlEncode.                                                                 |
| urlencode    | str          | Возвращает строку, закодированную с помощью UrlEncode.                                                                  |

#### Хеш-суммы

| Функция | Параметры | Описание                                                                                                                                                                  |
| ------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| adler32 | any       | Хеш от любого значения по алгоритму Adler-32.                                                                                                                             |
| adler32 | num,any   | Новое значение хеша от предыдущего значения, скомбинированного с новой порцией. п1 - предыдущее значение хеша, п2 - новая порция данных. По алгоритму Adler-32.           |
| crc32   | any       | Хеш от любого значения по алгоритму CRC32 (IEEE 802.3).                                                                                                                   |
| crc32   | num,any   | Новое значение хеша от предыдущего значения, скомбинированного с новой порцией. п1 - предыдущее значение хеша, п2 - новая порция данных. По алгоритму CRC32 (IEEE 802.3). |
| md5     | str       | Хеш от строки по алгоритму MD5.                                                                                                                                           |
| phash2  | any       | Хеш-сумму от любого значения по внутреннему алгоритму.                                                                                                                    |

#### Функции по работе с файловыми путями

| Функция            | Параметры   | Описание                                                                                                                      |
| ------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------- |
| filedir            | str         | Возвращает название каталога. Для пути к файлу - это имя каталога, для пути к каталогу - это название родительского каталога. |
| fileext            | str         | Возвращает расширение файла, выделенное из указанного пути.                                                                   |
| filename           | str         | Возвращает имя файла, выделенное из указанного пути.                                                                          |
| gs\_domain         |             | Возвращает :GLOBALSHARE\_DOMAIN\_DATA - префикс категории сетевого межсайтового каталога текущего домена.                     |
| gs\_public         |             | Возвращает :GLOBALSHARE\_PUBLIC - префикс категории сетевого межсайтового каталога общего назначения.                         |
| gs\_script         |             | Возвращает :GLOBALSHARE\_SCRIPT\_DATA - префикс категории сетевого межсайтового каталога текущего сценария (по коду).         |
| makepath           | str,str     | Возвращает путь, сформированный в результате сцепки двух частей.                                                              |
| makepath           | str,str,str | Возвращает путь, сформированный в результате сцепки трех частей.                                                              |
| pathtype           | str         | Возвращает тип пути (префикс категории из указанного пути).                                                                   |
| relpath            | str         | Возвращает относительный путь (указанный путь без префикса категории).                                                        |
| ss\_domain         |             | Возвращает :SITESHARE\_DOMAIN\_DATA - префикс категории сетевого внутрисайтового каталога текущего домена.                    |
| ss\_public         |             | Возвращает :SITESHARE\_PUBLIC - префикс категории сетевого внутрисайтового каталога общего назначения.                        |
| ss\_script         |             | Возвращает :SITESHARE\_SCRIPT\_DATA - префикс категории сетевого внутрисайтового каталога текущего сценария (по коду).        |
| syn\_domain        |             | Возвращает :SYNC\_DOMAIN\_DATA префикс категории синхронизирующегося каталога данных домена.                                  |
| syn\_media         |             | Возвращает :SYNC\_COMMON - префикс категории синхронизирующегося каталога общего назначения.                                  |
| syn\_script        |             | Возвращает :SYNC\_SCRIPT\_DATA префикс категории синхронизирующегося каталога данных текущего сценария (по коду).             |
| syn\_script\_media |             | Возвращает :SYNC\_SCRIPT\_STATIC префикс категории синхронизирующегося каталога статических файлов сценария (по коду).        |
| temp               |             | Возвращает :TEMP - префикс временного локального каталога сценария.                                                           |

#### Служебные функции

| Функция      | Параметры | Описание                                                                                                                                                                                                                 |
| ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| getscriptref |           | Возвращает строку с идентификатором текущего обработчика сценариев. По этому идентификатору обработчику могут отправлять сообщения другие обработчики сценариев, например с помощью компонента Взаимодействие сценариев. |
| startparam   | int       | Возвращает значение входного параметра с указанным индексом. Сценарии могут принимать до 20 входных параметров.                                                                                                          |

#### Функции Доступа

| Функция              | Параметры | Описание                                                                                                                                  |
| -------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| check\_variable      | str       | Возвращает true, если переменная c указанным именем существует и содержит значение.                                                       |
| get\_variable\_id    | str       | Возвращает строку с идентификатором переменной по её имени.                                                                               |
| get\_variable\_orig  | str       | Возвращает значение переменной по её имени, причем, если значение строковое, то оно возвращается в исходной кодировке без преобразования. |
| get\_variable\_value | str       | Возвращает значение переменной по её имени.                                                                                               |
| var                  | str       | Возвращает значение переменной по её имени.                                                                                               |

#### Функции конфигурации

| Функция | Параметры | Описание                                                                                               |
| ------- | --------- | ------------------------------------------------------------------------------------------------------ |
| wsurl   |           | Возвращает URL ближайшего доступного сервера с логической ролью ws. В формате proto://ip-address:port. |

#### Константы

| Функция | Параметры | Описание                                  |
| ------- | --------- | ----------------------------------------- |
| e       |           | Возвращает число e (2.718281828459045).   |
| phi     |           | Возвращает число phi (1.618033988749895). |
| pi      |           | Возвращает число pi (3.141592653589793).  |

#### Символы

| Функция                                    | Параметры | Описание                                      |
| ------------------------------------------ | --------- | --------------------------------------------- |
| dblquot                                    |           | Возвращает строку с символом двойной кавычки. |
|                                            | endline   |                                               |
| Возвращает строку с символом конца строки. | quot      |                                               |
| Возвращает строку с символом кавычки.      | tab       |                                               |

#### Функции сценариев IVR

| Функция             | Примечание                                                                 | Описание                                                                                                                                                             |
| ------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| calledext()         | только для вызовов, поступивших в IVR                                      | Возвращает строку с расширением КАФ, по которому звонок поступил в IVR.                                                                                              |
| callednum()         | только для вызовов, поступивших в IVR                                      | Возвращает строку с набранным абонентом номером.                                                                                                                     |
| callid()            |                                                                            | Возвращает строку со значением заголовка CallId плеча b2b - ivr текущего разговора                                                                                   |
| huntid()            | только для сценариев Прекоммутации и Ожидания в очереди обработки очередей | Возвращает строку с идентификатором сущности hunt-группы, на которую направлен вызов.                                                                                |
| huntobjid           | только для сценариев Прекоммутации и Ожидания в очереди обработки очередей | Возвращает строку с идентификатором текущего абонента очереди hunt-группы.                                                                                           |
| ivrparam(str)       | только для вызовов, поступивших в IVR.                                     | Возвращает значение указанного параметра из заголовка X-R-Ivr, который формируется ролью b2b. Например, from, to, by.                                                |
| q\_displayname      | только для сценария Прекоммутации обработки очередей                       | Возвращает displayname абонента, ожидающего коммутации с вызываемым оператором                                                                                       |
| q\_domain           | только для сценария Прекоммутации обработки очередей                       | Возвращает domain абонента, ожидающего коммутации с вызываемым оператором                                                                                            |
| q\_username         | только для сценария Прекоммутации обработки очередей                       | Возвращает username абонента, ожидающего коммутации с вызываемым оператором                                                                                          |
| queueestimatedsec() | только для сценария Ожидания в очереди обработки очередей                  | Предполагаемое время ожидания в очереди                                                                                                                              |
| queueposition()     | только для сценария Ожидания в очереди обработки очередей                  | Возвращает текущую позицию в очереди.                                                                                                                                |
| queuepriority()     | только для сценария Ожидания в очереди обработки очередей                  | Возвращает текущее числовое значение приоритета в очереди.                                                                                                           |
| queuepriority(int)  | только для сценария Ожидания в очереди обработки очередей                  | Устанавливает новое числовое значение приоритета в очереди, автоматически производится перемещение.                                                                  |
| queuerescount()     | только для сценария Ожидания в очереди обработки очередей                  | Возвращает количество операторов в хант-группе.                                                                                                                      |
| queuerescount(str)  | только для сценария Ожидания в очереди обработки очередей                  | <p>Возвращает количество операторов в хант-группе, находящихся в указанном в переменной str состоянии. Возможные варианты:</p><ul><li> online</li><li>free</li></ul> |
| queuestate()        | только для сценария Ожидания в очереди обработки очередей                  | Возвращает строку с названием состояния ожидания в очереди.                                                                                                          |
| r\_number           | только для сценария Прекоммутации обработки очередей                       | Возвращает строку с номером оператора                                                                                                                                |
| remotenum()         |                                                                            | Возвращает строку с номером абонента, сформированным в результате применения правил представления.                                                                   |

#### Переменные

В этом блоке находятся все объявленные в сценарии переменные. В Выражения сценариев они добавляется в \[ и ] Например, переменная ABC в Выражение (и шаблоны) будет добавлена как \[ABC]

#### Дополнительная информация

**Функция modify json**

```
modify_json(п1 str,п2 json,п3json)
```

Применяет поисковый запрос (п1) к значению (п2), обнаруженный элемент подвергает модификации согласно опциям (п3) и возвращает общий результат.

Пример:

```typescript
modify_json(
   "\"chat\"/0/\"msgs\"",
   "{\"chat\":[{\"msgs\":[{\"txt\":\"abc\"}]}]}",
   "{\"action\":\"append\",\"value\":{\"txt\":\"zcv\"}}"
 )
```

Опции представлены в виде json-объекта с обязательным ключом action. Возможные варианты:

* append - для массива. Добавляет новый элемент в конец. В опциях значение элемента по ключу value.<br>
* prepend - для массива. Добавляет новый элемент в начало. В опциях значение элемента по ключу value<br>
* insert - для массива. Добавляет новый элемент в указанную позицию. В опциях значение элемента по ключу value, позиция по ключу index.<br>
* &#x20;replace - для массива. Заменяет элемент в указанной позиции на новый. В опциях значение нового элемента по ключу value, позиция по ключу index.<br>
* replace\_auto - для массива. Заменяет все элементы массива на указанное значение. В опциях значение по ключу value.<br>
* delete - для массива. Удаляет элемент из указанной позиции. В опциях значение позиции по ключу index.<br>
* &#x20;keystore - для объекта. Сохраняет элемент по указанному ключу, в зависимости от наличия ключа добавляет или изменяет значение. В опциях значение элемента по ключу value, значение ключа по ключу key.<br>
* keyreplace - для объекта. Заменяет элемент по указанному ключу, а если ключ отсутствует, то оставляет без изменений. В опциях значение элемента по ключу value, значение ключа по ключу key.<br>
* keyinsert - для объекта. Сохраняет элемент по указанному ключу, если он отсутствует, а иначе завершается с ошибкой. В опциях значение элемента по ключу value, значение ключа по ключу key.<br>
* keydelete - для объекта. Удаляет элемент по указанному ключу. В опциях значение ключа по ключу key.

**Примеры.**

Исходная переменная x

```typescript
{
 "name": "Андрей Васильев",
 "id": "1377340472378151"
 }
```

Пример 1. Keyinsert

Добавлено в json ключа "channel" со значением "test".

```typescript
modify_json(
     "",
     [x],
     "{\"action\":\"keyinsert\", \"key\":\"channel\", \"value\":\"\\\"test\\\"\"}"
 )
```

Результат

```typescript
{
 "channel":"test",
 "name":"Андрей Васильев",
 "id":"1377340472378151"
 }
```

Если Key channel существует до выполнения modify\_json, то результат будет Ошибка

Пример 2. Keyreplace

Заменена значения у поля name.

```typescript
modify_json(
     "",
     [x],
     "{\"action\":\"keyreplace\", \"key\":\"name\", \"value\":\"\\\"test\\\"\"}"
 )
```

Результат

```typescript
{
 "name":"test",
 "id":"1377340472378151"
 }
```

<br>

## Взаимодействие сценариев

Каждый сценарий в процессе своего выполнения может запускать другие сценарии в двух режимах

* Вложенное (синхронное) выполнение. Родительский сценарий ждет завершения дочернего для продолжения своей работы.<br>
* Асинхронное выполнение. Родительский сценарий не ждет завершения дочернего, а продолжает свою работу.

### Варианты вызова сценариев

#### IVR → IVR

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

Обычно применяется для

* разбиения больших сценариев на более понятные;
* для выделения идентичной логики несколькими сценариями;

#### IVR → Служебный сценарий

Вызов служебного сценария из IVR-сценария осуществляется через Запуск сценария по имени или по коду. Вызов возможен только в Асинхронном служебном режиме. Все Локальные переменные родительского IVR наследуются служебным сценарием.

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

#### Служебный → IVR сценарий

Для вызова IVR-сценария из служебного сценария используется Исходящий звонок. Происходит инициация исходящего звонка от имени IVR на указанный номер и при поднятии трубки запускается указанный IVR сценарий.

Обычно используется для автоматических задач дозвона и оповещения.

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

Для вызова служебного сценария из служебного сценария используется Запуск сценария . Вызов возможен в обоих режимах - вложенного и асинхронного.

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

В режиме асинхронного запускает параллельное выполнение сценария. Родительский сценарий не ждет завершения дочернего. Даже если родительский сценарий завершится, асинхронный служебный сценарий продолжит свою работу пока не завершится сам.\
&#x20;Используется для параллельной обработки больших объемов данных.

Все сценарии настраиваются в модуле Редактор сценариев (scripteditor). Модуль предоставляет возможность с помощью графического интерфейса визуально программировать сценарии и имеет все требуемые компоненты для решения большинства задач.

![Общий вид раздела](/files/-MJGLoZRSZ6yCAP48IeE)

## Верхняя панель

![](/files/-MJGLzZ2wPJ60z97iB0R)

| **Название** | **Описание**                                                                                                                                                                 |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Имя сценария | Отображается имя сценария                                                                                                                                                    |
| Код сценария | Отображается заданный код сценария                                                                                                                                           |
| Тип сценария | <p><img src="/files/-MJGM8oUSROTPMcYg4Ni" alt="scripteditorser"> - Служебный сценарий</p><p><img src="/files/-MJGMA_hUXGEFEbVDkhx" alt="scripteditorivr"> - IVR сценарий</p> |
| Сохранить    | Сохранение сценария                                                                                                                                                          |

Для запуска сценария или отмены изменений в информационной панели нажмите на ![scripteditorarrow](/files/-MJGMINY1S5PHIhEZ5bu)

Затем выберите нужно действие в контекстном меню выбора.

![Меню выбора действия](/files/-MJGMQFsXyKBAbft_Rb7)

## Основное окно

Отображается последовательность выполнения компонентов сценария и условные переходы между ними.

![](/files/-MJGTQWsHYsZV83EdA2J)

## Правила хорошего тона

Графический интерфейс создания сценариев предоставляет удобный и легкий в использовании инструментарий, отражающий концепцию Low-Code/No-Code. Но с другой стороны "некрасивое" рисование сценария приведет к сложностям дальнейшей модификации и понимания. Поэтому мы рекомендуем придерживаться следующих правил:

1\.          Разбивать сценарии по функциональному предназначению. Можно все активности свести в один громоздкий сценарий, но стоимость любого изменения и возможной ошибки будет пропорционально количеству компонент.

2\.          Названия сценариев должны быть "говорящими".

a.           Префикс должен отражать прямое предназначение, проект, другую классификацию.

b.          Основная часть имени должна нести смысловую нагрузку

c.           Постфикс можно использовать на номер версии, дату последнего релиза и т.п.

3\.          Коды сценариев должны быть максимально сжатыми и отвечать единым правилам наименования. В пределе Код и Наименования могут совпадать, но обычно код меньше по количеству символов.

4\.          Планарность самого рисунка. Пересекаемые линии переходов сильно усложняют чтение картинки. Рекомендуется избегать пересечений или минимизировать их смысловое влияние на чтение сценария

5\.          Использование Комментарий где можно выделить отдельно значимый блок. В описании указать что это за блок, какие функции он выполняет и в дальнейшем вести changeLog изменений в нем

6\.          Оптимизация количества компонент. Не рекомендуется более 100 компонент в одном сценарии. Рекомендация крайне условная, но ей можно придерживаться при формальной оценке сложности сценария.

7\.          У компонент тоже должны быть "говорящие" названия. Не "Присвоение 3" (по пиктограмме видно что это Присвоение, а "i+1" или "увеличение счетчика i".

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

9\.          После компонента Старт задать все начальные значения, которые являются константами и не получаются из Дефолтных значений объекта или из других переменных.

10\.      Отладочные компоненты настроены не на константы, а на переменные, которые можно изменить в начале сценария. Например пользователь у компонента Уведомление.

11\.      Нет брошенных веток. Каждая ветка завершается компонентом Стоп или Отбой или другим конечным компонентом.

12\.      При необходимости отладочных данных в работающем сценарии записывать их в Лог-файлы через Уведомление. После можно будет собрать логи и проанализировать выпонение разных экземпляров.

13\.      Использование компонента SQL-запрос только там, где данные принадлежат Аксател (а не другой системе) или в случае, если сторонняя ИС не может предоставить WebService API доступ к данным.

Рекомендации по этапам работы над сценариями

* Этап проектирования архитектуры разбиения ответственности за реализацию по сценариям.
* Этап проектирования структуры сценария

–            входные - выходные данные,

–            протоколы взаимодействия,

–            основные блоки и алгоритмы внутри сценария

* Этап разработки.
* Этап отладки.
* Этап приведения сценария в состояние релиза
* Этап оценки качества. Рекомендуем на этот этап привлекать инженера, кто не задействован в текущем проекте. Цель этапа - оценить читаемость сценария и насколько сторонний инженер сможет в нем разобраться через месяц-год.

IVR-сценарии и Служебные сценарии имеют как общие компоненты так и уникальные. Также набор компонент может отличаться между Продуктами.

Далее приведен полный список компонентов и их свойств, которые могут быть в любых типах сценариев во всех Продуктах.

[Каталог функций](https://app.gitbook.com/@axatel-1/s/help-center/~/drafts/-MKii7Ww3RVPavYsCovN/administrirovanie-telefonnoi-stancii/rabota-s-graficheskim-redaktorom-scenariev#katalog-funkcii)


# Блок "Компоненты"

##

![Компоненты](/files/-MJGTafvIog3632Uafib)

Отображаются доступные компоненты и действия с ними. Для размещения компонента в основном окне необходимо

1\.          выделить компонент в блоке компоненты

2\.          нажать на место его размещения в основном окне.

### Изменение свойств компонента

При выделении компонента в основном окне справа отображаются его свойства.

У каждого компонента свои свойства. Подробно они описаны в описании каждого компонента в главе part\_title.

![Свойства](/files/-MJGTk11bWBebVCcjOFP)

### Блок действий

В блоке компонент в верхней строке располагается блок Действий.

![](/files/-MJGTw8jjHxYQe-txi1P)

В этот блок входят:

* Выделение - дефолтное действие управления компонентами в основном окне
* Связь - действие позволяет управлять связями между компонентами
* Перемещение области - действие, позволяющее перемещать видимую область
* Комментарий - позволяет создавать область под компонентами с дополнительным комментарием

#### Выделение и перемещение

![](/files/-MJH63VpCcF4Qlscgzs-)

Базовое действие при работе мышкой по Основному окну Используется для выделения и перемещения как одного объекта, так и группу выделенных объектов в основном окне редактора сценариев.

![Выделение объектов](/files/-MJH68Hf5VCA7qyMYIxD)

При необходимости выделить несколько компонент вне одной области можно использовать Shift+click.

Если во время перемещения нажать и удерживать Ctrl, то перемещение будет по вершинам скрытой сетки.

Для копирования выделенных компонент можно использовать контекстное меню (по правой кнопке мыши)

![Контекстное меню](/files/-MJH6FzvnGfu1zkK-__O)

Все свойства и переходы будут скопированы, кроме переходов в выделенную группу и переходы из выделенной группы.

Также можно использовать горячие клавиши Ctrl+C (копировать), Ctrl+X (вырезать), Ctrl+V (вставить)

### Связи между компонентами

![](/files/-MJH6NPAQkzn0ptEJy85)

Каждый компонент, кроме финальных, имеет один или несколько Переходов.\
&#x20;Для создания связи между компонентами можно:

* в свойства компонента выбрать другие компоненты в полях перехода
* кликнуть на компоненте, зажать Ctrl и, удерживая кнопку мыши, вести к компоненту, на который будет переход

| **Кнопка**                | **Результат**                                                                                                           |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Сtrl + левая кнопка мыши  | <p><img src="/files/-MJH6_XnmQFJkc4wwMcv" alt="transitionblue"><br> Переход в случае успешного завершения операции.</p> |
| Сtrl + правая кнопка мыши | <p><img src="/files/-MJH6bYFgWPsAl24NWwC" alt="transitionred"><br> Переход в случае ошибки выполнения операции.</p>     |

### Перемещение видимой области

![](/files/-MJH6dk2rA7ht56EgQHm)

Используется для горизонтального и вертикального скролинга в основном окне редактора сценариев.\
&#x20;Применяется когда сценарий большой и не помещается на видимую область. Также можно использовать стандартные полосы горизонтальной и вертикальной прокрутки в Основном окне.

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

### Комментарий

<div align="left"><img src="/files/-MJH6j2urXFOaGPNcHhe" alt=""></div>

Используется для выделения подложки под компонентами.

Свойства компонента:

![](/files/-MJH6pUNsjkgqsXbJCmk)

| **Название** | **Описание**                                            |
| ------------ | ------------------------------------------------------- |
| Цвет текста  | Цвет текста                                             |
| Цвет фона    | Цвет фона выделенной зоны                               |
| Текст        | Комментарий, который будет выводится на выделенной зоне |

&#x20;

## Управление переменными

Переменная сценария – это величина, хранящая свое значение на всем протяжении выполнения сценария, включая запуск вложенных синхронных и асинхронных сценариев в рамках одной цепочки выполнения.

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

### Окно управления переменными

Посмотреть список всех переменных и управлять ими можно через кнопку переменные, расположенную в правой части навигации

![](/files/-MJH8GOyLvhyMzxQLABM)

Для Создания переменной необходимо:

1\.          Задать Имя переменной. Допустимые символы:

–            буквы русского

–            буквы латинского алфавита цифры

–            часть спецсимволов \_ , . ! ?. Остальные спецсимволы возможны, но не рекомендуются. Спецсимвол не должен первым и последним символом в названии переменной

2\.          Выбрать тип переменной:

–            строка. Обработка будет как со строковой переменной

–            число. Обработка будет как с числовым значением

–            дата/время. Обработка будет как с параметром Дата/Время

3\.          Выбрать уровень доступности переменной.

![Основное окно управления переменными](/files/-MJH8VEKQ58PjDMZAIIr)

Подробнее о переменных написано в Переменные сценариев

Можно в любом свойстве компонента, где требуется указать Переменную, ввести имя новой переменной и нажать на появившееся рядом "Создать"

При работе с свойствами компонент и переменных необходимо присваивать им значения. Делается это через окно Аргумент

![Основное окно управления аргументами](/files/-MJH8dIeHI-5TJplPNPi)

### Закладка значение Аргумента

Возможность ввода Константы или выбора Переменной.

При вводе Константы можно выбрать тип значения - Строка, Число или Дата/время.

### Закладка Выражение

![Закладка управления Выражением](/files/-MJH8m--BArpuTfKZ84V)

На этой закладке с использованием Функции сценариев создаются Выражения.

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

Иногда корректно написанное выражение дает ошибку при проверке, например при len(\[some\_string])-1. Это вызвано тем, что все переменные при проверке корректности нелевые.

### Закладка Шаблон

![Закладка управления Шаблоном выражения](/files/-MJH8yXD-2nhOS9tsXKY)

На этой закладке с использованием Функции сценариев создаются Шаблоны.

Шаблоны и выражения имеют встроенный механизм перевода между собой. Иногда удобнее использовать закладку Выражения, иногда закладку Шаблон

При сохранении и при клике вне области ввода Шаблона система проверяет корректность вычисления и орфографии. В случае ошибки окно становится красным.


# Блок Работа с данными

### Файловая операция

<div align="left"><img src="/files/-MJHZAAfBhuhIaNfpiGS" alt=""></div>

Производит указанную дисковую операцию с файлом, каталогом, путем или содержимом файла. Для разных Типов объекта доступны разные Операции и разные свойства объекта.

![](/files/-MJHZFLcMLArh5Z_DCEp)

Файловая операция

| **Название**            | **Описание**                                                                                                                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип объекта             | Подробно описано ниже в Типы и операции работы с файлами                                                                                                                                     |
| Операции                |                                                                                                                                                                                              |
| Путь                    | Аргумент, содержащий путь.                                                                                                                                                                   |
| Отрезать расширение     | <p>При работе с получением файлов возможно указать вид получаемого ответа</p><ul><li> Да = имя файла с расширением</li><li>Нет = имя файла без расширения</li></ul>                          |
| Категория каталога      | При работе с каталогами возможно указать тип каталога. Подробнее в Типы каталогов                                                                                                            |
| другие поля             | В зависимости от Типа и Операции могут появляться другие однозначные поля (например, Путь источника, Путь назначения, Имя файла и т.д.). Подробно описано в Типы и операции работы с файлами |
| Результат в переменную  | Переменная для сохранения результата операции.                                                                                                                                               |
| Код ошибки в переменную | Переменная для сохранения кода ошибки операции.                                                                                                                                              |
| Переход                 | Компонент, которому передается управление в случае успешного завершения операции. Переход по умолчанию                                                                                       |
| Переход, не найдено     | Компонент, которому передается управление в случае, если объект по указанному пути отсутствует.                                                                                              |
| Переход, ошибка         | Компонент, которому передается управление в случае ошибки выполнения операции.                                                                                                               |
| Описание                | Описание компонента                                                                                                                                                                          |

#### Типы и операции работы с файлами

Операции и свойства различных типов объектов

| **Тип объекта**         | **Операция**                                                                                             | **Описание**                                                                                                        | **Доступные свойства**                                                               |
| ----------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| Файл                    | Удалить                                                                                                  | Удаление файла                                                                                                      | •             Путь                                                                   |
| Скопировать             | Копирование определенного файла по указанному пути                                                       | <ul><li>Путь источника</li><li>Путь назначения</li></ul>                                                            |                                                                                      |
| Переместить             | Перемещение определенного файла по указанному пути                                                       | <ul><li>Путь источника</li><li>Путь назначения</li></ul>                                                            |                                                                                      |
| Переименовать           | Переименование файла                                                                                     | <ul><li>Путь источника</li><li>Путь назначения</li></ul>                                                            |                                                                                      |
| Проверить наличие       | Проверка наличия файла                                                                                   | <ul><li> Путь</li></ul>                                                                                             |                                                                                      |
| Размер                  | Определение размера файла в байтах                                                                       | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Хеш содержимого         | Вычисление md5 подписи к файлу                                                                           | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Создать путь            | Создание всех каталогов до указанного файла. Необходимо передавать с именем файла. Файл создан не будет. | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Путь                    | Тип пути                                                                                                 | Определение типа пути из строки.                                                                                    | <ul><li>Путь</li></ul>                                                               |
| Относительный путь      | Относительный путь после типа пути.                                                                      | <ul><li> Путь</li></ul>                                                                                             |                                                                                      |
| Имя файла               | Возвращает из пути имя файла                                                                             | <ul><li>Путь</li><li>Отрезать расширение</li></ul><p>–            Да</p><p>–            Нет</p>                     |                                                                                      |
| Расширение              | Определение расширение файла из строки полного пути                                                      | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Каталог                 | Определение каталога из строки полного пути                                                              | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Построить путь          | Создать строку пути (в результат) относительно типа каталога                                             | <ul><li>Тип каталога</li><li>Относительный путь</li></ul>                                                           |                                                                                      |
| Построить путь к файлу  | Создать строку пути с именем файла и расширения                                                          | <ul><li>Путь</li><li>Имя файла</li><li>Расширение</li></ul>                                                         |                                                                                      |
| Каталог                 | Создать                                                                                                  | <p>Создание всех каталогов из переменной, включая последний отрезок.<br> Необходимо передавать без имени файла.</p> | <ul><li>Путь</li></ul>                                                               |
| Удалить                 | Удаление каталога и его содержимого по указанному пути                                                   | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Скопировать             | Копирование каталога источника и его содержимого в каталог назначения                                    | <ul><li>Путь источника</li><li>Путь назначения</li></ul>                                                            |                                                                                      |
| Переместить             | Перемещение каталога источника и его содержимого в каталог назначения                                    | <ul><li>Путь источника</li><li>Путь назначения</li></ul>                                                            |                                                                                      |
| Переименовать           | Переименование каталога                                                                                  | <ul><li>Путь источника</li><li>Путь назначения</li></ul>                                                            |                                                                                      |
| Проверить наличие       | Проверка наличия указанного каталога                                                                     | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Количество файлов       | Подсчет количества файлов в текущем каталоге без дочерних                                                | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Количество подкаталогов | Подсчет количества подкаталогов в текущем                                                                | <ul><li>Путь</li></ul>                                                                                              |                                                                                      |
| Содержимое файла        | Создать файл                                                                                             | Создание файла в указанной кодировке                                                                                | <ul><li> Путь</li></ul><p>•             Кодировка</p><p>•             Содержимое</p> |
| Записать файл           | Запись данных в указанной кодировке в файл (перезаписывает существующий файл)                            | <ul><li>Путь</li><li>Кодировка</li><li>Содержимое</li></ul>                                                         |                                                                                      |
| Дописать в конец файла  | Запись данных в указанной кодировке в файл (дописывает в конец если файл существующий)                   | <ul><li>Путь</li><li>Кодировка</li><li>Содержимое</li></ul>                                                         |                                                                                      |
| Считать файл            | Считывание содержимого файла в указной Кодировке в переменную Результат.                                 | <ul><li>Путь</li><li>Кодировка</li></ul>                                                                            |                                                                                      |

#### Типы каталогов

При указании каталога можно выбрать один из следующих типов:

| **Тип каталога**          | **Описание**                                                                                     |
| ------------------------- | ------------------------------------------------------------------------------------------------ |
| SYNC\_COMMON              | Каталог общих данных всех доменов в синхронизирующемся между серверами каталоге.                 |
| SYNC\_DOMAIN\_COMMON      | Каталог общих данных домена в синхронизирующемся между серверами каталоге.                       |
| SYNC\_DOMAIN\_DATA        | Каталог данных домена в синхронизирующемся между серверами каталоге.                             |
| SYNC\_SCRIPT\_DATA        | Каталог данных сценария в синхронизирующемся между серверами.                                    |
| SITESHARE\_PUBLIC         | Каталог общих данных на сетевом диске сайтового хранилища, доступного всем серверам на сайте.    |
| SITESHARE\_DOMAIN\_DATA   | Каталог данных домена на сетевом диске сайтового хранилища, доступного всем серверам на сайте.   |
| SITESHARE\_SCRIPT\_DATA   | Каталог данных сценария на сетевом диске сайтового хранилища, доступного всем серверам на сайте. |
| GLOBALSHARE\_PUBLIC       | Каталог общих данных на сетевом диске глобального хранилища, доступного всем сайтам.             |
| GLOBALSHARE\_DOMAIN\_DATA | Каталог данных домена на сетевом диске глобального хранилища, доступного всем сайтам.            |
| GLOBALSHARE\_SCRIPT\_DATA | Каталог данных сценария на сетевом диске глобального хранилища, доступного всем сайтам.          |
| TEMP                      | Временный каталог текущего обработчика сценария. Удаляется через 5 секунд после его завершения.  |

### SQL-запрос

<div align="left"><img src="/files/-MJHZSR9b94J_NKeEVmx" alt=""></div>

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: PSQL (Postgre SQL), ODBC.

В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения от БД.

Для PSQL параметры передаются через символ @, а для ODBC через символ соответствующего драйвера (может быть @, ?, :).

Результат записывается в переменные, которые по имени совпадают с названиями возвращаемых колонок из запроса

![](/files/-MJHZ_2zAWY6HDzQZdTX)

| **Название**      | **Описание**                                                                                                                                                                                                                                                                                                                                             |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| База Данных       | <p>БД для подключения.</p><ul><li>CDR – Собственная событийной потоковой БД домена.</li><li>Journal – Собственная журнальная БД домена.</li><li>Report – Собственная отчетная БД домена.</li><li>Другая – Другая БД.</li></ul>                                                                                                                           |
| Драйвер           | <p>(если База Данных = Другая)</p><ul><li>ODBC – подключение через драйвер ODBC.</li><li>PSQL – одключение через внутренний адаптер к PostgreSQL.</li></ul>                                                                                                                                                                                              |
| Строка соединения | <p>Пример для odbc драйвера</p><p>Driver={SQL Server Native Client 11.0};<br> Server=192.168.0.73,14350;<br> Database=testbase;<br> UID=test;<br> PWD=123;</p><p>Пример для psql драйвера</p><p>Driver={PostgreSQL Unicode(x64)};<br> Server=127.0.0.1;<br> Port=5433;<br> Database=r\_cdr\_central\_common;<br> Uid=rostellpgadmin;<br> Pwd=123456;</p> |
| Время,с           | Предельное время выполнения запроса. По достижению этого времени, если не получен ответ, будет переход по ветке “Переход, время”                                                                                                                                                                                                                         |
| Запрос            | <p>Тело SQL запрос, который будет отправлен в БД.</p><p>INSERT INTO EMPLOYEE (NR, FIRSTNAME, LASTNAME, GENDER)<br> VALUES (?, ?, ?, ?)</p>                                                                                                                                                                                                               |
| Параметры запроса | <p>Списочное значение, устанавливающее параметры для запроса.</p><p>pKey="sql\_integer", pValue=\[2,3],<br> pKey="sql\_varchar, 20", pValue=\["Sergey", "Alina"],<br> pKey="sql\_varchar, 20", pValue=\["Ivanov","Gallyamova"],<br> pKey="sql\_char, 1", pValue=\["M","F"].</p>                                                                          |
| Кодировка         | <p>Кодировка, в которой следует сохранить строковые значения в переменных.</p><ul><li>UTF-8</li><li>cp1251 – Кодовая страница windows-1251 (кириллица)</li></ul>                                                                                                                                                                                         |
| Код ошибки        | Переменная для сохранения кода ошибки.                                                                                                                                                                                                                                                                                                                   |
| Название ошибки   | Переменная для сохранения названия ошибки.                                                                                                                                                                                                                                                                                                               |
| Переход           | Компонент, которому передается управление после успешного завершения запроса.                                                                                                                                                                                                                                                                            |
| Переход, время    | Компонент, которому передается управление после истечения таймаута до получения ответа на запрос.                                                                                                                                                                                                                                                        |
| Переход, ошибка   | Компонент, которому передается управление в случае возникновения ошибки при подготовке или выполнении запроса.                                                                                                                                                                                                                                           |
| Описание          | Описание компонента                                                                                                                                                                                                                                                                                                                                      |

Если необходимо вернуть множество строк в ответе, то в SQL запросе необходимо сделать "сохранение в json структуру" и уже компонентом Парсер разобрать результат. В зависимости от СУБД трансформация в json будет различная

### Web-запрос

<div align="left"><img src="/files/-MJHZjF8oSc0cDRvpQw2" alt=""></div>

Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам, настроенным в Каналах интеграции. Поддерживает методы GET, POST, PUT, HEAD, DELETE, PATCH, TRACE, OPTIONS с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов.

В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP. Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов.

Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с других серверов текущего сайта от имени роли WS.

![](/files/-MJHZogskdxqOPWm4Yrc)

Web-запрос

| **Название**               | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Прокси                     | <p>Использовать ли прокси сервер для подключения:</p><p>•             Нет. Прямой запрос</p><p>•             Да. Запрос через прокси сервер. Дополнительно надо определить:</p><p>\* Адрес прокси - IP/fqdn прокси сервера<br> \* Порт прокси - Port прокси сервера<br> \* Аутентификация:<br> \*\* Да - необходима аутентификация на прокси<br> \*\*\* Логин прокси<br> \*\*\* Пароль прокси<br> \*\* Нет - прокси без аутентификации</p>                                                                                                                                                                                                                 |
| Макс. перенаправлений      | Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка Max-Forwards. При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Источник канала интеграции | <p>Способ выбора канала интеграции, через URL которого отправлять HTTP-запрос.</p><ul><li>Из списка - необходимо в поле Канал интеграции выбрать канал</li><li>По коду - необходимо в поле Код канала интеграции ввести аргументом Код канала интеграции, который настроен в системе.</li></ul>                                                                                                                                                                                                                                                                                                                                                            |
| Страница                   | Аргумент, содержащий страницу (endpoint, левая часть URL адреса) Итоговый URL для запроса формируется на основании URL канала интеграции и указанной страницы.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Источник запроса           | <p>Адрес сервера, с которого необходимо отправить запрос. По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий. Возможные форматы указания:</p><p>\* RoleId<br> \* RoleId:Iface<br>    ,где<br>       - RoleId – идентификатор роли в конфигурации, по роли определяется нода;<br>       - Iface – адрес сетевого интерфейса на сервере.</p>                                                                                                                                                                                                                                                                                      |
| Метод                      | <ul><li>POST</li><li>GET</li><li>PUT</li><li>HEAD</li><li>DELETE</li><li>PATCH</li><li>TRACE</li><li>OPTIONS</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Базовая аутентификация     | <ul><li>Да - необходима базовая аутентификация (дополнительно надо ввести аргументы для полей Логин и Пароль)</li><li>Нет - без базовой аутентификации</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Заголовки                  | <p>Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки.<br> Вид:</p><p>HeaderName1: Value1<br> HeaderName2: Value2</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Куки                       | <p>Позволяет установить дополнительные cookie значения.<br> Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки (вид аналогичный “Заголовки”).</p>                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Режим                      | <p>Режим работы компонента после отправки запроса. Возможные варианты:</p><ul><li>Ожидание результата – Ожидание ответа от удаленной стороны без ограничения по времени.</li><li>Асинхронный запуск – Управление сразу передается следующему компоненту.</li><li>Обрыв по таймауту – Ожидание ответа в течение установленного времени, по истечению которого HTTP-подключение разрывается и управление передается следующему компоненту.</li><li>Выход по таймауту – Ожидание ответа в течение установленного времени, по истечению которого управление передается следующему компоненту без разрыва подключения и прерывания процесса отправки.</li></ul> |
| Время, с                   | (для режимов Обрыв по таймауту и Выход по таймауту) Количество секунд ожидания ответа.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Заголовки ответа           | (для всех режимов кроме Асинхронный) Сохранение заголовков ответа.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Ответ                      | (для всех режимов кроме Асинхронный) Сохранение тела ответа.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Кодировка ответа           | <p>(для всех режимов кроме Асинхронный)</p><ul><li> Авто из заголовка</li><li>Авто из тела</li><li>Unicode</li><li>UTF-8</li><li>UTF-7</li><li>Windows-1251</li><li>Указать название – Задать название кодировки вручную.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Ошибка                     | Переменная для сохранения HTTP-кода ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Переход                    | Компонент, которому передается управление в случае успешного завершения операции асинхронной отправки, либо получения HTTP-ответа. Переход по-умолчанию.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Переход, ошибка            | Компонент, которому передается управление в случае ошибки отправки запроса, либо получения неудачного ответа (коды 4xx – 6xx).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Описание                   | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

Адрес запроса формируется как поле URL из канала интеграции + значение из поля Страница

### Отправка сообщения в websocket-подключение

<div align="left"><img src="/files/-MJHZw9U5w1PZbzrkWHc" alt=""></div>

Осуществляет отправку сообщения в websocket-подключение пользователя системы. Подключение должно существовать и быть активным. Каждое подключение идентифицируется внутренним ID Аксател, который можно получить при входящих сообщениях от клиента.\
&#x20;Хранить текущий ID websocket подключения можно в объекте Адресная книга или extObj (доступ через компонент Операция)

![](/files/-MJH_31BkbBEqDoDYpfR)

Отправка сообщения в websocket-подключение

| **Название**     | **Описание**                                                                                           |
| ---------------- | ------------------------------------------------------------------------------------------------------ |
| Операция         | Доступна одна операция - Отправить. Отправляет сообщение в websocket-подключение.                      |
| Ид подключения   | Идентификатор websocket-подключения.                                                                   |
| Сообщение        | Тело сообщения.                                                                                        |
| Ожидать доставки | Выключатель синхронного режима ожидания доставки сообщения до приложения адресата.                     |
| Время, с         | Таймаут ожидания доставки сообщения, в секундах.                                                       |
| Ошибка           | Переменная для сохранения ошибки.                                                                      |
| Переход          | Компонент, которому передается управление в случае успешного завершения операции. Переход по-умолчанию |
| Переход, время   | Компонент, которому передается управление в случае истечения таймаута ожидания доставки сообщения.     |
| Переход, ошибка  | Компонент, которому передается управление в случае возникновения ошибки.                               |

### Парсер

<div align="left"><img src="/files/-MJH_9DsQh9gFFZs207b" alt=""></div>

Осуществляет разбор различных структур данных для выделения необходимого результата. Может работать с

* JSON-структурами
* XML-структурами
* HTML- структурами
* текстовыми документами

На уровне сценария могут быть организованы циклы и условия. Наиболее частое использование для разбора ответов от компонентов Web-запрос, Монитор и Операция.

![](/files/-MJH_FIEos6zlvkz7sKd)

| **Название**           | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Документ               | Аргумент, содержащий структуру, подлежащую разбору.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Алгоритм               | <ul><li>Парсер JSON – Применяет алгоритм поиска в JSON структуре.<br></li><li>Парсер XML - Применяет алгоритм поиска в XML документе.<br></li><li>Регулярные выражения – Применяет стандартный алгоритм регулярных выражений. Осуществляет поиск элементов по поисковому шаблону. В общем случае обнаруживает несколько элементов. Для выдачи содержимого необходимо указать номер элемента и номер группы (если в шаблоне используется захват групп).<br></li><li>Парсер HTML – Применяет алгоритм поиска в HTML документе. Синтаксис описан в . Допускает отсутствие закрывающих тегов (в отличие от XML).</li></ul> |
| Поисковый запрос       | Строка с поисковым запросом для выбранного алгоритма. Подробно описано в Правила поиска различных алгоритмов Парсера                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Функция                | В зависимости от алгоритма используются различные функции. Подробнее в Функции различных алгоритмов Парсера                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Номер элемента         | (только для алгоритма Регулярные выражения) Указывает индекс элемента в списке элементов, обнаруженных по шаблону в исходном документе. Нумерация начинается с 0.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Номер группы           | (только для алгоритма Регулярные выражения) Указывает номер группы в списке захваченных групп выбранного элемента. Имеет значение только при указании в поисковом запросе групп захвата (выделяются круглыми скобками в соответствии с синтаксисом регулярных выражений).                                                                                                                                                                                                                                                                                                                                              |
| Номер атрибута         | (только для алгоритмов xml и html) Указывает номер атрибута                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Имя атрибута           | (только для алгоритмов xml и html) Указывает имя атрибута                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Результат в переменную | Переменная, в которую будет сохранен результат применения поискового запроса к документу.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Ошибка в переменную    | Переменная, в которую сохраняется текст ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Переход                | Компонент, на который передается управление. Переход по-умолчанию                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Переход, ошибка        | Компонент, на который передается управление в случае ошибки                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Описание               | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

#### Функции различных алгоритмов Парсера

**Функция для алгоритма Парсер JSON.**

| **Вариант**                | **Описание**                                         |
| -------------------------- | ---------------------------------------------------- |
| Содержимое                 | Возвращает обнаруженный элемент вместе с содержимым. |
| Восстановленное содержимое | В ответе убраны внешние признаки JSON элемента       |
| Количество элементов       | Возвращает количество найденных элементов.           |
| Список ключей              | Возвращает список ключей в найденном объекте.        |

**Функция для алгоритма Парсер XML.**

| **Вариант**          | **Описание**                                                     |
| -------------------- | ---------------------------------------------------------------- |
| Документ             | Возвращает выбранный элемент целиком вместе с содержимым.        |
| Содержимое           | Возвращает содержимое выбранного элемента, исключая сам элемент. |
| Количество элементов | Возвращает количество обнаруженных элементов.                    |
| Значение атрибута    | Возвращает значение указанного атрибута выбранного элемента.     |
| Имя атрибута         | Возвращает имя атрибута по его индексу в выбранном элементе.     |
| Количество атрибутов | Возвращает количество атрибутов в выбранном элементе.            |

**Функция для алгоритма Регулярные выражения.**

| **Вариант**          | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Содержимое           | Возвращает содержимое указанной группы из указанного элемента. Отсчет элементов с 1 (значение по умолчанию), отсчет групп с 0 (значение по умолчанию 1), причем нулевая группа – это полное содержание элемента. Применение в поисковом шаблоне группировок (круглые скобки) влечет необходимость указывать корректное значение интересующей группы, указание неподходящего индекса приводит к завершению работы компонента с ошибкой. |
| Количество элементов | Возвращает количество обнаруженных элементов, соответствующих поисковому шаблону.                                                                                                                                                                                                                                                                                                                                                      |
| Количество групп     | Возвращает количество захваченных групп в обнаруженном элементе с указанным индексом. Необходимо указание номера элемента, по умолчанию 1. Если группировка в поисковом шаблоне не используется, то возвращается значение 0.                                                                                                                                                                                                           |

**Функция для алгоритма Парсер HTML.**

| **Вариант**          | **Описание**                                                     |
| -------------------- | ---------------------------------------------------------------- |
| Документ             | Возвращает выбранный элемент целиком вместе с содержимым.        |
| Содержимое           | Возвращает содержимое выбранного элемента, исключая сам элемент. |
| Количество элементов | Возвращает количество обнаруженных элементов.                    |
| Значение атрибута    | Возвращает значение указанного атрибута выбранного элемента.     |
| Имя атрибута         | Возвращает имя атрибута по его индексу в выбранном элементе.     |
| Количество атрибутов | Возвращает количество атрибутов в выбранном элементе.            |

#### Правила поиска различных алгоритмов Парсера

**Алгоритм JSON**

Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом /.\
&#x20;При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON.

Пример исходного json

```typescript
{
   "result": "ok",
   "errormsg": "",
   "chat": [
     {
       "sessId": "uvajoqnx0qcpbjoflxr",
       "msgs": [
         {
           "msgId": 8255,
           "msgDt": 1491292390,
           "msgData": {
             "type": "text",
             "data": "Добрый день. Выберите интересующий Вас вопрос."
           },
           "msgSender": "op"
         },
         {
           "msgId": 8256,
           "msgDt": 1491292391,
           "msgData": {
             "type": "buttons",
             "data": "Связаться с usr 6"
           },
           "msgSender": "ab"
         },
         {
           "msgId": 8257,
           "msgDt": 1491292392,
           "msgData": {
             "type": "buttons",
             "data": "Связаться с usr 8"
           },
           "msgSender": "ab"
         }
       ]
     }
   ]
 }
```

| **Запрос**                                  | **Функция**   | **Результат**                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| "chat"/0/"sessId"                           | Содержимое    | uvajoqnx0qcpbjoflxr                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Количество элементов                        | 1             |                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| "chat"/0/"msgs"("msgSender":"ab")/1/"msgId" | Содержимое    | 8257                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Количество элементов                        | 1             |                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| "chat"/0/"msgs"("msgSender":"ab")           | Содержимое    | <p> \[<br>    {<br>      "msgId": 8256,<br>      "msgDt": 1491292391,<br>      "msgData": {<br>        "type": "buttons",<br>        "data": "Связаться с usr 6"<br>      },<br>      "msgSender": "ab"<br>    },<br>    {<br>      "msgId": 8257,<br>      "msgDt": 1491292392,<br>      "msgData": {<br>        "type": "buttons",<br>        "data": "Связаться с usr 8"<br>      },<br>      "msgSender": "ab"<br>    }<br>  ]</p> |
| Количество элементов                        | 2             |                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| "chat"/0                                    | Список ключей | \["sessId","msgs"]                                                                                                                                                                                                                                                                                                                                                                                                                     |

**Алгоритм XML**

Пример документа XML:

```markup
<configuration version="16">
     <folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
         <device id="RXYYDPI-SVKNBMF-YADG7WD"></device>
         <minDiskFreePct>1</minDiskFreePct>
         <versioning></versioning>
         <copiers>0</copiers>
         <pullers>0</pullers>
         <hashers>0</hashers>
         <order>random</order>
     </folder>
     <folder id="demo.rostell.ru" label="demo.rostell.ru" path="c:\rtx_mg3\Media\domains\demo.rostell.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
         <device id="RXYYDPI-SVKNBMF-01020304"></device>
         <minDiskFreePct>1</minDiskFreePct>
         <versioning></versioning>
         <copiers>0</copiers>
         <pullers>0</pullers>
         <hashers>0</hashers>
         <order>random</order>
     </folder>
     <gui enabled="true" tls="false" debugging="false">
         <address>127.0.0.1:8384</address>
         <apikey>jeopL9MghPvTmweKDeGcoXhwRtrdaVDP</apikey>
         <theme></theme>
     </gui>
 </configuration>
```

| **Запрос**                                                         | **Функция**                                                                                                                                                                                                             | **Результат**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| "configuration"/0/"folder"                                         | Документ                                                                                                                                                                                                                | <p>    \<folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx\_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true"><br>         \<device id="RXYYDPI-SVKNBMF-YADG7WD">\</device><br>         \<minDiskFreePct>1\</minDiskFreePct><br>         \<versioning>\</versioning><br>         \<copiers>0\</copiers><br>         \<pullers>0\</pullers><br>         \<hashers>0\</hashers><br>         \<order>random\</order><br>     \</folder><br>     \<folder id="demo.rostell.ru" label="demo.rostell.ru" path="c:\rtx\_mg3\Media\domains\demo.rostell.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true"><br>         \<device id="RXYYDPI-SVKNBMF-YADG7WD">\</device><br>         \<minDiskFreePct>1\</minDiskFreePct><br>         \<versioning>\</versioning><br>         \<copiers>0\</copiers><br>         \<pullers>0\</pullers><br>         \<hashers>0\</hashers><br>         \<order>random\</order><br>     \</folder></p> |
| "configuration"/0/"folder"("id":"x.demo.rostell.ru")/0/"device"/0/ | Документ                                                                                                                                                                                                                | \<device id="RXYYDPI-SVKNBMF-YADG7WD"/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| "configuration"/0/"folder"("id":"x.demo.rostell.ru")               | Документ                                                                                                                                                                                                                | <p>    \<folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx\_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true"><br>         \<device id="RXYYDPI-SVKNBMF-YADG7WD">\</device><br>         \<minDiskFreePct>1\</minDiskFreePct><br>         \<versioning>\</versioning><br>         \<copiers>0\</copiers><br>         \<pullers>0\</pullers><br>         \<hashers>0\</hashers><br>         \<order>random\</order><br>     \</folder></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Содержимое                                                         | <p>\<device id="RXYYDPI-SVKNBMF-YADG7WD"/><br> \<minDiskFreePct>1\</minDiskFreePct><br> \<versioning/><br> \<copiers>0\</copiers><br> \<pullers>0\</pullers><br> \<hashers>0\</hashers><br> \<order>random\</order></p> |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <p>Значение атрибута.<br> Имя атрибута: "type"</p>                 | readwrite                                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| <p>Имя атрибута.<br> Номер атрибута: 1</p>                         | id                                                                                                                                                                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Количество атрибутов                                               | 7                                                                                                                                                                                                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

**Алгоритм HTML**

Общие правила:

* Поиск по наименованию тега в двойных кавычках, например "br"<br>
* Последовательность тегов формируется разделителем |, например "html"|"head"|"title"<br>
* Получения одного из одинаковых тегов производится добавлением индекса после разделителя тега (начиная с нуля), например "html"|"br"|1|"title"<br>
* По умолчанию переход к поиску следующего тега происходит с выбором нулевого тега.<br>
* Запрос "html"|0|"head"|0|"title"|0 равносилен запросу "html"|"head"|"title", т.е запрос по имени тега всегда возвращает список.<br>
* Запрос можно строить по индексам, например "0|0|1"<br>
* Для обращений к атрибутам тега используется скобки.<br>
* Запрос "html"|"head"|("charset") выдаст список родительских тегов "head" в которых присутствует атрибут "charset".<br>
* Запрос "html"|"head"|("type="test/css") выдаст список родительских тегов "head" в которых атрибут "type" равен "test/css".

Пример документа HTML:

```markup
<HTML>
     <HEAD>
          <META a="1" b="2"/>
     </HEAD>
     <BODY>
         <p id="x1" class="abc">abc abc
         <a href="http://asdf.ru">link</a> <br>
         </p>
         <br><br>
         <p id="x2" class="abc" v="123">zxcv zxcv</p>
     </BODY>
 </HTML>
```

| **Запрос**                                     | **Функция**                                                                                                                                                                                               | **Результат**                                                                                                                                                                                                                          |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ("id"="x1")                                    | Документ                                                                                                                                                                                                  | <p>\<p id="x1" class="abc">abc abc<br> \<a href="[http://asdf.ru">link\&#x3C;/a>](https://help.axatel.by/administrirovanie-telefonnoi-stancii/rabota-s-graficheskim-redaktorom-scenariev/http:/asdf.ru">link\&#x3C;/a>) \<br>\</p></p> |
| Содержимое                                     | <p>abc abc<br> \<a href="[http://asdf.ru">link\&#x3C;/a>](https://help.axatel.by/administrirovanie-telefonnoi-stancii/rabota-s-graficheskim-redaktorom-scenariev/http:/asdf.ru">link\&#x3C;/a>) \<br></p> |                                                                                                                                                                                                                                        |
| Количество элементов                           | 1                                                                                                                                                                                                         |                                                                                                                                                                                                                                        |
| <p>Значение атрибута.<br> Имя атрибута: id</p> | x1                                                                                                                                                                                                        |                                                                                                                                                                                                                                        |
| "META"                                         | Количество атрибутов                                                                                                                                                                                      | 2                                                                                                                                                                                                                                      |
| "p"                                            | Документ                                                                                                                                                                                                  | <p>\<p id="x1" class="abc">abc abc<br> \<a href="[http://asdf.ru">link\&#x3C;/a>](https://help.axatel.by/administrirovanie-telefonnoi-stancii/rabota-s-graficheskim-redaktorom-scenariev/http:/asdf.ru">link\&#x3C;/a>) \<br>\</p></p> |
| "p"\|0                                         | Документ                                                                                                                                                                                                  | <p>\<p id="x1" class="abc">abc abc<br> \<a href="[http://asdf.ru">link\&#x3C;/a>](https://help.axatel.by/administrirovanie-telefonnoi-stancii/rabota-s-graficheskim-redaktorom-scenariev/http:/asdf.ru">link\&#x3C;/a>) \<br>\</p></p> |
| "p"\|1                                         | Документ                                                                                                                                                                                                  | \<p id="x2" class="abc" v="123">zxcv zxcv\</p>                                                                                                                                                                                         |
| "BODY"\|"p"\|("v")                             | Содержимое                                                                                                                                                                                                | zxcv zxcv                                                                                                                                                                                                                              |

### Генератор события

<div align="left"><img src="/files/-MJH_X5RMpwzpnAmasp1" alt=""></div>

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

![](/files/-MJH_w1kqPpOmpvQk6wn)

Генератор события

| **Название**   | **Описание**                                                                                                                                                     |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Пользователь   | <p>Имя пользователя, по которому производится фильтрация при подписке. Значение представляется в виде структуры<br><br></p><p>{"sipuser":"login or number"}.</p> |
| Имя События    | Имя события, содержащее класс и тип через точку в формате CLASS\_NAME.TYPE\_NAME                                                                                 |
| Тело события   | Пересылаемая информация от Аксател на сторону внешней системы в формате JSON                                                                                     |
| Переход        | Компонент, которому передается управление при успешном завершении.                                                                                               |
| Переход,Ошибка | Компонент, на который передается управление, в случае ошибки                                                                                                     |
| Причина ошибки | Переменная, в которую будет сохранена причина ошибки                                                                                                             |
| Описание       | Описание компонента                                                                                                                                              |

### LDAP-интеграция

<div align="left"><img src="/files/-MJHbZVNisH3W5f2ptPm" alt=""></div>

Компонент позволяющий сделать запрос по протоколу LDAP. Используется для интеграции с AD.

![](/files/-MJHbfh7B-_0g8w4u8ph)

LDAP-интеграция

Свойства:

| **Название**            | **Описание**                                                                                          |
| ----------------------- | ----------------------------------------------------------------------------------------------------- |
| Протокол                | LDAP (протокол соединения с Active Directory)                                                         |
| Адреса серверов         | Список адресов серверов службы каталогов. Можно задать несколько адресов через запятую.               |
| Домен пользователя      | Домен к которому происходит подключение                                                               |
| Имя пользователя        | Пользователь под которым происходит подключение                                                       |
| Пароль                  | Пароль пользователя                                                                                   |
| Тайм-аут                | Время подключения к серверу.  В случае истечения времени сработает Переход, ошибка                    |
| Действие                | Подробно в Действия LDAP-интеграции                                                                   |
| Дополнительные поля     |                                                                                                       |
| Результат в переменную  | Переменная, в которую будет сохранен результат применения запроса.                                    |
| Код ошибки в переменную | Переменная, в которую будет сохранен код ошибки                                                       |
| Переход                 | Компонент, на который передается управление, если запрос в AD выполнен успешно. Переход по-умолчанию. |
| Переход, ошибка         | Компонент, на который передается управление, если возникла ошибка при запросе к AD                    |
| Описание                | Описание компонента                                                                                   |

Права доступа к атрибутам, объектам и доменам определяются пользователем из-под которого работает текущий компонент

#### Действия LDAP-интеграции

**Действие Авторизовать**

Производит подключение и возвращает 1 или 0 в зависимости от успешности. Никаких дополнительных операций в AD не производит.

Дополнительных полей нет.

**Действие Найти**

Используется для поиска данных в LDAP и получение списка значений в результирующую переменную.

Используются дополнительные поля:

| **Доп.поле**  | **Описание**                                                                                                                                                                                                                                                                    |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DN            | <p>Название домена, в котором производится операция. Например,<br> ou=AD-TEST,dc=Siberia,dc=ttt</p>                                                                                                                                                                             |
| Охват         | <p>Выбор охвата для операции поиска. Возможные варианты:</p><p>•             Базовый объект – Только внутри объекта.</p><p>•             Только уровень – По указанному уровню списка, то есть без рекурсии.</p><p>•             Ветвь целиком – По всему дочернему дереву.</p> |
| Атрибуты      | <p>Атрибуты для поиска. Например,<br> objectGUID,cn,telephoneNumber,mobile</p>                                                                                                                                                                                                  |
| Строка поиска | <p>Строка поиска в службе каталогов. Подробнее в Поиск LDAP. Например,<br> present("cn") and present("telephoneNumber") and present("objectGUID") and substrings("mobile",5551234)</p>                                                                                          |

**Поиск LDAP**

При работе с LDAP возможно использовать строку поиска. Ниже приведены базовые принципы работы алгоритма фильтрации в LDAP протоколе.

| **Функция**    | **Описание**                                   | **Пример**                                                                                                                                                                                                                     |
| -------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| present        | существование атрибута с непустым значением    | <p>present("cn")<br> present("telephoneNumber")<br> present("ou")</p>                                                                                                                                                          |
| not            | отрицание результата. Логическое НЕ (инверсия) | not(present("telephoneNumber"))                                                                                                                                                                                                |
| and            | Логическое И                                   | not(present("telephoneNumber")) and present("cn") and present("mobile")                                                                                                                                                        |
| greaterOrEqual | Больше или равно                               | greaterOrEqual("cn","b")                                                                                                                                                                                                       |
| lessOrEqual    | Меньше или равно                               | lessOrEqual("sn","b") and greaterOrEqual("cn","a")                                                                                                                                                                             |
| equalityMatch  | Приблизительно равно                           | <p>equalityMatch("sn","Ivanov")<br> equalityMatch("instanceType","4")</p>                                                                                                                                                      |
| approxMatch    | Жестко равно                                   | approxMatch("sn","Ivanov")                                                                                                                                                                                                     |
| substrings     | Поиск подстроки                                | <p>substrings("sn","vano")<br> substrings(initial,"sn","Iva")<br> substrings(any,"sn","va","no")<br> substrings(any,"sn","I","v","a","n","o","v")<br> substrings(final,"sn","nov")<br> substrings(initial,"objectGUID",10)</p> |

**Пример**\
&#x20;Возврат всех атрибутов по пользователю

DN: CN=User\_A7 LastNameA7,OU=City\_A,OU=AD-TEST,DC=Siberia,DC=post\
&#x20;Охват: базовый объект\
&#x20;Атрибуты: \*\
&#x20;Строка поиска: present("cn")

**Пример**\
&#x20;Возврат по всем объектам в указанном DN атрибутов cn, displayName, mobile

DN: CN=OU=City\_A,OU=AD-TEST,DC=Siberia,DC=post\
&#x20;Охват: ветвь целиком\
&#x20;Атрибуты: cn, displayName, mobile\
&#x20;Строка поиска: present("cn")

**Действие Создать**

Осуществляет создание нового объекта в LDAP по указанному пути. Используются дополнительные поля:

| **Доп.поле** | **Описание**                                                                                           |
| ------------ | ------------------------------------------------------------------------------------------------------ |
| DN           | <p>Название объекта, которй необходимо создать. Например,<br> cn=User,ou=AD-TEST,dc=Siberia,dc=ttt</p> |
| Атрибуты     | <p>Атрибуты создания объекта в формате JSON. Например,<br> {"mobile": \["111 11 11"]}</p>              |

**Пример**\
&#x20;Создание нового объекта в указанном dn с выставленными атрибутами

DN: CN=User\_A7 LastNameA7,OU=City\_A,OU=AD-TEST,DC=Siberia,DC=post\
&#x20;Атрибуты:\
&#x20;&#x20;

```markup
{
   "objectClass": ["top", "person", "organizationalPerson", "user"],
   "cn": ["User_A7 LastNameA7"],
   "sn": ["LastNameA7"],
   "mobile": ["545 555 00"]
  }
```

**Действие Удалить**

Удаление указанного объекта из LDAP Используются дополнительные поля:

| **Доп.поле** | **Описание**                                                                                            |
| ------------ | ------------------------------------------------------------------------------------------------------- |
| DN           | <p>Название объекта, который необходимо удалить. Например,<br> cn=User,ou=AD-TEST,dc=Siberia,dc=ttt</p> |

**Пример**\
&#x20;Удаление существующего объекта с указанным dn

DN: CN=User\_A7 LastNameA7,OU=City\_A,OU=AD-TEST,DC=Siberia,DC=post

**Действие Изменить**

Изменение существующего объекта в LDAP по указанному пути с новыми атрибутами. Используются дополнительные поля:

| **Доп.поле** | **Описание**                                                                                              |
| ------------ | --------------------------------------------------------------------------------------------------------- |
| DN           | <p>Название объекта, который необходимо изменить. Например,<br> cn=User4,ou=AD-TEST,dc=Siberia,dc=ttt</p> |
| Атрибуты     | <p>Атрибуты изменения объекта в формате JSON. Например,<br> {"mobile": \["111 11 11"]}</p>                |

**Пример**\
&#x20;Изменение у существующего объекта с указанным dn атрибутов displayName и mobile

DN: CN=User\_A7 LastNameA7,OU=City\_A,OU=AD-TEST,DC=Siberia,DC=post\
&#x20;Атрибуты:\
&#x20;&#x20;

```markup
 {
     "displayName":"ASDF",
     "mobile": ["334 113 43"]
   }
```

**Действие Изменить пароль**

Изменение пароля объекта для авторизации в AD Используются дополнительные поля:

| **Доп.поле**  | **Описание**                                                                                                        |
| ------------- | ------------------------------------------------------------------------------------------------------------------- |
| DN            | <p>Ссылка на объект, у которого необходимо изменить пароль. Например,<br> cn=User7,ou=AD-TEST,dc=Siberia,dc=ttt</p> |
| Новый пароль  | Новый пароль. Если не указан, то пароль сгенерится и вернется в качестве результата в переменную.                   |
| Старый пароль | Старый пароль. Может не указываться. В этом случае сверки не происходит (пароль меняется безусловно на новый)       |

**Пример**\
&#x20;Безусловное изменение пароля у объекта

DN: CN=User\_A7 LastNameA7,OU=City\_A,OU=AD-TEST,DC=Siberia,DC=post\
&#x20;Старый пароль:\
&#x20;Новый пароль: 3486ghT56^8j

**Действие Изменить DN**

Перенос объекта между доменами Используются дополнительные поля:

| **Доп.поле**    | **Описание**                                                                                              |
| --------------- | --------------------------------------------------------------------------------------------------------- |
| DN              | <p>Название объекта, который необходимо изменить. Например,<br> cn=User7,ou=AD-TEST,dc=Siberia,dc=ttt</p> |
| Новый DN        | <p>Новое имя для объекта. Например,<br> \`cn=User8'</p>                                                   |
| Родительский DN | <p>Название домена, в котором будет распологаться объект. Например,<br> ou=CITY,dc=NorthWest,dc=ttt</p>   |

**Пример**\
&#x20;Изменение имени объекта без переноса в другой домен

```markup
DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
 Новый DN: CN=User_A7test LastNameA7test
 Родительский DN: OU=City_B,OU=AD-TEST,DC=Siberia,DC=post
```

### Доступ к сервису S3

<div align="left"><img src="/files/-MJHbxtB7vF6X9SG3ru9" alt=""></div>

Взаимодействует с объектным хранилищем по протоколу S3.

![](/files/-MJHc2YlkbmZy8ma2X3o)

| **Название**                | **Описание**                                                                                                                                                                                                                                                              |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Хранилище                   | Название хранилища (bucket).                                                                                                                                                                                                                                              |
| Ключ хранения               | Ключ доступа к хранилищу.                                                                                                                                                                                                                                                 |
| Действие                    | <ul><li>Разместить – Размещает файл в хранилище.</li><li>Скачать – Возвращает содержимое файла, либо скачивает в локальный каталог и возвращает путь к нему.</li><li>Удалить – Удаляет файл из хранилища.</li><li>Размер – Возвращает размер файла в хранилища.</li></ul> |
| Тип данных                  | <p>Определяет способ обмена данными сценария с хранилищем</p><ul><li> Массив байтов – Использует бинарные данные через аргумент или переменную.</li><li>Файл данных – Использует путь к файлу в локальном каталоге.</li></ul>                                             |
| Путь к файлу                | (если тип данных = файл) Путь к файлу в локальном каталоге, с использование одной из файловых категорий.                                                                                                                                                                  |
| Данные                      | (если тип данных = массив байтов) Аргумент с содержимым размещаемого в хранилище ресурса.                                                                                                                                                                                 |
| Буфер                       | Переменная для сохранения содержимого скачанного из хранилища ресурса.                                                                                                                                                                                                    |
| Параметры запроса (JSON)    | Набор параметров для операции в хранилище, в формате JSON-объекта, где ключи – названия параметров.                                                                                                                                                                       |
| Результат в переменную      | Переменная для сохранения результата выполнения запроса на получение размера файла в хранилище.                                                                                                                                                                           |
| Время, с                    | Таймаут ожидания ответа, в секундах                                                                                                                                                                                                                                       |
| Переход                     | Компонент, которому передается управление в случае успешного выполнения запроса. Переход по-умолчанию                                                                                                                                                                     |
| Переход, время              | Компонент, которому передается управление по истечение установленного времени выполнения запроса.                                                                                                                                                                         |
| Переход, ошибка             | Компонент, которому передается управление при возникновении ошибки.                                                                                                                                                                                                       |
| Причина ошибки в переменную | Переменная для сохранения ошибки.                                                                                                                                                                                                                                         |

### Запуск процесса

<div align="left"><img src="/files/-MJHc9MzjcRh-UDYfWc1" alt=""></div>

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

Операция должна быть предварительно разрешена и настроена в файле ассетов permissions.json на каждом сервере, где может выполняться компонент.

![](/files/-MJHcFZDK5S2EAAmT2tk)

Запуск процесса

| **Название**                       | **Описание**                                                                                                                                                                                                                                                                |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Режим                              | <p>Определяет тип запуска</p><ul><li>Асинхронный запуск – Сразу после запуска процесса передает управление следующему компоненту.</li><li>Ожидания завершения – Передает управление следующему компоненту только после завершения процесса или таймаута ожидания.</li></ul> |
| Путь к исполняемому файлу          | Путь к файлу или команда ОС. Префикс командной строки. Префикс должен быть разрешен в файле permissions.json.                                                                                                                                                               |
| Параметры запуска командной строки | Аргумент, определяющий постфикс команды, содержащий параметры.                                                                                                                                                                                                              |
| Время,с                            | (только для режим = ожидания завершения) Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в передано дальше по Переход, время                                                                                                       |
| Результат в переменную             | (только для режим = ожидания завершения) Переменная, в которую будет сохранен консольный вывода завершенного процесса.                                                                                                                                                      |
| Переход                            | Компонент, которому передается управление далее. Переход по-умолчанию                                                                                                                                                                                                       |
| Переход, ошибка                    | Компонент, на который передается управление, если возникла ошибка при запуске внешнего процесса                                                                                                                                                                             |
| Причина ошибки в переменную        | Переменная, в которую будет сохранена причина ошибки запуска процесса                                                                                                                                                                                                       |
| Переход, время                     | (только для режим = ожидания завершения) Компонент, на который передается управление, если истекло предельное время ожидания                                                                                                                                                |
| Описание                           | Описание компонента                                                                                                                                                                                                                                                         |


# Блок Управление

### Старт

<div align="left"><img src="/files/-MJHHm_IQMrmBXKUB4EC" alt=""></div>

Компонент начала действий. Обязателен один и только один компонент, в котором Тип старта = Начало.

Можно создать несколько компонентов Старт с разными типами

#### Старт. Тип Начало

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

![](/files/-MJHHtW4_bR9CericiBX)

| **Название**                | **Описание**                                                                                                                                                                                                                                                                                                                         |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Тип старта                  | Рассматривается когда равно Начало                                                                                                                                                                                                                                                                                                   |
| Параметр запуска            | Определяется переменная, в которую сохранится первый стартовый параметр                                                                                                                                                                                                                                                              |
| Инициализировать переменные | <p>Если выбрать <strong>ДА</strong>, то все локальные переменные получат стартовые значения (числа - 0, строки - "", даты - 01.01.2000 00:00:00, остальное - "undefined").<br> Если <strong>Нет</strong>, то первоначальные значения не будут инициализированы (получат стартовое значение - "undefined").<br> По-умолчанию = Да</p> |
| Переход                     | На какой компонент будет переход действия                                                                                                                                                                                                                                                                                            |
| Описание                    | Описание компонента                                                                                                                                                                                                                                                                                                                  |

#### Старт. Тип Постобработка

Это точка начала постобработки при завершении основной ветки сценария по одному из преднастроенных вариантов.

![](/files/-MJHI0S7BlOFnubUR44u)

| **Название**     | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип старта       | Рассматривается когда равно Постобработка                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Вариант перехода | <p>Причина завершения основной ветки выполнения сценария, по возникновению которой в рамках пост-обработки будет выполнена цепочка компонентов, следующих за текущим компонентом СТАРТ. Возможные значения:</p><ul><li>Все – любая причина завершения сценария.</li><li>Корректное завершение – сценарий завершен корректно компонентами, не имеющими веток перехода (Стоп, Переводы и т.д.).</li><li>Нет ветки перехода – не назначено необходимое свойство перехода у компонента основной ветки сценария.</li><li>Внешняя остановка – сценарий принудительно завершен (через API или монитор запрос).</li><li>Ошибка компонента – критическая ошибка выполнения компонента.</li><li>Падение владельца – завершение связанного процесса владельца, например FSM диалога звонка для IVR сценария.</li><li>Лимит числа компонентов – достижение ограничения по количеству выполненных компонентов, установленного для домена.</li><li>Лимит времени выполнения – достижение ограничения по времени выполнения сценария, установленного для домена.</li></ul> |
| Время выполнения | Ограничение на выполнение сценария в рамках ветки пост-обработки, в миллисекундах. По истечении сценарий принудительно завершится. По-умолчанию 60 сек.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Переход          | На какой компонент будет переход действия                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Описание         | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

### Стоп

<div align="left"><img src="/files/-MJHIDT7sFSWAqYtM7Ts" alt=""></div>

Завершает выполнение сценария.

Может быть несколько в рамках сценария. Достижение любого вызывает корректную остановку выполнения текущего экземпляра сценария.

![](/files/-MJHIIycgRVdw-acf8oM)

Стоп

| **Название**       | **Описание**                                                                                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Возврат управления | <ul><li>Да - будет возвращено управление в сценарий, который вызвал текущий.</li><li>Нет - цепочка выполнения сценариев будет завершена. Возврат в родительский сценарий не будет</li></ul> |
| Описание           | Описание компонента                                                                                                                                                                         |

### Пауза

<div align="left"><img src="/files/-MJHIShxHOkLVjjXB_vt" alt=""></div>

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

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

![](/files/-MJHIYdBm7uDJVAkB_Yy)

| **Название** | **Описание**                                                                                                                                                                       |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Время, мс    | <p>Время в мс, которое будет выполняться текущий элемент до передачи управления по свойству <strong>Переход</strong>.</p><p>В случае 0 компонент работает в синхронном режиме.</p> |
| Переход      | На какой компонент будет переход действия                                                                                                                                          |
| Описание     | Описание компонента                                                                                                                                                                |

### Сравнение

<div align="left"><img src="/files/-MJHIeB7UPV7UyBipWdb" alt=""></div>

Сравнивает значения двух аргументов. Компонент осуществляет ветвление внутри сценария. Над двумя аргументами выполняется выбранная логическая операция (Аргумент 1 - Логическая операция - Аргумент 2). Если результат выполнения true, то переход по ветке Правда, в противном случае – по ветке Ложь.

![](/files/-MJHIjoUMAgU4A9Aya91)

Сравнение

| **Название**    | **Описание**                                                                                                                                |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Аргумент 1      | Левое сравниваемое значение в выражении                                                                                                     |
| Аргумент 2      | Правое сравниваемое значение в выражении                                                                                                    |
| Тип сравнения   | <ul><li> < меньше</li><li><= меньше или равно</li><li> == равно</li><li>=> больше или равно</li><li>> больше</li><li>=/= не равно</li></ul> |
| Переход, правда | На какой компонент будет переход действия, если результат сравнения вернул True                                                             |
| Переход, ложь   | На какой компонент будет переход действия, если результат сравнения вернул False                                                            |
| Описание        | Описание компонента                                                                                                                         |

### Меню сравнения

<div align="left"><img src="/files/-MJHIpMAP37QIe-ZjU8o" alt=""></div>

Сравнивает аргумент со списком значений. Компонент осуществляет ветвление внутри сценария в зависимости от фактического значения аргумента. Может иметь большое число веток перехода (до 127). Переход осуществляется по ветке значения, равного значению выбранного аргумента. Если совпадений не найдено, переход осуществляется по ветке Прочее.

![](/files/-MJHItYT8S8Jbt5ksLM6)

Меню сравнения

| **Название**    | **Описание**                                                                                                                                                                                           |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Аргумент        | Аргумент значения левой части равенства                                                                                                                                                                |
| Значения        | Отдельное окно ввода значений правой части равенства и переходов в случае если равенство корректное. Открывается Меню множественных переходов по клике на троеточие (отмечено красным в figure\_title) |
| Переход, прочее | Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента.                                                                            |
| Описание        | Текст                                                                                                                                                                                                  |

#### Меню множественных переходов

Позволяет ввести значения правой части сравнения и указать Переходы в случае если равенство корректное.

![Управление переходами Меню сравнения](/files/-MJHJ-eSrsVmwx7H57yY)

| **Если значение равно**         | **То переход к компоненту**                                       |
| ------------------------------- | ----------------------------------------------------------------- |
| Указывается константа равенства | Выбирается компонент, на который будет переход в случае равенства |

Если указать два одинаковых значения, то переход будет осуществлен по первому из них в списке

### Присвоение

<div align="left"><img src="/files/-MJHJ6Bo8bAZ5mC-_azi" alt=""></div>

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

Два основных режима работы компонента

* одиночное присвоение (одной переменной присваивается одно значение)
* множественное присвоение (множеству переменным присваиваются значения)

#### Одиночное присвоение

Свойства компонента:

![](/files/-MJHJBRzCKfFfUOdZycZ)

Одиночное присвоение

| **Название** | **Описание**                                                         |
| ------------ | -------------------------------------------------------------------- |
| Режим        | рассматривается одиночный режим                                      |
| Переменная   | Локальная переменная, в которую нужно записать указанное значение.   |
| Значение     | Аргумент который будет записан в переменную после вычисления.        |
| Переход      | Компонент, которому передается управление после завершения текущего. |
| Описание     | Дополнительное описание компонента, если необходимо                  |

#### Множественное присвоение

Свойства компонента:

![](/files/-MJHJGaG3uCztXfh06Mx)

Множественное присвоение

| **Название** | **Описание**                                                                                                                                                                                                                    |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Режим        | рассматривается множественный режим                                                                                                                                                                                             |
| Операция     | Список последовательно выполняющихся операций присвоения, где каждой переменной сопоставляется отдельный аргумент. Окно множественного присвоения открывается по клику на троеточие справа (отмечено красным на figure\_title ) |
| Переход      | Компонент, которому передается управление после завершения текущего.                                                                                                                                                            |
| Описание     | Дополнительное описание компонента, если необходимо                                                                                                                                                                             |

![Управление множественным присвоением](/files/-MJHJO-a18mKswp_sXwl)

В окне множественного присвоения слева выбирается Переменная, а справа вводится Аргумент. Строки можно перетаскивать вверх/вниз.

Присвоение выполняется последовательно сверху вниз и иногда порядок выполнения важен для корректной работы сценария.

### Запуск сценария

<div align="left"><img src="/files/-MJHUWHgIdTPuX1J2yo3" alt=""></div>

Позволяет вызывать другие сценария - передавать управление на компонент Старт указанного сценария. Два основных режима работы:

* Вложенный. Будет запущен вложенный сценарий, в него будут переданы все переменные текущего сценария и будет ожидание завершения вложенного сценария для продолжения работы текущего. Для продолжения работы текущего сценария у вложенного должен сработать компонент Стоп с установленным признаком Возврат управления. Вс переменные из вложенного сценария будут возвращены в текущий с новыми значениями.<br>
* Асинхронный. Будет запущен новый сценарий, в него будут скопированы все текущие переменные и их значения. Текущий сценарий продолжит работы не дожидаясь завершения асинхронного. Переменные текущего сценария не зависят от изменений значений в асинхронном сценарии. В качестве Асинхронного можно запустить только Служебный сценарий.

![](/files/-MJHUb84pfPCNf0O0rcJ)

| **Название**                            | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Режим                                   | <ul><li>Вложенный - Запускается в том же обработчике, приостанавливая выполнение текущего сценария и передавая вложенному сценарию весь набор переменных и их значений.<br> После завершения вложенного сценария может быть осуществлен возврат управления на следующий компонент ветки Переход<br><br> Допускается каскадная вложенность сценариев глубиной до 100 уровней.</li><li>Асинхронный служебный - Запускается новый экземпляр обработчика служебного сценария. Исполнение производится на произвольной Роли SCR текущего сайта. Запущенный сценарий получает весь набор переменных и их значений на вход.</li></ul> |
| Источник сценария                       | <ul><li>Из списка - выбор вложенного сценария из списка Сценарии.</li><li>Код сценария - указание кода сценария с помощью аргумента в Код сценария.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ИД в переменную                         | Переменная для сохранения значения идентификатора запущенного сценария, по которому можно производить Взаимодействие сценариев.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <p>Параметр 1<br> \~<br> Параметр 5</p> | (только для асинхронного режима). Передача до 5 дополнительных параметров. Доступ к значению осуществляется через функцию выражений startparam1() - startparam5() или через сохранение значения в компоненте Старт (для Параметр 1).                                                                                                                                                                                                                                                                                                                                                                                           |
| Возврат управления                      | <p>(только для синхронного режима). Разрешает или запрещает возврат управления из <strong>вложенного сценария</strong> и продолжение работы по ветке дальше.</p><ul><li>Да - вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова (с учетом значения свойства Возврат управления у компонента Стоп).</li><li>Нет - выполнение текущего сценария прекращается и запускается вложенный сценарий</li></ul>                                                                                                                                                                          |
| Переход                                 | Компонент, которому передается управление при успешном запуске асинхронного служебного сценария, либо после возврата управления из вложенного сценария. Переход по-умолчанию                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Переход, ошибка                         | <p>Компонент, которому передается управление при неудачном запуске сценария.<br> Среди причин могут быть:</p><ul><li>отсутствие сценария по коду</li><li>отсутствие доступа к доменному центру</li><li>отсутствие роли scr</li><li> превышение допустимых лимитов</li><li>другое</li></ul>                                                                                                                                                                                                                                                                                                                                     |
| Описание                                | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### Исходящий звонок

<div align="left"><img src="/files/-MJHUirofVpDXSGeuweo" alt=""></div>

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

Возможны четыре режима работы:

* Асинхронный. Запускается исходящий звонок и текущий сценарий продолжает свою работу без ожидания завершения инициированного звонка<br>
* Дождаться предварительного ответа (1XX). Текущий сценарий ожидает получения SIP ответа 1XX в инициированном звонке<br>
* Дождаться окончательного ответа (2XX-6XX). Текущий сценарий ожидает получения SIP ответа с кодами 2ХХ (удачного завершения попытки вызова) или 4ХХ-6ХХ (неудачного завершения попытки вызова).<br>
* Дождаться остановки IVR. Текущий сценарий ожидает завершения сценария, управляющего исходящим звонком (синхронный режим работы).

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

![](/files/-MJHUoOSF5bzO1BKsqfL)

| **Название**                | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Режим                       | <p>Свойства вариантов выбора описано выше</p><ul><li>Асинхронный</li><li>Дождаться предварительного ответа (1ХХ)</li><li>Дождаться окончательного ответа (2ХХ-6ХХ)</li><li>Дождаться остановки IVR</li></ul>                                                                                                                                                                                                                                                                                                                               |
| Номер                       | Аргумент номера назначения, куда отправить вызов                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Исходящий номер             | <p>Аргумент номера инициатора (Номер А), подставляемый в качестве username в заголовок From отправляемого SIP-запроса INVITE.<br> Обязателен к указанию. Применяется в процессе маршрутизации звонка.</p>                                                                                                                                                                                                                                                                                                                                  |
| Исходящее имя               | <p>Аргумент имени (DisplayName) источника звонка<br> Если значение не указано, то URI не содержит DisplayName.</p>                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Источник сценария           | <p>Выбор правила указания сценария IVR, который будет выступать виртуальным сотрудником от Номера А</p><ul><li>Сценарий IVR - выбор сценария из выпадающего списка.</li><li>Код сценария IVR - необходимо запустить сценарий по указанному коду.<br> Появляется поле Код сценария - аргумент, в который необходимо передать Код IVR сценария, который будет запущен</li></ul>                                                                                                                                                              |
| Значения переменных         | <p>Аргумент, содержащий JSON-структуру со списком начальных значений для локальных переменных сценария (упакованный в строку JSON-объект).<br> Ключи и значения объекта соответствуют именам переменных и их начальным значениям. Таким образом, сопоставление происходит по именам переменных, значения присваиваются только тем переменным, которые определены в запускаемом сценарии.<br> Установленные таким образом значения приоритетный перед значениями по умолчанию внутри сценария IVR (Поле инициализация компонента Старт.</p> |
| Время, с                    | (для всех режимов, кроме Асинхронный) Максимальное время выполнения сценария звонка до срабатывания Переход - нет ответа.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| SIP-код ответа в переменную | (для всех режимов, кроме Асинхронный) Переменная для сохранения последнего полученного кода SIP-ответа (1xx-6xx).                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Переход                     | Следующий Компонент сценария. Переход по-умолчанию.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Переход, неудача            | Компонент, которому передается управление в случае получения неудачного окончательного SIP-ответа (4xx-6xx). При незаполнении переход осуществляется по стандартной ветке.                                                                                                                                                                                                                                                                                                                                                                 |
| Переход, нет ответа         | Компонент, которому передается управление в случае истечения времени ожидания получения окончательного SIP-ответа в режимах ожидания окончательного и завершения сценария, либо предварительного ответа в режиме ожидания предварительного ответа. При незаполнении переход осуществляется по стандартной ветке.                                                                                                                                                                                                                           |
| Переход, ошибка             | Компонент, которому передается управление в случае возникновения любой ошибки в процессе инициации звонка. При незаполнении переход осуществляется по стандартной ветке.                                                                                                                                                                                                                                                                                                                                                                   |
| Описание                    | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

### Монитор

<div align="left"><img src="/files/-MJHV2N0mtosXLu1n584" alt=""></div>

Специализированный компонент, позволяющий получить оперативные данные по состоянию Домена Аксател и текущих параметров работы. Может использоваться для удаленного мониторинга, для накопления хронологической отчетности загрузки, для принятия решения об автоматизированных действиях в зависимости от текущего состояния.

#### Категории запроса и методы

В зависимости от выбранных значений полей Категория и Метод определяется данные, которые будут возвращены компонентов. Вначале выбирается Категория, после выбирается один из связанных методов.

| Категория            | Описание категории                                                                                                                                                                                                                                                           | Метод          | Описание метода                                                                                                                               |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Учетные записи       | Информация по учетным записям и их состояниям                                                                                                                                                                                                                                | Провайдеры SIP | Возвращает совокупную информацию по состояниям учетных записей SIP-провайдеров текущего домена в виде JSON-структуры.                         |
| SIP-телефоны         | Возвращает совокупную информацию по состояниям учетных записей SIP-пользователей текущего домена в виде JSON-структуры.                                                                                                                                                      |                |                                                                                                                                               |
| Пользователи         | Возвращает совокупную информацию по состояниям учетных записей пользователей текущего домена в виде JSON-структуры.                                                                                                                                                          |                |                                                                                                                                               |
| Звонки               | Информация по активным звонкам текущего домена                                                                                                                                                                                                                               | Инфо           | Возвращает совокупную информацию по активным звонкам в виде JSON-структуры.                                                                   |
| Диаграмма активности | Возвращает диаграмму по звонку/смежным звонкам. Звонки указываются перечислением CallId. Возвращается значение всей цепочки коммутаций, где указанный звонок участвовал. В зависимости от выбранного режима возвращает содержание или путь к файлу, формат svg или plantuml. |                |                                                                                                                                               |
| Ханты                | Информация по хант-группам и состояниям входящих в них агентам.                                                                                                                                                                                                              | SIP            | Возвращает совокупную информацию по хант-группам типа sip текущего домена и состояниям их агентов в виде JSON-структуры.                      |
| Очереди              | Информация по очередям и составу ожидающих в них объектам/заданиям.                                                                                                                                                                                                          | SIP            | Возвращает совокупную информацию по очередям типа sip текущего домена и состояниям ожидающих в них объектам в виде JSON-структуры.            |
| Сценарии             | Информация по исполняющимся сценариям                                                                                                                                                                                                                                        | Инфо           | Возвращает совокупную информацию по активным выполняющимся сценариям текущего домена в виде JSON-структуры.                                   |
| Селекторы            | Информация по активным селекторным совещаниям и их участникам.                                                                                                                                                                                                               | Инфо           | Возвращает совокупную информацию по активным селекторным совещаниям текущего домена в виде JSON-структуры.                                    |
| Система              | Информация по системе                                                                                                                                                                                                                                                        | Общая лицензия | Возвращает совокупную информацию по текущей действующей лицензии в виде JSON-структуры. Значение выдается только для сценариев мастер-домена. |
| Лицензии домена      | Возвращает информацию по составу используемых лицензий в указанном домене из поддерева дочерних доменов в виде JSON-структуры.                                                                                                                                               |                |                                                                                                                                               |

#### Управление компонентом

Свойства настройки компонента Монитор:

![](/files/-MJHVHchMrHQog3oU4AX)

Монитор

| **Название**           | **Описание**                                                                                                                                                                                                                           |                                                 |                                                             |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------- |
| Категория запроса      | Выбор Категорий и методов подробно описан выше в Категории запроса и методы                                                                                                                                                            |                                                 |                                                             |
| Метод                  |                                                                                                                                                                                                                                        |                                                 |                                                             |
| Охват                  | <p>Выбор охвата для запроса.</p><ul><li>Сайт – Ограничивает выдачу текущим сайтом.</li><li> Система – Возвращает данные по всей системе.</li></ul>                                                                                     |                                                 |                                                             |
| Параметры              | <p>Используется только для Категория = Звонки И Метод = Диаграмма активности<br> Аргумент, содержащий JSON-структуру описывающую</p><p>{<br>     "callid":"...", //CallID звонка, по цепочке которого собрать логи<br>     "mode":"svg | plantuml", //формат выдачи<br>     "file":"true | false"  //формат выдачи (файл или ссылка на файл)<br> }</p> |
| Время, мс              | Таймаут ожидания выполнения операции, в миллисекундах.                                                                                                                                                                                 |                                                 |                                                             |
| Результат в переменную | Переменная для сохранения результата выполнения операции.                                                                                                                                                                              |                                                 |                                                             |
| Переход                | Компонент, которому передается управление при успешном выполнении операции. Переход по-умолчанию                                                                                                                                       |                                                 |                                                             |
| Переход, время         | Компонент, которому передается управление по истечении таймаута ожидания.                                                                                                                                                              |                                                 |                                                             |
| Переход, ошибка        | Компонент, которому передается управление в случае возникновения ошибки.                                                                                                                                                               |                                                 |                                                             |
| Описание               | Описание компонента                                                                                                                                                                                                                    |                                                 |                                                             |

### Операция

<div align="left"><img src="/files/-MJHVOxawBVQGkrlrntk" alt=""></div>

Мультифункциональный компонент, предоставляющий различные методы изменения настроек домена Аксател:

•             CRUD в домене - управление записями объектов настройки Домена. Производит аналогичные действия, как и в Web-интерфейсе Администрирования.

•             Привязка звонка - возможность привязать к звонку дополнительные теги, которые будут сохраняться при переводах звонка (SIP Reffer)

•             Управление звонком - возможность управлять существующими звонками и инициировать новые

#### CRUD в домене

Позволяет осуществлять CRUD операции над всеми объектами настроек любого домена Аксател. CRUD операции

* Create - создание новой записи в объекте
* Read - чтение записей из объекта
* Update - обновление записи в объекте
* &#x20;Delete - удаление записи в объекте

Свойства настройки компонента Операция для Тип = CRUD в домене:

![](/files/-MJHVY35zeJyceYGEDks)

| **Название**           | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип операции           | CRUD в домене                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Домен                  | <p>Выбор домена, в котором проводится операция.</p><ul><li>Сценария – Домен текущего сценария.</li><li>Другой – При выборе этого значения нужно указать название домена.</li></ul>                                                                                                                                                                                                                                                                                                                                              |
| Логин пользователя     | <p>Аргумент, содержащий логин пользователя в домене.<br> У пользователя с этим Логином должна быть включена опция "CRUD операция".<br> Если Выбор домена = Другой, то в обоих доменах должны быть идентичные настройки для логин, пароль, включена опция CRUD операция</p>                                                                                                                                                                                                                                                      |
| Тип сущности           | Аргумент, содержащий имя объекта. Список всех объектов можно посмотреть через API или в Web интерфейсе Администрирования в URL необходимых разделов.                                                                                                                                                                                                                                                                                                                                                                            |
| Метод                  | <p>Выбор операции.</p><ul><li>Создать – Создание сущности.</li><li>Получить – Получение набора сущностей.</li><li>Обновить – Изменение сущности.</li><li>Удалить – Удаление сущности.</li></ul>                                                                                                                                                                                                                                                                                                                                 |
| Данные                 | <p>(для Операция = Создать, Обновить, Удалить). Содержит JSON структуру для выбранной Сущности и Операции (например для Удалить должен содержать только</p><p>{"id":"id\_element"}</p>                                                                                                                                                                                                                                                                                                                                          |
| Фильтр                 | <p>(для Операция = Получить). Поисковый запрос для получения данных в JSON структуре в виде</p><p>{"id":"some\_id","name":"some\_name"}</p>                                                                                                                                                                                                                                                                                                                                                                                     |
| Сортировка             | <p>(для Операция = Получить). Сортировка результата по указанным полям. Задается в JSON структуре в виде массива</p><p>\[{"priority":"desc"},{"name":"asc"}]<br> или<br> \["priority","name"]</p>                                                                                                                                                                                                                                                                                                                               |
| Поля                   | <p>(для Операция = Получить). Указывается какие поля выбранной сущности необходимо получить. Задается в виде списка, например</p><p>id,name,ext.title</p>                                                                                                                                                                                                                                                                                                                                                                       |
| Доп.параметры          | <p>Определяет дополнительные режимы выполнения запроса в JSON структуре</p><ul><li>offset - (только для Получить) Определяет сдвиг от нулевой записи в отфильтрованном и отсортированном списке.</li><li>limit - (только для Получить) Максимальное количество выдаваемых записей в отфильтрованном, отсортированном и смещенном списке</li><li>countonly - (только для Получить) Вернет вместо списка записей их количество</li><li>flat - (для всех Операций) Позволяет работать с одноуровневым JSON во всех полях</li></ul> |
| Результат в переменную | Переменная для сохранения результата операции. JSON структура результата выполнения Операции                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Переход                | Компонент, которому передается управление при успешном завершении операции.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Переход, время         | Компонент, которому передается управление по истечении таймауте ожидания результата операции.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Переход, ошибка        | Компонент, которому передается управление в случае возникновения ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Описание               | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

Получить полный список полей можно через режим Debug в браузере при работе с Web интерфейсом Администрирование или запросить в службе Технической поддержки документ по работе с API интерфейсом

#### Привязка звонка

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

Свойства настройки компонента Операция для Тип = CRUD в домене:

![](/files/-MJHVfwLjZv3krExh83I)

Операции привязки звонка

| **Название**           | **Описание**                                                                                                                                                                                                                                                                                       |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип операции           | Привязка звонка – Управление метки у звонков                                                                                                                                                                                                                                                       |
| Метод                  | <p>Выбор операции.</p><ul><li>Добавить – Добавляет метку.</li><li>Удалить – Удаляет метку.</li><li>Изменить – Заменяет метку на новую.</li><li>Очистить – Очищает метку.</li><li>Проверить – Проверяет наличие указанной метки и возвращает 1 или 0.</li><li>Получить – Возвращает метки</li></ul> |
| Идентификатор звонка   | Аргумент, содержащий идентификатор звонка: CallId или DialogId.                                                                                                                                                                                                                                    |
| Метка                  | Аргумент, содержащий текстовое содержание метки.                                                                                                                                                                                                                                                   |
| Результат в переменную | Переменная для сохранения результата операции.                                                                                                                                                                                                                                                     |
| Переход                | Компонент, которому передается управление при успешном завершении операции.                                                                                                                                                                                                                        |
| Переход, время         | Компонент, которому передается управление по истечении таймауте ожидания результата операции.                                                                                                                                                                                                      |
| Переход, ошибка        | Компонент, которому передается управление в случае возникновения ошибки.                                                                                                                                                                                                                           |
| Описание               | Описание компонента                                                                                                                                                                                                                                                                                |

Работать можно только со звонками, одна из сторон которого является абонентом текущего домена (внутренний абонент, внешняя линия, IVR-сценарий, Конференция/Селектор).

#### Управление звонком

Используется для управления звонками.

Свойства настройки компонента Операция для Тип = Управление звонком:

![](/files/-MJHVmdXEl-2LWuijfHG)

| **Название**           | **Описание**                                                                                                                                                                        |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип операции           | Управление звонком                                                                                                                                                                  |
| Метод                  | Выбор метода управления звонком. Более подробно описано ниже в Методы управления звонками                                                                                           |
| Параметры              | JSON структура параметров в зависимости от выбранного метода. Подробно описано в документе "API управления звонками и конференциями" (доступно при запросе в Технической поддержке) |
| Метка                  | Аргумент, содержащий текстовое содержание метки.                                                                                                                                    |
| Результат в переменную | Переменная для сохранения результата операции.                                                                                                                                      |
| Переход                | Компонент, которому передается управление при успешном завершении операции.                                                                                                         |
| Переход, время         | Компонент, которому передается управление по истечении таймауте ожидания результата операции.                                                                                       |
| Переход, ошибка        | Компонент, которому передается управление в случае возникновения ошибки.                                                                                                            |
| Описание               | Описание компонента                                                                                                                                                                 |

**Методы управления звонками**

| **Метод**                    | **Описание**                                                                                                                                                                                                                                             |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Поиск звонка                 | Возвращает идентификатор звонка (DialogId) по одному из ключевых значений: DialogId, InviteId, CallId одного из плеч, URI одного из плеч в формате \<sip:Username\@Domain> и др.                                                                         |
| Поиск конференции            | Возвращает идентификатор конференции (ConfId) по одному из ключевых значений: ConfId, номер комнаты, URI конференции.                                                                                                                                    |
| Список звонков               | Возвращает список звонков в домене.                                                                                                                                                                                                                      |
| Список конференций           | Возвращает список идентификаторов конференций (ConfId) в домене.                                                                                                                                                                                         |
| Информация о звонке          | Возвращает информацию о звонке.                                                                                                                                                                                                                          |
| Информация о конференции     | Возвращает информацию о конференции.                                                                                                                                                                                                                     |
| Исходящий вызов              | Инициирует новый вызов от одного абонента к другому. Совершается сервисом IVR, который вызывает сначала одного абонента, а потом переключает его на другого с помощью SIP-запроса REFER.                                                                 |
| Завершение звонка            | Завершает указанный вызов или совокупность вызовов по указанному URI.                                                                                                                                                                                    |
| Перевод на номер             | Осуществляет перевод абонента указанного звонка на указанный номер. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces) и отправляет SIP-запрос REFER.                                                                        |
| Соединение                   | Осуществляет соединение абонентов двух разных звонков, отбивая оставшихся. Совершается сервисом IVR, который подменяет плечо (SIP-запрос INVITE+Replaces), после этого переводит на другого абонента с помощью SIP-запроса REFER+Replaces.               |
| Перевод на конференцию       | Осуществляет переключение одного из абонентов указанного звонка на указанную конференцию. Если второй абонент держит конференцию на удержании, то ему остается нажать HOLD.                                                                              |
| Преобразование в конференцию | Осуществляет перевод обоих абонентов звонка в общую конференцию. Совершается сервисами IVR, каждый из которых подменяет отдельное плечо с помощью SIP-запроса INVITE+Replaces, и затем переводит на номер конференц-комнаты с помощью SIP-запроса REFER. |
| Остановка конференции        | Осуществляет завершение указанной конференции с автоматическим отключением всех участников.                                                                                                                                                              |
| Список участников            | Возвращает список участников конференции.                                                                                                                                                                                                                |
| Информация об участнике      | Возвращает информацию об участнике конференции.                                                                                                                                                                                                          |
| Присоединение участника      | Осуществляет исходящий вызов из указанной конференц на указанный номер.                                                                                                                                                                                  |
| Исключение участника         | Осуществляет отключение участника из конференции.                                                                                                                                                                                                        |


# Блок Обмен сообщениями

### Уведомление

<div align="left"><img src="/files/-MJLSM5OnLVvRGeP7Ahv" alt=""></div>

Уведомление предназначено для

* &#x20;информирования о текущем состоянии выполнения сценария
* записи важной информации в лог-файлы
* отправки специальных SIP пакетов на устройства

Используется при откладке сценария, а также для поиска и устранения ошибок выполнения.

В зависимости от режима, компонент Уведомление записывает информацию в лог-файл на сервере, где он выполняется или выводит её на экран.

Существуют следующие режимы:

* Лог-журнал
* Уведомление API
* Сообщение SIP

![](/files/-MJLSTPER0EB2GKXnqOw)

Уведомление

| **Название**        | **Описание**                                                                                                                                                                       |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Режим               | <ul><li>Лог-журнал. Подробнее в Уведомление Лог-журнал</li><li>Уведомление API. Подробнее в Уведомление API</li><li>Сообщение SIP. Подробнее в Уведомление Сообщение SIP</li></ul> |
| Дополнительные поля | Определены в зависимых от Режима разделах                                                                                                                                          |
| Переход             | Следующий компонент сценария. Переход по-умолчанию                                                                                                                                 |
| Описание            | Описание компонента                                                                                                                                                                |

#### Уведомление Лог-журнал

В данном режиме информация записывается в лог-журнал на  сервере, где он выполняется. Используется при отладке сценария и отслеживания его работы.

Запись в лог-файл на  сервере:

•             для служебных сценариев - файл scr\_\*.log в директории /usr/lib/rostell/\_workdir/\[роль svc]/log/script

•             для IVR сценариев - файл scr\_\*.log в директории /usr/lib/rostell/\_workdir/\[роль ivr]/log/script

Можно получить в Web-интерфейсе Мониторинг - Трассировка звонков и сценариев

Свойства специализированных полей

| **Название** | **Описание**                                                      |
| ------------ | ----------------------------------------------------------------- |
| Текст        | Аргумент, содержащий текст уведомления, записываемый в лог журнал |

#### Уведомление API

В данном режиме информация отображается на экране. Используется при откладке сценария и отслеживания его работы. Два режима отображения

* HTML отображаются только на данной вкладке браузера
* Webkit отображается по всему браузеру как вслывающее окно, но должно быть https соединение и дано разрешение в настройках браузера на показ уведомлений.

Свойства специализированных полей режима Уведомление API

| **Название**                | **Описание**                                                                                                                                                                                                                           |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Текст                       | Аргумент, содержащий текст уведомления, отображаемый на экране                                                                                                                                                                         |
| Пользователь                | Аргумент, содержащий логин пользователю, которому необходимо отобразить уведомление. Через запятую возможно указать несколько пользователей.                                                                                           |
| Тип отображения             | <ul><li>Авто – Способ уведомления на усмотрение приложения.</li><li>WebKit – Уведомление с помощью WebKit.</li><li>HTML – Уведомление с помощью средств HTML.</li></ul>                                                                |
| Тип уведомления             | <ul><li> Инфо – Способ уведомления на усмотрение приложения.</li><li>Успех – Уведомление с помощью WebKit.</li><li>Предупреждение – Уведомление с помощью средств HTML.</li><li>Ошибка – Уведомление с помощью средств HTML.</li></ul> |
| Цвет фона                   | (только для HTML) Цвет фона в формате HEX                                                                                                                                                                                              |
| Цвет текста                 | (только для HTML) Цвет текста в формате HEX                                                                                                                                                                                            |
| Группа                      | Уведомления объединенные в группу. Предыдущее уведомление будет скрыто новым, если группы совпадают.                                                                                                                                   |
| Автоскрытие,с               | Время через,которое пропадет уведомление. По умолчанию равно бесконечности (значение 0)                                                                                                                                                |
| Дублировать в лог           | Выключатель дополнительного логирования сообщения в лог (аналогично режиму Лог-журнал).                                                                                                                                                |
| Причины ошибки в переменную | Переменная в которую будет записана причина ошибки                                                                                                                                                                                     |
| Переход,ошибка              | Компонент, на который передается управление, если возникла ошибка                                                                                                                                                                      |

#### Уведомление Сообщение SIP

SIP-уведомление используется для  отправки сообщения на SIP-устройство. Запись в лог-файл на  сервере

* файл sip в директории /usr/lib/rostell/\_workdir/sg/log/sip/<br>
* файл trn в директории /usr/lib/rostell/\_workdir/sg/log/sip/

При необходимости дополнительного логирования рекомендуется использовать Уведомление в режиме Лог журнал

Свойства режима Сообщение SIP

| **Название**                | **Описание**                                                                                                                                       |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Сообщение                   | <p>SIP Method при отправке сообщения</p><ul><li>NOTIFY</li><li>INFO</li><li>MESSAGE</li></ul>                                                      |
| Пользователь                | Получатель события в формате tel:username или username, где в качестве username могут подставляться логин и номер учетной записи SIP-пользователя. |
| Дополнительные заголовки    | Подставляемые в SIP-запрос дополнительные заголовки. Аргумент содержит мультистрочное значение, формат каждой из строк: HeaderName: HeaderValue    |
| From                        | Подставляемое в отправляемый SIP-запрос значение для заголовка From.                                                                               |
| Event                       | Подставляемое в отправляемый SIP-запрос значение для заголовка Event.                                                                              |
| Content-Type                | Подставляемое в отправляемый SIP-запрос значение для заголовка Content-Type.                                                                       |
| Content                     | Текст сообщения, подставляемый в тело отправляемого SIP-запроса.                                                                                   |
| Ожидать подтверждения       | Выключатель режима ожидания SIP-ответа на отправленный SIP-запрос.                                                                                 |
| Отчет в переменную          | (Ожидать подтверждения = да) Переменная в которую будет сохранен отчет.                                                                            |
| Время,с                     | (Ожидать подтверждения = да) Время ожидания подтверждения.                                                                                         |
| Причины ошибки в переменную | Переменная в которую будет записана причина ошибки                                                                                                 |
| Переход,ошибка              | Компонент, на который передается управление, если возникла ошибка                                                                                  |
| Переход,время               | (Ожидать подтверждения = да) Компонент, на который передается управление, если истекло время ожидания подтверждения                                |

### Получение E-mail

<div align="left"><img src="/files/-MJLSbADH6zQupkl6HEt" alt=""></div>

Компонент управляет получением одного письма. Получается самое старое непрочитанное.

Поддерживается протокол POP3 с возможностью работать поверх SSL.

При обработке письма необходимо выбрать какие части письма необходимо парсить и выбрать в какие переменные необходимо сохранить эту информацию

![](/files/-MJLSqlaea9NPPyHObqC)

| **Название**                  | **Описание**                                                                                                                                                                                                                                                                                  |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Протокол                      | POP3                                                                                                                                                                                                                                                                                          |
| Адрес сервера                 | Адрес почтового сервера (IP или FQDN).                                                                                                                                                                                                                                                        |
| Порт сервера                  | Порт сервера для отправки письма.                                                                                                                                                                                                                                                             |
| SSL                           | <ul><li>Да - использовать SSL протокол</li><li>Нет - не использовать шифрование</li></ul>                                                                                                                                                                                                     |
| Логин                         | Логин для авторизации.                                                                                                                                                                                                                                                                        |
| Пароль                        | Пароль для авторизации.                                                                                                                                                                                                                                                                       |
| Отправитель в переменную      | Переменная для поля “Отправитель”                                                                                                                                                                                                                                                             |
| Получатель в переменную       | Переменная для поля “Получатель”                                                                                                                                                                                                                                                              |
| Тема в переменную             | Переменная для поля “Тема”                                                                                                                                                                                                                                                                    |
| ID сообщения в переменную     | Переменная для ID сообщения                                                                                                                                                                                                                                                                   |
| Кодировка                     | <ul><li> Нет - без перекодирования</li><li> Utf-8</li><li>Utf-16</li><li>Utf-32</li><li>cp-1251</li><li>koi8-r</li><li>Указать название - ввести название кодировки в поле Название кодировки.</li></ul>                                                                                      |
| Сохранять заголовки           | <ul><li>Да - необходимо распарсить письмо и получить Заголовки. В переменную из поля Заголовки в переменную</li><li>Нет - не сохранять (не нужна дополнительная обработка)</li></ul>                                                                                                          |
| Сохранять текст               | <ul><li>Да - необходимо распарсить письмо и получить MIME-части с Content-Type: text/plain. В переменную из поля Текст в переменную.</li><li>Нет - не сохранять (не нужна дополнительная обработка)</li></ul>                                                                                 |
| Сохранять HTML                | <ul><li>Да - необходимо распарсить письмо и получить MIME-части с Content-Type: text/html. В переменную из поляе HTML в переменную</li><li>Нет - не сохранять (не нужна дополнительная обработка)</li></ul>                                                                                   |
| HTML в переменную             | Сохраненит HTML в переменную                                                                                                                                                                                                                                                                  |
| Сохранять первое тело         | <ul><li>Да - необходимо распарсить письмо и получить первое тело. В переменную поля Тело(1) в переменную<br> Будет сохранен текст из первой текстовой части MIME-содержимого письма (text/plain, text/html, …​).<br></li><li>Нет - не сохранять (не нужна дополнительная обработка)</li></ul> |
| Сохранять исходный текст      | <ul><li>Да - необходимо распарсить письмо и получить исходный текст сообщения. В переменную поля Исходный текст в переменную (MIMIE формат)</li><li>Нет - не сохранять (не нужна дополнительная обработка)</li></ul>                                                                          |
| Сохранять прикрепленные файлы | <ul><li>Да - необходимо распарсить письмо и сохранить прикрепленные файлы. В результате в поле Каталог с вложениями в переенную вернется путь с сохраненными файлами.<br></li><li>Нет - не сохранять (не нужно сохранение файлов)</li></ul>                                                   |
| Удалять с сервера             | <ul><li>Да - удалять письмо с сервера</li><li> Нет - оставлять письмо на сервере</li></ul>                                                                                                                                                                                                    |
| Переход                       | Компонент, на который передается управление, если прием письма выполнен успешно. Переход по-умолчанию                                                                                                                                                                                         |
| Переход, пусто                | Компонент, на который передается управление, если писем нет                                                                                                                                                                                                                                   |
| Переход, ошибка               | Компонент, на который передается управление, если возникла ошибка при приеме письма                                                                                                                                                                                                           |
| Описание                      | Описание компонента                                                                                                                                                                                                                                                                           |

### Отправка E-mail

<div align="left"><img src="/files/-MJLT0ENENj7YO6KSgKe" alt=""></div>

Осуществляет отправку email-сообщения на указанный ящик электронной почты.

Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465.

Свойства:

![](/files/-MJLT6XzetBiQyoX0Y3f)

| **Название**           | **Описание**                                                                                                                                                                                                                                                                                                                       |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Протокол               | SMTP                                                                                                                                                                                                                                                                                                                               |
| Адрес сервера          | Адрес почтового сервера (IP или FQDN).                                                                                                                                                                                                                                                                                             |
| Порт сервера           | Порт сервера для отправки письма.                                                                                                                                                                                                                                                                                                  |
| SSL                    | <ul><li>Да - использовать SSL протокол</li><li> Нет - не использовать шифрование</li></ul>                                                                                                                                                                                                                                         |
| Логин                  | Логин для авторизации на почтовом сервере.                                                                                                                                                                                                                                                                                         |
| Пароль                 | Пароль для авторизации на почтовом сервере.                                                                                                                                                                                                                                                                                        |
| От кого                | Значение поля От кого / From                                                                                                                                                                                                                                                                                                       |
| Кому                   | Значение поля Кому / To                                                                                                                                                                                                                                                                                                            |
| Тема                   | Значение поля Тема / Subject                                                                                                                                                                                                                                                                                                       |
| Текст                  | Аргумент с текстовым представлением письма. Добавляется как одна из частей MIME-содержимого письма.                                                                                                                                                                                                                                |
| HTML                   | Аргумент с HTML представлением письма. Добавляется как одна из частей MIME-содержимого письма.                                                                                                                                                                                                                                     |
| Прикрепить файл 1\~5   | <p>Вложение. Добавляется как одна из частей MIME-содержимого в бинарном формате. Может быть выбран в одном из режимов:</p><ul><li>статический файл, приложенный к сценарию</li><li>сформированный путь к файлу</li></ul><p>При добавлении первого файла, появляется возможность добавить второй и т.д. Ограничение - 5 файлов.</p> |
| Режим                  | <ul><li>Синхронный - компонент передает управление после получения ответа от сервера</li><li>Асинхронный - компонент передает управление сразу по ветке Переход без ожидания ответа от сервера</li></ul>                                                                                                                           |
| Результат в переменную | Переменная для сохранения результата отправки письма.                                                                                                                                                                                                                                                                              |
| Переход                | Компонент, на который передается управление, если отправка письма выполнена успешно. Переход по-умолчанию                                                                                                                                                                                                                          |
| Переход, ошибка        | Компонент, на который передается управление, если возникла ошибка отправки письма                                                                                                                                                                                                                                                  |
| Описание               | Описание компонента                                                                                                                                                                                                                                                                                                                |

### Взаимодействие сценариев

<div align="left"><img src="/files/-MJLTD3jWZRmOU8dTcuz" alt=""></div>

Осуществляет взаимодействие между различными экземплярами обработчиков сценариев. Может работать в одном из режимов:

* Прием сообщения
* Отправка сообщения
* Проверка сценария

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

Адрес текущего обработчика сценариев можно получить через функцию выражений getscriptref(). При запуске асинхронного служебного сценария компонентом Запуск сценария адрес (идентификатор) нового обработчика возвращается в переменную. Имея адрес вложенного сценария, ему можно передать собственный адрес для двустороннего взаимодействия посредством отправки в сообщении.

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

![](/files/-MJLTIgWFTmY-q4zalMB)

| **Название**                       | **Описание**                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Режим                              | <ul><li>Отправка сообщения – Отправляет сообщение другому обработчику сценариев.<br></li><li>Прием сообщения – Достает из очереди сообщений очередное сообщение от другого обработчика сценариев. В случае, если очередь пуста, встает в ожидание с установленным таймаутом.<br></li><li>Проверка доступности – Проверяет доступен/существует ли сценарий по данному ID</li></ul> |
| ИД сценария                        | (для режимов = Отправка и Проверка). Аргумент, содержащий идентификатор удаленного сценария                                                                                                                                                                                                                                                                                       |
| Сообщение                          | (для режима = Отправка) Аргумент, содержащий тело сообщения                                                                                                                                                                                                                                                                                                                       |
| Категория отправителя              | <p>(для режима = Отправка) Выбор категории отправителя сообщения</p><ul><li>Script</li><li>B2B</li></ul>                                                                                                                                                                                                                                                                          |
| Сообщение в переменную             | (для режима = Прием) Переменная, куда сохраняется первое сообщение в очереди                                                                                                                                                                                                                                                                                                      |
| ИД отправителя в переменную        | (для режима = Прием) Переменная, куда сохраняется ID отправителя сообщения                                                                                                                                                                                                                                                                                                        |
| Категория отправителя в переменную | (для режима = Прием) Переменная, куда сохраняется Категория отправителя сообщения (может быть B2B или Script)                                                                                                                                                                                                                                                                     |
| Таймаут,с                          | (для режима = Прием) Аргумент, определяющий время ожидания (сек) если нет сообщения до срабатывания Переход, время                                                                                                                                                                                                                                                                |
| Переход, успех                     | Компонент, на который передается управление.                                                                                                                                                                                                                                                                                                                                      |
| Переход, ошибка                    | Компонент, на который передается управление в случае ошибки                                                                                                                                                                                                                                                                                                                       |
| Переход, время                     | (для режима = Прием) Компонент, на который передается управление в случае если таймаут                                                                                                                                                                                                                                                                                            |
| Переход, сценарий не найден        | (для режимов = Проверка)Компонент, на который передается управление в случае если сценарий не найден.                                                                                                                                                                                                                                                                             |
| Описание                           | Описание компонента                                                                                                                                                                                                                                                                                                                                                               |

### Прием факса

![getfax](/files/-MJLTWVTwLUQeEztYtK9)

Компонент позволяет получать факсимильное сообщение и сохранять его в локальную папку с возможностью дальнейшей отправки компонентом Отправка E-mail или перемещения компонентом Файловая операция. При приеме факса поддерживаются следующие протоколы:

* t.30
* t.38

Полученный файл сохраняется в формате tiff (бинарный многостраничный).

![](/files/-MJLTdMTSMsuQJZJuamx)

Прием факса

| **Название**      | **Описание**                                                                                                                                                                                                                                                                                                                                 |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Протокол          | <ul><li>Авто – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.<br></li><li>T30 – Переключение в T30 и ожидание переключения в T30 удаленной стороны.<br></li><li>T38 – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.</li></ul> |
| Таймаут, с        | Максимальное время отправки факс-сообщения. В случае если за это время обработка отправки факса не завершена, то переход по ветке “Переход, время”                                                                                                                                                                                           |
| Сохранить путь    | <ul><li>Не сохранять</li><li>С ключом папки – Значение включает категорию папки, относительный путь и имя файла.</li><li>Только имя файла – Значение содержит только имя файла.</li></ul>                                                                                                                                                    |
| Путь в переменную | Переменная для сохранение пути полученного файла                                                                                                                                                                                                                                                                                             |
| Переход           | на какой элемент будет переход действия в случае корректной отправки факса. Переход по-умолчанию                                                                                                                                                                                                                                             |
| Переход, время    | на какой элемент будет переход действия в случае, если за отведенное время компонент не завершил свою работу                                                                                                                                                                                                                                 |
| Переход, ошибка   | на какой элемент будет переход действия в случае, если возникла ошибка отправки факса                                                                                                                                                                                                                                                        |
| Описание          | Описание компонента                                                                                                                                                                                                                                                                                                                          |

### Отправка факса

<div align="left"><img src="/files/-MJLTkNST2e2CBeUa3uo" alt=""></div>

Компонент позволяет отправлять факсимильное сообщение из указанного файла. Поддерживаются протоколы отправки:

* t.30
* &#x20;t.38
* автоматический режим

Отправляемый файл должен быть в формате tiff (бинарный многостраничный).

![](/files/-MJLUFfHORDVV0vOQB6n)

| **Название**    | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Протокол        | <ul><li>Авто – Сначала производится попытка переключиться в протокол T38, а при отказе удаленной стороны производится переключение в T30.<br></li><li>T30 – Переключение в T30 и ожидание переключения в T30 удаленной стороны.<br></li><li> T38 – Переключение в T38, а при отказе удаленной стороны, завершение работы с ошибкой.</li></ul>                                                               |
| Таймаут, с      | Максимальное время отправки факс-сообщения. В случае если за это время обработка отправки факса не завершена, то переход по ветке Переход, время                                                                                                                                                                                                                                                            |
| Файл            | <p>Файл для отправки факсимильным сообщением. Может быть выбран в одном из режимов:</p><ul><li>статический файл, приложенный к сценарию</li><li>сформированный аргументами путь к файлу</li></ul><p>Формат файла: tiff – одностраничное или многостраничное битовое изображение.Отправка сообщения осуществляется сервером с ролью MG, обслуживающим текущий звонок на сайте, где выполняется сценарий.</p> |
| Переход         | Компонент, которому передается управление при корректной отправки факса. Переход по-умолчанию.                                                                                                                                                                                                                                                                                                              |
| Переход, время  | Компонент, которому передается управление в случае, если за отведенное время компонент не завершил свою работу                                                                                                                                                                                                                                                                                              |
| Переход, ошибка | Компонет, которому передается управление в случае, если возникла ошибка отправки факса                                                                                                                                                                                                                                                                                                                      |
| Описание        | Текст                                                                                                                                                                                                                                                                                                                                                                                                       |

##


# Блок Телефония

### Воспроизведение

<div align="left"><img src="/files/-MJLUNBStggaiB0wTqjv" alt=""></div>

Осуществляет воспроизведение аудио-файла абоненту.\
&#x20;Может инициировать как синхронное воспроизведение, так и фоновое воспроизведение.\
&#x20;Управление фоновым воспроизведением допускает паузы и остановки.\
&#x20;Возобновление воспроизведения возможно с указанной миллисекунды конкретного файла.

Каждый компонент Воспроизведение определяет Слой - некий идентификатор звуковой дорожки. Количество одновременных дорожек может быть до 16. При воспроизведении они микшируются. Для каждого слоя настраиваются независимые режимы воспроизведения.

#### Режимы воспроизведения

| **Режим**                   | **Описание**                                                                                                                                                                                                                                                              |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Файл полностью              | Останавливает все воспроизведения в указанном слое и проигрывает конкретный файл для прослушивания. Файл проигрывается полностью от начала до конца и после этого осуществляется переход на следующий компонент.                                                          |
| Предпрослушивание           | Останавливает все воспроизведения в указанном слое и проигрывает первые N секунд выбранного файла. По истечению времени проигрывание останавливается и передается управление следующему компоненту                                                                        |
| Файл + дополнительное время | Останавливает все воспроизведения в указанном слое и проигрывает конкретный файл для прослушивания. Файл проигрывается полностью от начала до конца и после этого делается пауза перед переходом на следующий компонент (например для ожидания ответа выбора пункта меню) |
| Список файлов               | Останавливает все воспроизведения в указанном слое и проигрывает конкретный список файлов для прослушивания. Файлы проигрывается полностью от начала до конца и после этого осуществляется переход на следующий компонент.                                                |
| Фоновое воспроизведение     | Определение каталога с файлами или конкретного файла который будет воспроизводится в указанном слое. Переход на следующий элемент осуществляется сразу.                                                                                                                   |
| Остановка фона              | Останавливает проигрывание фонового воспроизведения в указанном слое, если оно было запущено ранее                                                                                                                                                                        |
| Изменить громкость фона     | Изменение громкости фонового воспроизведения в указанном слое. Прерывание проигрывания не будет                                                                                                                                                                           |

Громкость указывается в целых числах как делитель относительно исходного файла. Допустимые значения - 1,2,3,4,5 и т.д., где 1 = громкость исходного файла, 2 = в 2 раза тише. Если надо планомерно погасить громкость фона, то надо поставить несколько компонент Воспроизведение - Изменить громкость фона с указанием в качестве громкости абсолютные увеличивающиеся значения (между компонентами поставить компонент Пауза в 30-50мс).

#### Файлы воспроизведения

Воспроизведение осуществляется в PCM 8 Кгц Моно. Если файл другого формата, то перед воспроизведением он перекодируется.

В высоконагруженных IVR сценариях рекомендуется указывать компоненту Воспроизведение только wav файлы в указанном формате. Это сильно снизит загрузку системы на перекодирование.

Поддерживаемые входные форматы файлов:

* WAV файлы в кодировках:

PCM Стерео, Моно, 16 бит, 8000, 11025 16000, 22050, 24000, 32000, 44100, 48000 Гц\
&#x20;G.711 alaw, mulaw, 8000 Гц\
&#x20;MS GSM, 65 бит, 8000 Гц

* MP3 файлы любой bitrate
* Другие форматы звуковых файлов не поддерживаются.

#### Общие Свойства компонента

| **Название**                | **Описание**                                                                                                                                                                                        |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Слой                        | указание слоя воспроизведения (текстовый идентификатор в рамках сценария)                                                                                                                           |
| Режим                       | Выбор одного из режимов. Подробно описано в Режимы воспроизведения выше. Специализированные поля каждого из режимов описаны ниже в Дополнительные свойства компонента                               |
| Буфер для DTMF              | Переменная, куда будут сохраняться полученные DTMF символы.                                                                                                                                         |
| Очистить буфер              | <ul><li>Да-значение переменной Буфер для DTMF будет очищен перед выполнением текущего компонента<br></li><li>Нет-полученные DTMF символы будут дописаны в конец переменной Буфер для DTMF</li></ul> |
| Количество символов         | Ограничение количества символов DTMF. По достижению будет остановлено воспроизведение и переход на следующий компонент                                                                              |
| Символы прерывания          | Символы или их наборы, которые закончат выполнение текущего компонента. Разделение наборов через пробел или запятую.                                                                                |
| Вырезать символы прерывания | Выключатель операции удаления символов прерывания из Буфер для DTMF после обнаружения последовательности прерывания.                                                                                |
| Переход                     | Следующий Компонент сценария. Переход по-умолчанию                                                                                                                                                  |
| Переход, ошибка             | Следующий Компонент сценария, если возникла ошибка воспроизведения                                                                                                                                  |
| Описание                    | Описание компонента                                                                                                                                                                                 |

#### Дополнительные свойства компонента

**Режим Файл полностью**

Производит воспроизведение аудио-файла с ожиданием его завершения. Если в качестве параметров указан каталог, то производится воспроизведение случайного файла из каталога.

| **Название** | **Описание**                                                                                                                                                                                   |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Файл         | <p>Файл для воспроизведения.Может быть выбран в одном из режимов:</p><ul><li>статический файл, приложенный к сценарию;</li><li>сформированный аргументами путь к файлу или каталогу.</li></ul> |
| Громкость    | Делитель громкости исходного файла                                                                                                                                                             |
| Начало, мс   | Время, с которого необходимо начать проигрывать файл в мс                                                                                                                                      |
| Конец,мс     | Время, на котором необходимо закончить проигрывать файл в мс                                                                                                                                   |

**Режим Предпрослушивание**

Производит воспроизведение с ожиданием его завершения и ограничением по времени воспроизведения.

| **Название** | **Описание**                                                                                                                                                                                   |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Файл         | <p>Файл для воспроизведения.Может быть выбран в одном из режимов:</p><ul><li>статический файл, приложенный к сценарию;</li><li>сформированный аргументами путь к файлу или каталогу.</li></ul> |
| Время,с      | Ограничение на время воспроизведения, в сек.                                                                                                                                                   |
| Начало, мс   | Время, с которого необходимо начать проигрывать файл                                                                                                                                           |
| Конец,мс     | Время, на котором необходимо закончить проигрывать файл                                                                                                                                        |

**Режим Файл + дополнительное время**

Производит воспроизведение с ожиданием его завершения и ожиданием дополнительной паузы. Обычно используется для дополнительного ожидания реакции абонента вводом DTMF символов.

| **Название** | **Описание**                                                                                                                                                                                   |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Доп.время,с  | Таймаут дополнительной паузы после завершения воспроизведения, в сек.                                                                                                                          |
| Файл         | <p>Файл для воспроизведения.Может быть выбран в одном из режимов:</p><ul><li>статический файл, приложенный к сценарию;</li><li>сформированный аргументами путь к файлу или каталогу.</li></ul> |
| Начало, мс   | Время, с которого необходимо начать проигрывать файл                                                                                                                                           |
| Конец,мс     | Время, на котором необходимо закончить проигрывать файл                                                                                                                                        |
| Громкость    | Делитель уменьшения громкости первоначального файла                                                                                                                                            |

**Режим Список файлов**

Производит воспроизведение последовательного списка файлов.

| **Название**        | **Описание**                                                                                                                                              |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Файлы (JSON-список) | Аргумент, содержащий JSON-структуру в виде массива строк, каждая из которых представляет путь к файлу. Файлы воспроизводятся в порядке указания в списке. |
| Громкость           | Делитель уменьшения громкости                                                                                                                             |

**Пример**\
&#x20;Проиграть три файла подряд. Файлы находятся в директории syn\_media().\
&#x20;С помощью Выражения значение аргумента может задаваться так:

"\[\\""+escape(makepath(syn\_media(), "expressions/двести.wav"))+"\\",\
&#x20;\\""+escape(makepath(syn\_media(), "expressions/тысяч.wav"))+"\\",\
&#x20;\\""+escape(makepath(syn\_media(), "expressions/рублей.wav"))+"\\"]"

**Режим Фоновое воспроизведение**

Добавляет слой и инициирует фоновое воспроизведение в нем, сразу передавая управление следующему компоненту. Если в указанном слое уже производится воспроизведение, то оно автоматически прерывается.

| **Название** | **Описание**                                                                                                                                                                                    |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Каталог      | Указать каталог, в котором будут проигрываться все файлы для режима Фоновое воспроизведение.                                                                                                    |
| Файл         | <p>Файл для воспроизведения.Может быть выбран в одном из режимов:</p><ul><li>статический файл, приложенный к сценарию;</li><li> сформированный аргументами путь к файлу или каталогу.</li></ul> |
| Зацикливать  | Управление режимом непрерывного зацикленного воспроизведения. При воспроизведении через выбор каталога, каждый новый файл выбирается случайно.                                                  |

**Режим Остановка фона**

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

Не имеет специальных настроек

**Режим Изменить громкость фона**

Производит изменение громкости воспроизводимого в фоне файла на указанном слое.

| **Название** | **Описание**                  |
| ------------ | ----------------------------- |
| Громкость    | Делитель уменьшения громкости |

Чтобы уменьшить громкость, а потом ее восстановить надо

\* Громкость = 4 (уменьшим в 4 раза)\
&#x20;\* Громкость = 1 (восстановим громкость файла)

### Воспроизведение числительных

<div align="left"><img src="/files/-MJLUZh_whIovR4P9xq0" alt=""></div>

Осуществляется проигрывание числа, определяемого аргументом. Для проигрывания существуют несколько предустановленных голосов и можно добавлять свои.\
&#x20;Файлы числительных для воспроизведения в локальном автоматически синхронизирующемся каталоге :SYNC в подкаталоге /common/standardexpressions/\<VOICE>

Проигрывание производится по указанному формату, либо по указанной схеме.

![](/files/-MJLUdtiW4iFTYlv7tum)

Воспроизведение числительных

| **Название**       | **Описание**                                                                                                                                                                                                  |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Число              | Аргумент, содержащий воспроизводимое числительное либо наборную фразу.                                                                                                                                        |
| Языковой алгоритм  | <p>Выбор языкового алгоритма. Возможные варианты:</p><ul><li>RUS - Русский язык. (123 звучит как "Сто Двадцать Три")</li><li>ENG – Английский язык. (123 звучит как "One Hundred and Twenty Three")</li></ul> |
| Формат             | Формат проигрываемого значения. Описан ниже в Формат воспроизведения числительных                                                                                                                             |
| Тип проигрывания   | Используется, если формат задан «По формату». Подробнее в Формат воспроизведения числительных                                                                                                                 |
| Род                | <p>(формат = «По формату», «Количество», «Порядковое числительное»)</p><ul><li>Мужской (один, сто пятый)</li><li>Женский (одна, сто шестая)</li><li>Средний (одно, сто седьмое)</li></ul>                     |
| Понижать тон       | Осуществляет понижение тона в конце. Для этого в качестве последнего файла подставляется аналогичный с символом "\_" в конце, озвученный как окончание речи. При его отсутствии берется обычный файл.         |
| Голос              | Выбор голоса для воспроизведения. Каждый голос представляет собой папку с набором файлов, озвучивающих достаточно большой набор числительных и используемых дополнительных слов.                              |
| Символы прерывания | Строка, содержащая последовательности символов прерывания через запятую.                                                                                                                                      |
| Переход            | Компонент, которому передается управление в случае успешного завершения операции. Переход по-умолчанию.                                                                                                       |
| Переход,ошибка     | Компонент, которому передается управление в случае ошибки.                                                                                                                                                    |
| Описание           | Описание компонента                                                                                                                                                                                           |

#### Формат воспроизведения числительных

| **Название**             | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| По формату               | <p>Выбор формата построения фразы по значению. Возможные способы разбиения (значение поля Тип проигрывания</p><ul><li> Посимвольно – Каждая цифра числа проговаривается отдельно.(один ноль два три семь…)<br></li><li>По 2 символа – Цифры объединяются парами(двадцать два сорок четыре…)<br></li><li>По 3 символа – Цифры объединяются в группы по три (триста пять двести тридцать четыре…)<br></li><li>Целиком – Число проговаривается целиком. (Двести тридцать четыре триллиона пятьсот двадцать…)<br></li><li>Буквы и числа посимвольно – Значение проговаривается в виде отдельных букв (аббревиатур) и чисел.(один а б в тире слэш.. )<br></li><li>Слова и фразы – Проговариваются отдельные слова, разделенные пробелами, заранее озвученные и представленные в каталоге озвучки.</li></ul> |
| Количество               | Числительное, например сто двадцать три.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Порядковое числительное  | Например сто двадцать третий. Применяет род.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Телефонный номер         | Допустимые формат Числа и разделить в виде - sp. Например 120-40 10 будет озвучен как сто двадцать сорок десять                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Дата                     | 01.01.2020 = первое января две тысячи двадцатого года.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Время                    | 15:30 = пятнадцать часов тридцать минут                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Дата/время               | 01.01.2020 15:30 = первое января две тысячи двадцатого года пятнадцать часов тридцать минут                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| День недели              | Например, понедельник.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Время без нулей в начале | Время, где нули в начале не воспроизводятся, например: 00:20:00 = двадцать минут ноль секунд вместо ноль часов двадцать минут ноль секунд.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Время без нулей в конце  | Время, где нули в конце не воспроизводятся, например: 00:20:00 ноль часов двадцать минут вместо ноль часов двадцать минут ноль секунд.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Время в секундах         | 600 = шестьсот секунд.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Деньги, USD              | XXX долларов или XXX долларов XX центов.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Деньги, EUR              | XXX евро или XXX долларов XX евроцентов.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Деньги, RUR              | XXX рублей или XXX рублей XX копеек.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Процент                  | XX процентов.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |

### Ввод DTMF

<div align="left"><img src="/files/-MJLUvaFDye_xaDOfebZ" alt=""></div>

Осуществляет ожидание ввода абонентом символов DTMF с клавиатуры телефона. Поддерживает поставку символов по RFC-2833 и через SIP-INFO. Если необходимо получать DTMF во время проигрывания файла, то необходимо воспользоваться компонентом Воспроизведение.

![](/files/-MJLV-ihOWONnoRc9vG2)

| **Название**                | **Описание**                                                                                                                                                                                                         |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Таймаут,с                   | Общий таймаут в секундах ожидания ввода полного значения. Если таймер сработал, то Переход,время                                                                                                                     |
| Межсимвольный таймаут, с    | Таймаут в секундах ожидания ввода следующего символа. Запускается после первого полученного символа. Каждый введенный символ сбрасывает счетчик. Если таймер сработал, то Переход,время                              |
| Буфер для DTMF              | Переменная для сохранения получаемых DTMF-символов.                                                                                                                                                                  |
| Очистить буфер              | <ul><li>Да - значение переменной Буфер для DTMF будет очищен перед выполнением текущего компонента<br></li><li>Нет - полученные DTMF символы будут дописаны в конец переменной Буфер для DTMF</li></ul>              |
| Количество символов         | Аргумент, содержащий ограничение на количество вводимых символов.                                                                                                                                                    |
| Символы прерывания          | Строка, содержащая последовательности символов прерывания через запятую. После обнаружения на конце буфера DTMF последовательности символов, компонент завершает работу по Переход. Пример значения \*, 7, 123, 9395 |
| Вырезать символы прерывания | <ul><li>Да - удалит символы прерывания из переменной Буфер для DTMF</li><li>Нет- не удалит символы прерывания из переменной Буфер для DTMF</li></ul>                                                                 |
| Переход                     | Компонент, которому передается управление при завершении компонента. Переход по-умолчанию                                                                                                                            |
| Переход, время              | Компонент, которому передается управление при завершении по таймауту.                                                                                                                                                |
| Описание                    | Описание компонента                                                                                                                                                                                                  |

### Запись

<div align="left"><img src="/files/-MJLV5sDHWi4Hj-X77yw" alt=""></div>

Осуществляет запись звука, поступающего от абонента, в локальный файл. Запись файла сохраняется в директорию temp текущего экземпляра сценария. Для дальнейшей работы с файлом необходимо использовать компонент Файловая операция.

![](/files/-MJLVCqDN_APMrn0-hpV)

Запись

| **Название**                | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Режим                       | <p>Выбор режима записи. Доступен единственный вариант</p><ul><li> Синхронная запись</li></ul>                                                                                                                                                                                                                                                                                                                                                      |
| Путь в переменную           | <ul><li>Да - путь к записанному файлу необходимо сохранить в переменную</li><li>Нет - путь сохранять не надо</li></ul>                                                                                                                                                                                                                                                                                                                             |
| Путь к файлу в переменную   | <p>Переменная для сохранения пути к файлу с записанным голосом. Файл размещается во временном каталоге сценария и будет удален после завершения работы сценария. Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.</p><p>Запись осуществляется на сервере с ролью MG, обслуживающим текущий звонок, а затем переносится на сервер с ролью IVR, обслуживающей текущий сценарий.</p> |
| Кодек                       | <p>Формат записываемого файла.</p><ul><li>PCM</li><li>PCMa</li><li>PCMu</li><li>GSM</li><li>MP3 8-bit</li><li> MP3 16-bit</li><li>MP3 24-bit</li></ul>                                                                                                                                                                                                                                                                                             |
| Таймаут, с                  | Время в течении которого будет записываться голос от абонента                                                                                                                                                                                                                                                                                                                                                                                      |
| Буфер для DTMF              | Переменная для сохранения получаемых DTMF-символов.                                                                                                                                                                                                                                                                                                                                                                                                |
| Очистить буфер              | <ul><li>Да - значение переменной Буфер для DTMF будет очищен перед выполнением текущего компонента<br></li><li>Нет - полученные DTMF символы будут дописаны в конец переменной Буфер для DTMF</li></ul>                                                                                                                                                                                                                                            |
| Количество символов         | Аргумент, содержащий ограничение на количество вводимых символов.                                                                                                                                                                                                                                                                                                                                                                                  |
| Символы прерывания          | Строка, содержащая последовательности символов прерывания через запятую. После обнаружения на конце буфера DTMF последовательности символов, компонент завершает работу по Переход. Пример значения \*, 7, 123, 9395                                                                                                                                                                                                                               |
| Вырезать символы прерывания | <ul><li>Да - удалит символы прерывания из переменной Буфер для DTMF</li><li>Нет- не удалит символы прерывания из переменной Буфер для DTMF</li></ul>                                                                                                                                                                                                                                                                                               |
| Переход                     | Компонент, которому передается управление при завершении операции по набору нужного числа символов. Переход по-умолчанию.                                                                                                                                                                                                                                                                                                                          |
| Переход, время              | Компонент, которому передается управление при завершении по таймауту.                                                                                                                                                                                                                                                                                                                                                                              |
| Описание                    | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                |

### SIP-ответ

<div align="left"><img src="/files/-MJLWArdSec6IATSYYz4" alt=""></div>

Отправляет SIP-ответ на входящий INVITE, инициировавший запуск IVR сценария. Это может быть:

•             предварительный ответ 1xx,

•             окончательный успешный ответ 2xx,

•             окончательный ответ о переадресации 3xx,

•             окончательный ответ о неудаче 4xx – 6xx.

После неудачных окончательных ответов выполнение основной ветки сценария автоматически прекращается. В соответствии с протоколом SIP последовательно в течение ограниченного интервала времени (\~30 секунд) может быть отправлено произвольное количество предварительных ответов, и только один окончательный.

![](/files/-MJLWHD9O5GPrelNuX_j)

Sip-ответ

| **Название**     | **Описание**                                                                                                                                                                  |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Код ответа SIP   | Аргумент, содержащий код SIP-ответа. Число 1xx – 6xx. По-умолчанию 200                                                                                                        |
| Текст ответа SIP | Аргумент, содержащий фразу SIP-ответа. Например Not Found для 404.                                                                                                            |
| Причина          | Аргумент, содержащий причину. Отправляется в SIP-ответе в заголовке Reason. По умолчанию заголовок не добавляется.                                                            |
| Отображаемое имя | Аргумент, содержащий имя абонента. Отправляется в SIP-ответе в качестве displayname в заголовке Remote-Party-Id и P-asserted-Identity. По умолчанию заголовок не добавляется. |
| Переход          | Компонент, которому передается управление.                                                                                                                                    |
| Описание         | Описание компонента                                                                                                                                                           |

### Отбой (Отправка SIP-Bye пакета)

![](/files/-MJLWLk0JkoFa6_nIPd-)

Разрывает текущий диалог отправкой SIP-запроса BYE.\
&#x20;Если диалог еще не установлен (не был предварительно отправлен SIP-ответ 2xx), то компонент завершается ошибкой и прерывает работу основной ветки сценария.

![](/files/-MJLWPpX7oAXWDpwcZbs)

Отбой (SIP Bye)

| **Название** | **Тип**             |
| ------------ | ------------------- |
| **Описание** | Описание            |
| Текст        | Описание компонента |

### Перевод без сопровождения

<div align="left"><img src="/files/-MJLWUaIkiUxKI9R8kTW" alt=""></div>

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

Перевод абонента на указанный номер осуществляется путем отправки ему SIP-запроса REFER. После успешного выполнения компонента выполнение основной ветки сценария прерывается. На любом шаге процесса может произойти плановый отказ, тогда управление передается следующему компоненту по соответствующей ветке перехода.

Компонент выполняется до момента получения Notify сообщения об установке соединения или ошибки (например, вызываемый абонент не снял трубку). Общее время процесса перевода складывается из времени ответа на REFER, набора указанного номера и ожидания ответа. Суммарно ограничено 60 секунд (при наступлении сработает Переход, время подписки

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

![](/files/-MJLWc9n_xr9rtDNnFae)

Перевод

| **Название**            | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Номер                   | Номер, на который перевести вызов                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Режим re-INVITE         | <p>Выбор режима предварительного преобразования медиа-сессии текущего диалога перед отправкой SIP-запроса REFER. Возможные варианты:<br></p><ul><li>Не использовать – Не производит преобразования.<br></li><li>Авто – По текущим настройкам системы аналогично режиму inactive.<br></li><li>sendonly – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=sendonly.<br></li><li> inactive – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиа-стримов выставлен атрибут a=inactive (не соответствует RFC-6337 п.5.3.).</li></ul> |
| Переход, время подписки | Компонент, которому передается управление, если истекло время подписки, а подтверждения получения окончательного ответа не последовало.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Переход, отказ          | Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: 4xx-6xx (на REFER или INVITE).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Переход, время          | Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Описание                | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

### Перевод с сопровождением

<div align="left"><img src="/files/-MJLWn1WOONLP9oRcPEU" alt=""></div>

Компонент осуществляет вызов абонента, ожидание обработки в сценарии и последующий перевод первоначального звонка звонка на него. Компонент моделирует работу при переводе звонка с сопровождением.\
&#x20;После ответа абонента, ему может быть предварительно воспроизведен IVR сценарий. Непосредственно перевод осуществляется отправкой абоненту SIP-запроса REFER с атрибутом Replaces.\ <br>

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

Компонент выполняется до момента получения Notify сообщения об установке соединения или ошибки (например, вызываемый абонент не снял трубку). Общее время процесса перевода складывается из времени ответа на REFER, набора указанного номера и ожидания ответа. Суммарно ограничено 60 секунд (при наступлении сработает Переход, время подписки

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

![](/files/-MJLX7ul2Avz3UfUlsSn)

Перевод с сопровождением

| **Название**                      | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Номер                             | Номер назначения                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Исходящий номер                   | Аргумент, содержащий CallerId – значение username для подстановки в URI заголовка From отправляемого SIP-запроса INVITE.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Исходящее имя                     | Аргумент, содержащий CallerName – значение displayname для подстановки в URI заголовка From отправляемого SIP-запроса INVITE.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Время набора, сек                 | Максимальное время от начала набора до получения SIP 200 OK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Источник сценария                 | <p>Способ выбора IVR-сценария. Возможные значения:</p><ul><li>Не использовать – Не использовать сценарий, только осуществить дозвон, проконтролировать ответ и переключить.<br></li><li>Из списка – Выбор сценария в поле Сценарий. Применяет значение свойства Сценарий.<br></li><li>По коду – Указание кода сценария с помощью аргумента в поле Код сценария. Применяет значение свойства Код сценария.</li></ul>                                                                                                                                                                                     |
| Параметры сценария                | Аргумент, содержащий значение первого параметра для IVR сценария, который доступен через функцию startparam1() или в компоненте Старт. Если значение содержит JSON-структуру, то она рассматривается как объект, содержащий начальные значения для переменных. Ключи и значения объекта соответствуют именам переменных и их начальным значениям. Установленные таким образом значения приоритетны перед значениями по умолчанию внутри сценария IVR.                                                                                                                                                   |
| Время IVR, сек                    | Максимальное время обработки в IVR сценарии сопровождения                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Режим re-INVITE                   | <p>Выбор режима предварительного преобразования медиасессии текущего диалога перед отправкой SIP-запроса REFER.</p><ul><li>Не использовать – Не производит преобразования.<br></li><li>Авто – По текущим настройкам системы аналогично режиму inactive.<br></li><li>sendonly – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиастримов выставлен атрибут a=sendonly.<br></li><li> inactive – Переводит медиа-сессию в режим удержания путем отправки re-INVITE с SDP, где у медиастримов выставлен атрибут a=inactive (не соответствует RFC-6337 п.5.3.).</li></ul> |
| Код результата в переменную       | <p>Переменная для сохранения кода внутренней ошибки. Возможные варианты:</p><p>"001" – Ошибка инициации вызова.<br> "002" – Неудача вызова.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Описание результата в переменную  | Переменная для сохранения текстового описания внутренней ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| SIP-код ответа в переменную       | Переменная для сохранения кода SIP-ответа на исходящий запрос INVITE.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Причина SIP ответа в переменную   | Переменная для сохранения фразы SIP-ответа на исходящий запрос INVITE.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Заголовки SIP ответа в переменную | Переменная для сохранения совокупности заголовков SIP ответа на исходящий запрос INVITE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Переход, время подписки           | Компонент, которому передается управление, если истекло время подписки, а подтверждения получения окончательного ответа не последовало.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Переход, отказ                    | Компонент, которому передается управление в случае, если при вызове получен неудачный окончательный ответ: 3xx-6xx (на REFER или INVITE)                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Переход, время                    | Компонент, которому передается управление в случае, если за ограниченное время не получен окончательный ответ на отправленный SIP-запрос re-INVITE или REFER.                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Переход, неудача                  | Компонент, которому передается управление в случае, если вызываемый абонент не ответил, либо ответил неудачным окончательным кодом 3xx-6xx.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Переход, ошибка                   | Компонент, которому передается управление в случае, если истекло время ожидания окончательного ответа на отправленный SIP-запрос INVITE, либо завершения IVR сценария предварительного воспроизведения.                                                                                                                                                                                                                                                                                                                                                                                                 |
| Описание                          | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

### Синтез речи (Yandex Cloud SpeechKit)

<div align="left"><img src="/files/-MJLXElCQ5WFMUyOAYKy" alt=""></div>

Осуществляет синтез речи по тексту и воспроизведение текущему абоненту. Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP. Не имеет технических ограничений по производительности. Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.

Для корректной настройки должен быть введен API-ключ в Общих настройках текущего домена в Web-интерфейсе Администрирования.

![](/files/-MJLXInaB3O1zjOo46xV)

Синтез речи

| **Название**                                                             | **Описание**                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Режим                                                                    | <p>Режим работы компонента после получения ответа от сервиса TTS Yandex Cloud SpeechKit.</p><p>•             Воспроизведение – Воспроизведение синтезированной речи абоненту с последующим удалением файла.</p><p>•             Генерация файла – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.</p> |
| Текст                                                                    | Текст, подлежащий синтезу и последующему воспроизведению.                                                                                                                                                                                                                                                                                       |
| Язык                                                                     | <p>Параметр сервиса TTS Yandex Cloud SpeechKit: язык синтеза.</p><ul><li>ru-RU – Русский язык</li><li>en-US – Английский язык</li></ul>                                                                                                                                                                                                         |
| Голос                                                                    | <p>Параметр сервиса TTS Yandex Cloud SpeechKit: голос синтезируемой речи.</p><ul><li>Alyss (ж)</li><li>Jane (ж)</li><li>Oksana (ж)</li><li>Omazh (ж)</li><li> Zahar (м)</li><li>Ermil (м)</li><li>Другой – Указание произвольного голоса через аргумент в поле Другой голос.</li></ul>                                                          |
| Эмоция                                                                   | <p>Параметр сервиса TTS Yandex Cloud SpeechKit: эмоциональный эффект синтезируемой речи.</p><ul><li>Good</li><li>Evil</li><li>Neutral</li></ul>                                                                                                                                                                                                 |
| Темп речи (0.1 - 3.0)                                                    | Параметр сервиса TTS Yandex Cloud SpeechKit: темп синтезируемой речи. Дробное значение от 0.1 до 3.0 с размерностью 0.1                                                                                                                                                                                                                         |
| Прерывать по DTMF                                                        | Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.                                                                                                                                                                                                                                              |
| Буфер для DTMF                                                           | Переменная для сохранения получаемых DTMF-символов.                                                                                                                                                                                                                                                                                             |
| Очистить буфер                                                           | <ul><li>Да - значение переменной Буфер для DTMF будет очищен перед выполнением текущего компонента<br></li><li>Нет - полученные DTMF символы будут дописаны в конец переменной Буфер для DTMF</li></ul>                                                                                                                                         |
| Количество символов                                                      | Аргумент, содержащий ограничение на количество вводимых символов.                                                                                                                                                                                                                                                                               |
| Символы прерывания                                                       | Строка, содержащая последовательности символов прерывания через запятую. После обнаружения на конце буфера DTMF последовательности символов, компонент завершает работу по Переход. Пример значения \*, 7, 123, 9395                                                                                                                            |
| Таймаут ожидания                                                         | Таймаут ожидания ответа от сервиса TTS Yandex Cloud SpeechKit после отправки ему запроса. По истечении таймаута управление передается следующему компоненту по ветке Переход, время                                                                                                                                                             |
| Код ответа в переменную                                                  | Переменная для сохранения кода HTTP-ответа сервиса распознавания.                                                                                                                                                                                                                                                                               |
| Путь к файлу в переменную                                                | (режим = генерация файла) Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге. Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения                                                                                                 |
| Переход                                                                  | Компонент, которому передается управление в случае успешного завершения операции. Переход по-умолчанию                                                                                                                                                                                                                                          |
| Переход, время                                                           | Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса. Переход, ошибка                                                                                                                                                                                                                           |
| Компонент, которому передается управление в случае возникновения ошибки. | Описание                                                                                                                                                                                                                                                                                                                                        |

### Распознавание речи (Yandex Cloud SpeechKit)

![](/files/-MJLXPtFxaMVh2mzRToz)

Осуществляет распознавание речи абонента в текстовый вид. Сервис предоставляется облаком Yandex Cloud SpeechKit по протоколу HTTP. Не имеет технических ограничений по производительности. Порядок регистрации учетной записи Yandex-облака и стоимость сервиса см. на Яндексе.

Для корректной настройки должен быть введен API-ключ в Общих настройках текущего домена в Web-интерфейсе Администрирования.

![](/files/-MJLXTc1y8KiizJM7LBT)

Распознавание речи

| **Название**                     | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Тема                             | <p>Параметр сервиса распознавания Yandex Cloud SpeechKit: тема распознавания. Возможные варианты:</p><ul><li> general - общая тема</li><li>maps - адреса</li><li>dates - даты</li><li>names - имена и названия</li><li>numbers - числа</li><li>Другая – Указание произвольной темы через аргумент в поле Пользовательская тема.</li></ul>                                                                                                                                                                                      |
| Язык                             | <p>Параметр сервиса распознавания Yandex Cloud SpeechKit: язык распознавания. Возможные варианты:</p><ul><li>ru-RU – Русский язык</li><li>en-US – Английский язык</li></ul>                                                                                                                                                                                                                                                                                                                                                    |
| Фильтр ненормативной лексики     | Параметр сервиса распознавания Yandex Cloud SpeechKit: выключатель фильтра ненормативной лексики.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Таймаут записи, с                | Максимально допустимое время записи с момента завершения предварительного воспроизведения, в секундах.                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Прерывать по DTMF                | Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Буфер для DTMF                   | Переменная для сохранения получаемых DTMF-символов.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Очистить буфер                   | <ul><li>Да - значение переменной Буфер для DTMF будет очищен перед выполнением текущего компонента<br></li><li>Нет - полученные DTMF символы будут дописаны в конец переменной Буфер для DTMF</li></ul>                                                                                                                                                                                                                                                                                                                        |
| Количество символов              | Аргумент, содержащий ограничение на количество вводимых символов.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Символы прерывания               | Строка, содержащая последовательности символов прерывания через запятую. После обнаружения на конце буфера DTMF последовательности символов, компонент завершает работу по Переход. Пример значения \*, 7, 123, 9395                                                                                                                                                                                                                                                                                                           |
| Прерывать при обнаружении тишины | Выключатель детектора голоса (VAD) для автоматического завершения записи и отправки последней порции голосовых данных сервису распознавания. Критерием для остановки является наличие голоса в течение не менее чем 300 мс и последующее его отсутствие в течение указанного интервала.                                                                                                                                                                                                                                        |
| Интервал тишины, с               | Интервал для детектора голоса (VAD), по истечении которого производится автоматическая остановка записи и отправка последней порции голосовых данных сервису распознавания.                                                                                                                                                                                                                                                                                                                                                    |
| Порог VAD, дБ                    | Аргумент, содержащий порог VAD, при пересечении которого в большую сторону фиксируется наличие голоса, в децибеллах. Любой шум с уровнем ниже порога рассматривается как тишина.                                                                                                                                                                                                                                                                                                                                               |
| Таймаут ожидания ответа, с       | Таймаут ожидания ответа от сервиса распознавания Yandex Cloud SpeechKit после отправки ему последней порции голосовых данных. По истечении таймаута управление передается следующему компоненту по ветке Переход, время.                                                                                                                                                                                                                                                                                                       |
| Результат в переменную           | Переменная для сохранения текстового результата распознавания.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Код ответа в переменную          | Переменная для сохранения кода HTTP-ответа сервиса распознавания.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Тело ответа в переменную         | Переменная для сохранения полного содержания HTTP-ответа сервиса распознавания.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Сохранить файл записи            | Выключатель сохранения файла записи, отправленного сервису распознавания. Если включен, то путь возвращается в переменную в поле Путь к файлу в переменную                                                                                                                                                                                                                                                                                                                                                                     |
| Предварительное воспроизведение  | <p>Звуковой файл предварительного воспроизведения абоненту, во время которого также активирован голосовой детектор. При отсутствии голоса от абонента (с учетом шумового порога VAD-детектора), отправка данных на сервис распознавания не производится. Может быть выбран в одном из режимов:</p><p>\* статический файл, приложенный к сценарию \* сформированный аргументами путь, который должен включать одну из файловых категорий.</p><p>При обнаружении голосоа со стороны абонента воспроизведение останавливается</p> |
| Переход                          | Компонент, которому передается упраление в случае успешного завершения операции. Переход по-умолчанию                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Переход, время                   | Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса распознавания.                                                                                                                                                                                                                                                                                                                                                                                                            |
| Переход, ошибка                  | Компонент, которому передается управление в случае возникновения ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Описание                         | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### Управление голосовой почтой

<div align="left"><img src="/files/-MJLXfUSQzTe826VHkwb" alt=""></div>

Компонент позволяет работать с голосовой почтой для приема сообщения и управления содержимым своего ящика.

![](/files/-MJLaQCK0m1sFigSutf9)

Каждый ящик имеет свой номер. Если происходит размещение файла в новом ящике, то он автоматически создается. В каждом ящике есть две папки:

* Новые. Все размещенные файлы записи попадают в эту папку. Пока в этой папке есть хоть один файл, на телефоне горит MWI.<br>
* Прослушанные. В этой папке хранятся прослушанные записи, к которым абонент всегда может обратиться.

Файлы автоматически удаляются из папки Новые, если они не были прослушаны в течении 3-х месяцев.

У компонента есть несколько режимов работы:

* Положить сообщение. Размещает новое записанное сообщение в указанный почтовый ящик<br>
* Получить количество сообщений. Результат - количество новых и прослушанных сообщений<br>
* Достать сообщение по индексу. Получение пути до файла записи и ID сообщения по его индексу. Индекс - порядковый номер сообщения в папке ящика, где 1 - самое старое.<br>
* Достать новое сообщение. Получение ссылка на запись и ID самого нового сообщения в папке Новые или Прослушанные.<br>
* Достать старое сообщение.  Получение ссылка на запись и ID самого старого сообщения в папке Новые или Прослушанные.<br>
* Достать следующее сообщение. Позволяет получить более новое или более старое сообщение относительно текущего индекса. Также возвращает ссылку на него.<br>
* Переместить в прослушанные. Переместить текущее сообщение в папку Прослушанные.<br>
* Удалить сообщение. Удалить текущее сообщение из голосовой почты.<br>
* Очистить ящик. Очищает все сообщения в папке Новые или Прослушанные.

#### Общие свойства:

| **Название**        | **Описание**                                                                                                                                                                                                                                                                                                    |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Операция            | <ul><li>Положить сообщение.</li><li>Получить количество сообщений.</li><li>Достать сообщение по индексу.</li><li>Достать новое сообщение.</li><li>Достать старое сообщение.</li><li>Достать следующее сообщение.</li><li>Переместить в прослушанные.</li><li>Удалить сообщение.</li><li>Очистить ящик</li></ul> |
| Номер ящика         | Номер ящика, с которым необходимо работать. Уникальный номер с темже значением, что и постфикс телефонного номера, следующий за Кодом абонентских функций с типом Голосовая посчта                                                                                                                              |
|                     |                                                                                                                                                                                                                                                                                                                 |
| Причина ошибки      | Переменная для сохранения кода ошибки.                                                                                                                                                                                                                                                                          |
| Переход             | Компонент, которому передается управление в случае успешного завершения операции. Переход по-умолчанию                                                                                                                                                                                                          |
| Переход, не найдено | Следующий Компонент, если не найдено сообщение для обработки.                                                                                                                                                                                                                                                   |
| Описание            | Описание компонента                                                                                                                                                                                                                                                                                             |

#### Специализированные свойства разных операций

**Операция Положить сообщение.**

Сообщение размещается в ящике с указанным Номером

| **Название** | **Описание**                                                                                                                                        |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Путь к файлу | Передается полный путь к записи, которую необходимо разместить в голосовой почте абонента (в папке Новые). Запись делается ранее компонентом Запись |
| Отправитель  | Номер абонента, кто будет считаться отправителем этого сообщения.                                                                                   |

**Операция Получить количество сообщений.**

Получает количество сообщений в ящике с указанным Номером

| **Название**     | **Описание**                                                                   |
| ---------------- | ------------------------------------------------------------------------------ |
| Новых сообщений  | Переменная для сохранения количества голосовых сообщений в папке Новые.        |
| Старых сообщений | Переменная для сохранения количества голосовых сообщений в папке Прослушанные. |

**Операция Достать сообщение по индексу.**

Получает определнное сообщение из ящика с указанным Номером

| **Название**  | **Описание**                                                                                                              |
| ------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Папка ящика   | <p>Выбор папки, с которой необходимо работать. Две папки в каждом ящике</p><ul><li>Новые.</li><li>Прослушанные.</li></ul> |
| Индекс        | Индекс - последовательный номер сообщения в папке текущего почтового ящика. Индекс самого старого сообщения 1.            |
| ID сообщения  | Переменная для сохранения идентификатора возвращаемого голосового сообщения (ID сообщения по указанному индексу)          |
| Отправитель   | Переменная для сохранения отправителя возвращаемого голосового сообщения.                                                 |
| Дата отправки | Переменная для сохранения даты отправки возвращаемого голосового сообщения.                                               |
| Путь к файлу  | Переменная для сохранения локального пути к файлу записи возвращаемого голосового сообщения.                              |

**Операция Достать новое сообщение.**

Получение самого нового сообщения из выбранной папке ящика с указанным Номером

| **Название**  | **Описание**                                                                                                               |
| ------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Папка ящика   | <p>Выбор папки, с которой необходимо работать. Две папки в каждом ящике</p><ul><li> Новые.</li><li>Прослушанные.</li></ul> |
| ID сообщения  | Переменная для сохранения идентификатора возвращаемого голосового сообщения. (ID самого нового сообщения в папке)          |
| Отправитель   | Переменная для сохранения отправителя возвращаемого голосового сообщения.                                                  |
| Дата отправки | Переменная для сохранения даты отправки возвращаемого голосового сообщения.                                                |
| Путь к файлу  | Переменная для сохранения локального пути к файлу записи возвращаемого голосового сообщения.                               |

**Операция Достать старое сообщение.**

Получение самого старого сообщения из выбранной папке ящика с указанным Номером

| **Название**  | **Описание**                                                                                                               |
| ------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Папка ящика   | <p>Выбор папки, с которой необходимо работать. Две папки в каждом ящике</p><ul><li>Новые.</li><li> Прослушанные.</li></ul> |
| ID сообщения  | Переменная для сохранения идентификатора возвращаемого голосового сообщения. (ID самого старого сообщения в папке)         |
| Отправитель   | Переменная для сохранения отправителя возвращаемого голосового сообщения.                                                  |
| Дата отправки | Переменная для сохранения даты отправки возвращаемого голосового сообщения.                                                |
| Путь к файлу  | Переменная для сохранения локального пути к файлу записи возвращаемого голосового сообщения.                               |

**Операция Достать следующее сообщение.**

Получение более нового или более старого сообщения из ящика с указанным Номером

| **Название**          | **Описание**                                                                                                                                                                                                    |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID текущего сообщения | ID сообщения, к которому необходимо получить доступ. ID является уникальной ссылкой на сообщение в системе.                                                                                                     |
| Папка ящика           | <p>Выбор папки, с которой необходимо работать. Две папки в каждом ящике</p><ul><li>Новые.</li><li>Прослушанные.</li></ul>                                                                                       |
| Метод                 | <ul><li><strong>Новее</strong>. Получаем данные по более новому сообщению относительно текущего ID</li><li><strong>Старее</strong>. Получаем данные по предыдущему сообщению относительно текущего ID</li></ul> |
| ID сообщения          | Переменная для сохранения идентификатора возвращаемого голосового сообщения. (ID следующего сообщения)                                                                                                          |
| Отправитель           | Переменная для сохранения отправителя возвращаемого голосового сообщения.                                                                                                                                       |
| Дата отправки         | Переменная для сохранения даты отправки возвращаемого голосового сообщения.                                                                                                                                     |
| Путь к файлу          | Переменная для сохранения локального пути к файлу записи возвращаемого голосового сообщения.                                                                                                                    |

**Операция Переместить в прослушанные.**

Перемещает указанное сообщение из папки Новое в папку Прослушанные. Действие в ящике с указанным Номером

| **Название**          | **Описание**                                                                                                |
| --------------------- | ----------------------------------------------------------------------------------------------------------- |
| ID текущего сообщения | ID сообщения, к которому необходимо получить доступ. ID является уникальной ссылкой на сообщение в системе. |

**Операция Удалить сообщение.**

Удаляет указанное сообщение из выбранной папке ящика с указанным Номером

| **Название**          | **Описание**                                                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| ID текущего сообщения | ID сообщения, к которому необходимо получить доступ. ID является уникальной ссылкой на сообщение в системе.               |
| Папка ящика           | <p>Выбор папки, с которой необходимо работать. Две папки в каждом ящике</p><ul><li>Новые.</li><li>Прослушанные.</li></ul> |

**Операция Очистить ящик**

Очищает (удаляет все сообщения) из выбранной папке ящика с указанным Номером

| **Название** | **Описание**                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------------- |
| Папка ящика  | <p>Выбор папки, с которой необходимо работать. Две папки в каждом ящике</p><ul><li>Новые.</li><li>Прослушанные.</li></ul> |

### Поставновка и взятие с парковки

<div align="left"><img src="/files/-MJLabeVjacCDjxXop1Q" alt=""></div>

Осуществляет постановку текущего звонка на паркову и взятие абонента с парковки.

Постановка на парковку - соединение одного из участников с парковочным местом.\
&#x20;Взятие с парковки - соединение позвонившего чтобы взять с парковки и ранее размещенного на парковке абонента.

Компонент используется в сценариях постановки и взятия с парковки, применяемым в ходе вызова featurecode с типом parking. Может использоваться и в других сценариях.

![](/files/-MJLadup7UNLDx16Kzp_)

Постановка и взятие с парковки

| **Название**            | **Описание**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Действие                | <ul><li>Разместить на парковке – Осуществляет размещение на указанный номер парковки и дальнейший переход (ветка Переход при успешном размещении или ветка Переход, занято если место не свободно).<br></li><li>Взять с парковки – Осуществляет взятие абонента с указанного парковочного места. Если место было занято, то происходит соединение звонящего в парковку и припаркованного абонента и прерывание текущего сценария. Если место свободно, то переход по ошибке (Переход, не найдено).</li></ul> |
| Номер парковки          | <p>Аргумент, содержащий номер парковки, с которым связана текущая операция.<br> Операция размещения может быть успешно проведена только если парковочное место свободно.</p>                                                                                                                                                                                                                                                                                                                                 |
| Код ошибки в переменную | Переменная для сохранения кода ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Переход                 | Компонент, которому передается управление при успешном завершении операции размещения на парковку. Переход по-умолчанию.                                                                                                                                                                                                                                                                                                                                                                                     |
| Переход, занято         | Компонент, которому передается управление в случае, если при размещении на парковку указанное парковочное место занято.                                                                                                                                                                                                                                                                                                                                                                                      |
| Переход, не найдено     | Компонент, которому передается управление если при попытке взять абонента с парковки указанное парковочное место пусто.                                                                                                                                                                                                                                                                                                                                                                                      |
| Переход, ошибка         | Компонент, которому передается управление при возникновении ошибки.                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Описание                | Описание компонента                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |


# РП: Настройки


# Раздел: Каналы коммутации


# SIP-устройства


# SIP-провайдеры


# Раздел: Нормализация номеров


# Раздел: Обработка звонка


# Раздел: Маршрутизация звонка


# Раздел: Настройки домена


# Статистика вызовов CDR

В данной статье мы подробно расскажем о ролевом приложении CDR.

Ролевое приложение имеет следующие функции:

* просмотр статистики звонков
* просмотр маршрут звонка
* просмотр информации о звонке
* прослушивание записей разговоров
* возможность скачать запись разговора

## Вход в приложение

Для того чтобы зайти в приложение авторизуйтесь в вашем домене и на главном экране веб-интерфейса, откройте ролевое приложение **Статистика вызовов (CDR)**.

![](/files/-MFREq8tPiOvdcJvz-7s)

Так же зайти в приложение можно по прямой ссылке вида -  **http(s)://{Ваш домен}/statistic**

![](/files/-MFUerU36LVzD3iSzlAx)

Подробное описание каждого раздела ролевого приложения CDR доступно по ссылкам ниже.

{% content-ref url="/pages/-MFRvWwjMJSEIY5PrZ9L" %}
[Успешные звонки](/administrirovanie-telefonnoi-stancii/pr-cdr/uspeshnye-zvonki)
{% endcontent-ref %}

{% content-ref url="/pages/-MFRvctVY8xPyx6UdgnV" %}
[Ошибочные звонки](/administrirovanie-telefonnoi-stancii/pr-cdr/oshibochnye-zvonki)
{% endcontent-ref %}

{% content-ref url="/pages/-MFRvckCzfXyPUeMr59-" %}
[Маршруты звонков](/administrirovanie-telefonnoi-stancii/pr-cdr/marshruty-zvonkov)
{% endcontent-ref %}

{% content-ref url="/pages/-MFRvcOYZMPGWoPyZsBg" %}
[История вызова Б](/administrirovanie-telefonnoi-stancii/pr-cdr/istoriya-vyzova-b)
{% endcontent-ref %}

##

##


# Успешные звонки

## Просмотр успешных звонков

После входа в раздел отображается список звонков за прошедшие сутки.

![](/files/-MFRFs3Z9NBNjXGKgJYR)

### Описание полей таблицы успешные звонки:

* id — Идентификатор звонка.
* dtime — Дата и время начала звонка
* dialfromnumber — Номер абонента, кто инициировал звонок
* dialfromtd — КД, в котором был инициирован звонок
* connectfromdn — Отображаемого имя позвонившего
* dialtonumber — Номер, который абонент А отправил в SIP Invite в Oktell R2
* connectfromnumber — Номер абонента А, который был отправлен абоненту Б в АОН
* fromdirection — Тип нахождения абонента А в КД\_А (внутренний, внешний)
* fromsipoperatorcode — Код Оператор SIP А.
* connecttonumber — Номер абонента, с которым произошла коммутация (номер после всех срабатываний маршрутизации). Если перенаправление происходит через IVR-сценарий имя ivr#(набранный номер)
* connecttotd — КД, в котором находится абонент Б
* connecttodn — Отображаемого имя номера с которым совершено соединение. Если перенаправление происходит через IVR-сценарий имя IVR
* connecttoipport — IP-адрес с которым установлено соединение. (Сетевой адрес номера Б)
* todirection — тип нахождения (внутренний, внешний, КАФ,) абонента Б в КД\_Б
* tosipoperatorcode — Код Оператор SIP Б.
* timedial — Время инициализации вызова со стороны А (SIP Invite)
* timepickup — Время ответа. Поднятие трубки со стороны Б (SIP 200 OK).
* timestop — Время окончания разговора (получение первого SIP BYE)
* durationnumber — Продолжительность разговора в секундах
* stopreason — Причина по которой звонок был завершен (в основном какая сторона положила трубку)
* isrec — Запись разговора: t - разговор записан; f - разговор не записан.
* recpath\_in\_storage — относительный путь к файлу от хранилища
* storagecode — Алиас хранилища, указанный в cfg-файле
* recsize — Размер записи (Байт)
* experesdt — Время гарантированного хранение записи. Запись в столбце появляется после перерасчета. По умолчанию перерасчет происходит в час ночи каждого дня.
* recdeletedt — Фактическое время удаление записи. Запись в столбце появляется после перерасчета.
* storagesite — Название сайта

### Описание доступных фильтров

&#x20;Для раскрытия полного списка фильтров нажмите кнопку "Еще".

![](/files/-MFRJUd7I033Ma35ufjo)

* Время инициализации звонка - временной интервал фильтра
* Номер А — номер стороны А (кто звонил)
* КД номера А — коммуникационный домен номера А
* Номер Б — номер стороны Б (кому звонили)
* КД номера Б — коммуникационный домен номера А
* Продолжительность — длительность звонка в секундах
* Причина завершения звонка — текстовое поле с причиной
* Набранный номер Б — текстовое поле
* Сетевой адрес номера Б — IP-адрес форка стороны Б
* Код оператора SIP A — в случае входящего звонка от провайдера SIP, введите код оператора (из настроек)
* Код оператора SIP Б — в случае звонка на провайдера SIP, введите код оператора (из настроек)
* ID звонка — идентификатор звонка

### Детальный просмотр информации о звонке

Для детального просмотра информации о звонке дважды кликните по любой  строке нужного звонка.

#### Общая&#x20;

Содержит в себе всю информацию об звонке. Описание полей аналогично таблице в разделе "Успешные звонки".\
В случае наличия записи (isrec=t), вы сможете ее прослушать.

![](/files/-MFRLWtm5ZAZYypxy7-l)

#### Маршруты

Отображает информацию по сработавшим маршрутам. Описание полей аналогично таблице в разделе "Маршруты звонков".

С помощью кнопки **Перейти к маршрутам** Вы можете сделать прямую выборку в разделе маршруты для анализа частоты/количества срабатываний определенного маршрута или вектора.

![](/files/-MFRM7457Uy3yFOvYU2L)

![](/files/-MFRM7457Uy3yFOvYU2L)

#### Сторона Б

Отображает информацию по попыткам вызова стороны Б. Описание полей аналогично таблице в разделе "История вызова Б".

С помощью кнопки "Посмотреть звонки" Вы можете сделать прямую выборку в разделе Истории вызова Б для просмотра, на какой адрес ушел вызов, какой ответ был получен.

![](/files/-MFRMIi4Vov6yLVjiBOP)

### Экспорт таблицы в CSV

Нажмите на кнопку **Экспорт в CSV** для сохранения таблицы успешных звонков за все время.

![](/files/-MFRSW-czvXZN7OHF5hI)

После того как таблица будет сформирована, начнется автоматическое скачивание файла **success-calls\_data\_table.csv**


# Ошибочные звонки

## Просмотр ошибочных звонков

После входа в раздел отображается список звонков за прошедшие сутки.

В разделе отображается информация по всем ошибочным звонкам. Ошибочный звонок - это звонок, у которого не было найдено ни одного абонента стороны Б

![](/files/-MFRMt_LbTy6DqgoYZeq)

### Описание полей таблицы "ошибочные звонки":

* id — идентификатор звонка
* time — Дата и время начала звонка
* dialfromnumber — Номер абонента, кто инициировал звонок
* dialfromtd — КД, в котором был инициирован звонок.
* fromdirection — Тип нахождения абонента А в КД\_А (внутренний, внешний)
* fromsipoperatorcode — Код Оператор SIP А
* dialtonumber — Номер, который абонент А отправил в SIP Invite на Oktell R2
* dialfromip — Сетевой адрес номера А
* sipcode — SIP Код в финальном ответе на сторон А о причине невозможности вызова набранного номера
* reason — Причина. Текстовое описание причины невозможности вызова набранного номера. Этот текст также отправлен в SIP пакете инициатору. Подробнее о причинах в статье: Возможные ответы в поле Reason
* storagesite — Название сайта
* id — идентификатор звонка
* time — Дата и время начала звонка
* dialfromnumber — Номер абонента, кто инициировал звонок
* dialfromtd — КД, в котором был инициирован звонок.
* fromdirection — Тип нахождения абонента А в КД\_А (внутренний, внешний)
* fromsipoperatorcode — Код Оператор SIP А
* dialtonumber — Номер, который абонент А отправил в SIP Invite на Oktell R2
* dialfromip — Сетевой адрес номера А
* sipcode — SIP Код в финальном ответе на сторон А о причине невозможности вызова набранного номера
* reason — Причина. Текстовое описание причины невозможности вызова набранного номера. Этот текст также отправлен в SIP пакете инициатору.&#x20;
* storagesite — Название сайта

### Описание доступных фильтров

&#x20;Для раскрытия полного списка фильтров нажмите кнопку "Еще".

![](/files/-MFRNPN3N_E7jIwfKCJq)

* Время инициализации звонка - временной интервал фильтра
* Номер А — номер стороны А (кто звонил)
* КД номера А — коммуникационный домен номера А
* Набранный номер Б — номер, на который происходил звонок
* SIP код ответа — SIP-ответ.
* ID звонка — идентификатор звонка

### Детальный просмотр информации о звонке

Для детального просмотра информации о звонке дважды кликните по любой  строке нужного звонка.

#### Общая

Содержит в себе всю информацию об неудачном звонке.Описание полей аналогично таблице в разделе **Ошибочные звонки**.

![](/files/-MFRO596cPsbVb-DsHmb)

#### Маршруты<br>

Отображает информацию по сработавшим маршрутам.&#x20;

![](/files/-MFROIxk_RRAAjyFzWIY)

С помощью кнопки **Перейти к маршрутам** дает возможность сделать прямую выборку в разделе маршруты для анализа частоты/количества срабатываний определенного маршрута или вектора.

### Экспорт таблицы в CSV

Нажмите на кнопку **Экспорт в CSV** для сохранения таблицы успешных звонков за все время.

![](/files/-MFRSW-czvXZN7OHF5hI)

После того как таблица будет сформирована, начнется автоматическое скачивание файла **error-calls\_data\_table.csv**


# Маршруты звонков

## Просмотр использованных маршрутов

После входа в раздел **Маршруты звонков**  отображается информация по сработавшим маршрутам успешных / неуспешных звонков.

![](/files/-MFRP1yMZ8z2llMCOB4G)

### Описание полей таблицы маршруты звонков:

* id — Идентификатор звонка
* time — Время срабатывание правила
* vectorecode — Код вектора из настроек crud-объекта (код сработавшего вектора)
* ruleid — Ссылка на vectorrule (id сработавшего правила)
* action — Действие по правилу. Возможные значения:
* internal - Внутренний абонент
* internalpbx - Абонент за сторонней IP-АТС
* crossdomain - В другой КД
* external - Внешняя линия
* featurecode - Код абонентских функций
* denied - Запретить
* routedomain — Домен, в котором сработал текущий маршрут
* sipoperatorcode — Код оператора из provider если действие = outer
* featurecodeid — Ссылка на запись в crud-объекте featurecode. Идентификатор записи в объекте Коды абонентских функций.
* featurecodetype — Тип КАФ. Возможные значения:
* ivr - Сценарий IVR
* conference - Конференция
* pickup - Перехват звонка
* grouppickup - Перехват звонка по групповым номерам
* voicemail - Голосовая почта
* parking - Парковка
* parking\_get - Взятие с парковки
* intercom - Интерком
* barge - Вторжение
* voicemail\_send - Отправка голосовой почты.
* featurecodenumber — Номер после КАФ. Номер, который остался после преобразования через таблицу featurecode
* storagesite — Название сайта

### Описание доступных фильтров

&#x20;Для раскрытия полного списка фильтров нажмите кнопку "Еще".

![](/files/-MFRPRIiIUjd6qo0ZOv3)

* Время срабатывания правила - временной интервал фильтра
* Действие - одно из действий action (см. выше)
* Код оператора SIP - код провайдера, если звонок был отправлен на внешнюю линию
* КД маршрута - коммуникационный домен, в котором был выполнен маршрут
* Код вектора - код использованного вектора
* Тип КАФ - один из кодов абонентских функций featurecodetype (см.выше)
* Номер после КАФ - номер, который использовался в качестве аргумента при вызове КАФ
* ID звонка - идентификатор звонка
* ID маршрута - идентификатор маршрута
* ID КАФ - идентификатор кода абонентских функций

### Детальный просмотр информации о звонке

Для детального просмотра информации о звонке дважды кликните по любой  строке нужного звонка.

В окне содержится полная информация по маршруту, по которому успешный/ не успешный звонок прошел.

![](/files/-MFRPorrcNijruxqe64n)

### Экспорт таблицы в CSV

Нажмите на кнопку **Экспорт в CSV** для сохранения таблицы успешных звонков за все время.

![](/files/-MFRSW-czvXZN7OHF5hI)

После того как таблица будет сформирована, начнется автоматическое скачивание файла routes\_data\_table.csv


# История вызова Б

## Просмотр вызовов форков номеров

Раздел **История вызова Б** отображает информацию по попыткам вызова стороны Б (forking).&#x20;

![](/files/-MFRQHsGytTBIOyaGm8T)

### Описание полей таблицы "История вызова Б":

* id — Идентификатор звонка
* connecttousername — Номер абонента Б
* connecttotd — КД, в котором находится абонент Б
* connecttoipport — Сетевой адрес номера Б
* todirection — Местонахождение номера Б (Внешняя/ внутренняя линия)
* sipoperatorcode — Код оператора SIP, если местонахождение = outer
* preanswered — Получен предварительный ответ (18X). Возможные значение true - Да / false - Нет
* answered — Получен ответ (200). Возможные значение true - Да / false - Нет
* time — Время когда был отправлен Invite на сторону Б по текущему форку
* preansweredtime — Дата/Время получения предварительного ответа
* answeredtime — Дата/Время получения ответа (200)
* sipcode — SIP Код в финальном ответе на сторону А о причине невозможности вызова набранного номера
* reason — Причина. Текстовое описание причины невозможности вызова набранного номера. Этот текст также отправлен в SIP пакете инициатору.&#x20;
* storagesite — Название сайта

### Описание доступных фильтров

&#x20;Для раскрытия полного списка фильтров нажмите кнопку "Еще".

![](/files/-MFRQhBb06qo2nk_n60F)

* Время вызова - временной интервал фильтра
* Сетевой адрес Б - IP адрес форка стороны Б
* Код оператора SIP - код оператора SIP, в случае
* Получен предварительный ответ (18X) - введите true, для вывода звонков, в которых был получен ответ 18X, false - для тех, где этот ответ получен не был
* Получен ответ (200) - введите true, для вывода звонков, в которых был получен ответ 200, false - для тех, где этот ответ получен не был
* SIP код ответа - код SIP-ответа
* SIP Reason - значение SIP-ответа
* ID звонка - идентификатор звонка

### Детальный просмотр информации о звонке

Для детального просмотра информации о звонке дважды кликните по любой  строке нужного звонка.

В окне содержится полная информация по истории вызова абонента Б.

![](/files/-MFRR60R9X7Alb8kQ6Hx)

### Экспорт таблицы в CSV

Нажмите на кнопку **Экспорт в CSV** для сохранения таблицы успешных звонков за все время.

![](/files/-MFRSW-czvXZN7OHF5hI)

После того как таблица будет сформирована, начнется автоматическое скачивание файла side-b\_data\_table.csv


# ПР: Мониторинг

содержит информацию по мониторингу Аксател из рабочего коммуникационного домена

## Мониторинг коммуникационного домена

![](/files/-MIJb2_PDiBwxOSacHo2)

Осуществляется мониторинг домена, текущего состояния объектов и пользователей, разговоров а также сценариев. Имеет возможность сбора необходимых лог-файлов.

Основные предназначения:

* отслеживание текущего состояния различных сущностей
* &#x20;сбор необходимых логов по звонкам и сценариям
* моделирование работы маршрутизации и нормализации
* &#x20;возможность остановки выполнения служебных сценариев\\

<br>

## Рабочее окно Монитора

<br>

![](/files/-MIL0JmoVEfSTYMU6SXl)

Общий вид раздела

Запрос к мониторингу формируется из заполнения полей:

1\.          Объект. Выбирается из списка доступных объектов

2\.          Метод. Выбирается из списка доступных методов для выбранного объекта. Если у Объекта один метод, то он выбирается автоматически

3\.          Дополнительные поля для метода. Большинство полей являются опциональными. Если поле обязательное и не заполнено, то система не позволит получить данные и выдаст ошибку.&#x20;

Для выполнения запроса необходимо нажать по кнопке ![Показать](/files/-MIL0oKo3xjYj2ji1lsR). По выполнению в основном окне сформируется результат запроса или будет предложено сохранить сформированный файл (для получения логов).\
&#x20;Доступные форматы просмотра результата:

* &#x20;JSON
* Список
* Таблица
* Формированная таблица

### Формат результата в JSON

Результат запроса выводится в виде структурированной JSON структуры

![](/files/-MIL11s2onN9Lp1syzsF)

В структуру JSON возможно вносить изменения (в любом месте Результата можно кликнуть и внести текст). Кнопка ![Восстановить](/files/-MIL1I6c7EEmGLV8uIbX) позволяет "восстановить" структуру - убрать комментарии, незначащие символы, исправить кавычки, встроить объекты JavaScript

### Формат результата в списке

Результат запроса выводится в виде массива данных

![](/files/-MIL1Q4FSyMDWc-D-UGo)

Кнопки ![Развернуть](/files/-MIL1bOEd8k0j5nGAV4v) и ![Свернуть](/files/-MIL1cpf4jI3AvDeLJaw) в правом верхнем углу позволяют развернуть и свернуть сформированный список

### Формат результата в таблице

Результат запроса выводится в виде таблицы данных

![](/files/-MIL1iG7UVCav0Q9Oq76)

Таблица строится на базе сформированного списка и может содержать объединяющие ячейки в строках и столбцах.

### Формат результата в формированной таблице

Результат запроса выводится в виде таблицы данных без объединяющих ячеек. Позволяет copy/paste данные напрямую в другие приложения, работающие с таблицами (например, MS Excel).

Позволяет посмотреть состояние объектов и событий в реальном времени для коммуникационного домена.


# Трассировка звонков и сценариев

Данный объект предназначен для сбора логов по звонкам и сценариям.\
&#x20;Для звонков возможен сбор логов в форматах SVG, PlantUML, ZIP архив. Сбор логов осуществляется по любому звонку, последний SIP пакет в котором был менее 10 минут назад. Система автоматически включает в выборку все связанные звонки (правое/левое плечо, переводы и т.д.)

## Метод calls

Данные отображаются по всем звонкам (активным и завершенным), в рамках которых **за последние 10 минут** были SIP пакеты. Это основной метод получения информации по звонкам от системы, вне зависимости от того, был звонок успешным (разговор абонента А с абонентом B состоялся) или неуспешным.

![](/files/-MIL2TiAtqVo78lYLyw-)

В ответе выводятся данные по каждой ноде, которая обслуживает звонок. Основные ключи Результата:

| **Название**            | **Описание**                                                                      |
| ----------------------- | --------------------------------------------------------------------------------- |
| srvidx                  | Идентификатор роли (roleid).                                                      |
| role                    | Тип роли.                                                                         |
| node                    | Нода на которой запущена роль.                                                    |
| addr                    | Адрес ноды.                                                                       |
| online                  | Доступность ноды для сбора статистики.                                            |
| calls                   | Плечи звонков обслуживаемые ролью.                                                |
| calls.callid            | callid стороны А. Поле часто используется для последующего сбора логов по звонку. |
| calls.from              | uri стороны А                                                                     |
| calls.remoteip          | Адрес стороны Б.                                                                  |
| calls.tick              | Timestamp (в мс) получения запроса.                                               |
| calls.time              | Время получения запроса.                                                          |
| calls.to                | uri стороны Б.                                                                    |
| calls.media             | Данные об использовании медиа.                                                    |
| calls.media.mgc         | Ключ роли mgc обслуживающей стороны звонка                                        |
| calls.media.mgc\_srvidx | Идентификатор роли (roleid) mgc.                                                  |
| calls.media.mgc\_node   | Нода mgc.                                                                         |
| calls.media.mg          | Ключ используемой роли mg.                                                        |
| calls.media.msid        | Идентификатор sip-владельца медиа.                                                |
| calls.media.ctx         | Номер контекста.                                                                  |

## Метод trn

Собирает все SIP пакеты по звонку (все форки и плечи звонка).\
&#x20;Основной метод получения лог-файлов по звонкам от системы.\
&#x20;Результат может быть выведен в:

* &#x20;zip архив
* визуальную диаграмму uml (SVG файл)
* uml файл (plantUml файл)

![](/files/-MIL2y2P7fiU-_h869h6)

| **Название**                           | **Описание**                                                                                                                                                                                                                                                                         |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Сallid для сбора логов                 | callid по которому происходит поиск соответствий trn                                                                                                                                                                                                                                 |
| Список CallID для которых собрать логи | список callid по которому происходит поиск соответствий и сбор trn-логов всех звонков                                                                                                                                                                                                |
| Формат ответа                          | <ul><li>SVG диаграмма – страница содержащая plantuml диаграмма в формате svg.</li><li>файл в формате plantuml - текстовый файл формата UML для дальнейшего построения диаграммы</li><li>zip-архив trn-логов - сбор файлов лога, упаковка в zip-архив и загрузка в браузер.</li></ul> |

{% hint style="info" %}
На SVG-диаграмме при нажатии на время пакета отображается текст SIP-пакета.
{% endhint %}

## Метод scripts

Сбор логов по сценариям указанного типа с ролей на текущем сайте.

![](/files/-MIL3KB9aavsBYUwYnf2)

| **Название**        | **Описание**                                                                                                                                                                 |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Тип сценария        | <p>Тип сценария по которому необходимо собрать логи.<br>Возможные значения:</p><ul><li>IVR - сбор логов по IVR сценариям</li><li>SVC - сбор логов по SVC сценариям</li></ul> |
| Начало (мин. назад) | С какого момента начать сбор логов (количество минут в прошлое от текущего момента)                                                                                          |
| Продолжительность   | <p>Продолжительность лога для сборки в минутах. <br>Возможные значения от 1 до 1440.</p>                                                                                     |
| Код сценария        | <p>Код сценария по которому необходимо собрать логи. <br>Если не указан, то сбор по всем сценариям указанного типа</p>                                                       |


# Моделирование маршрутизации

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

### Метод apply

Отображает все проверенные маршруты и причины, почему правило не было использовано. Итоговый результат звонка идет в последней строке вывода.

![](/files/-MILAYIb87e2C94pw8WY)

Метод apply

| **Название**          | **Описание**                                                                                                                                                                                                                                                                                                |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Направление источника | <p>Направление источника звонка. Возможен выбор источника звонка из 2-х вариантов:</p><ul><li>Внутренний абонент - инициатор звонка является абонентом домена </li><li>Внешняя линия - звонок пришел в Аксател через Оператора SIP телефонии</li></ul>                                                      |
| КД источника звонка   | Коммуникационный домен, из которого инициирован звонок                                                                                                                                                                                                                                                      |
| Номер источника       | <p>Имя пользователя (логин) или номер источника звонка (абонента А).</p><ul><li>Для Направление источника = Внутренний абонент система определит sipuser, кто инициировал звонок.</li><li>Для Направление источника = Внешняя линия, система возьмет за номер источника, который пришел в Invite.</li></ul> |
| Набранный номер       | Номер, вызываемый абонентом-инициатором звонка (абонентом А)                                                                                                                                                                                                                                                |
| Код оператора SIP     | Для Направление источника = Внешняя линия указывается код Оператора SIP телефонии, откуда пришел звонок                                                                                                                                                                                                     |


# Моделирование нормализации номеров внешних линий

Данный объект позволяет моделировать работу правил модификации внешних линий (нормализация CalledNum, CallerNum при звонках через SIP-операторов).

### Метод apply

Отображает все правила модификации, которые были применены при звонке. Итоговый результат нормализации идет в последней строке вывода.

![](/files/-MILC4NYjmoGGhK8GVt8)

| **Название**                | **Описание**                                                                                                                                                                                                                                                                                         |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Домен моделирования         | Домен по которому необходимо посмотреть правила нормализации.                                                                                                                                                                                                                                        |
| Направление источника       | <p>Выбор источника звонка из 2-х вариантов:</p><ul><li>Внутренний абонент - инициатор звонка является абонентом домена Аксател</li><li>Внешняя линия - звонок пришел в Аксател через Оператора SIP телефонии</li></ul>                                                                               |
| КД источника                | Домен, в котором инициирован звонок.                                                                                                                                                                                                                                                                 |
| Номер источника             | <p>Имя пользователя (логин) или номер источника (абонента А).</p><ul><li>Для Направление источника = Внутренний абонент система определит sipuser, кто инициировал звонок.</li><li>Для Направление источника = Внешняя линия, система возьмет за номер источника, который пришел в Invite.</li></ul> |
| КД получателя               | Домен, в который направлен звонок                                                                                                                                                                                                                                                                    |
| Номер получателя            | Номер, вызываемый абонентом А                                                                                                                                                                                                                                                                        |
| Идентификатор оператора SIP | Необходимо указать код Оператора SIP телефонии (провайдера), откуда пришел звонок.                                                                                                                                                                                                                   |


# Моделирование нормализации звонков между доменами

Данный объект позволяет моделировать работу правил нормализации Номера А при звонках между абонентами разных доменов.

### Метод apply

Отображает все правила модификации, которые были применены при звонке. Итоговый результат нормализации идет в последней строке вывода.

![](/files/-MILD7G3eSBH1kIvhPtg)

| **Название**               | **Описание**                                                                  |
| -------------------------- | ----------------------------------------------------------------------------- |
| КД источника звонка        | Домен, в котором инициирован звонок.                                          |
| SIP логин источника звонка | Имя пользователя (логин) или номер источника (абонента А).                    |
| КД получателя              | Домен, в который направлен звонок                                             |
| Номер получателя           | Имя пользователя или номер в КД получателя, на которого будет отправлен вызов |


# Активные абоненты доменов

Данный объект отображает статистику по ролям с типом States (поддержка состояний объектов и пользователей).

### Метод currentload

Отображает учетные записи SIP, которые в данный момент зарегистрированы в запрашиваемом КД. Отображает состояние зарегистрированных учетных записей SIP.

![](/files/-MILDr-G4eUZ8Vj525kK)

| **Название**    | **Описание**                                                                                                                                                                       |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Модификатор     | <p>Режим отображения. Возможные значения:</p><ul><li> active - текущие состояния объектов в домене(по умолчанию).</li><li> count - количество резервированных состояний.</li></ul> |
| Название домена | <p>Домен, в котором будет выполнен запрос.</p><p>Применяется если вход выполнен в Мастер-Домене, а получить данные надо по-одному из рабочих КД.</p>                               |

Основные поля в ответе:

**username** - имя пользователя учетной записи SIP\
&#x20;**state** - текущее состояние учетной записи SIP

### Метод details

Отображает информацию по одному пользователю.

![](/files/-MILEDUOFOSglaYmRzQ0)

| **Название**             | **Описание**                                            |
| ------------------------ | ------------------------------------------------------- |
| Название Домена          | Домен, в котором будет выполнен запрос                  |
| Номер или Логин абонента | Номер или логин, по которому необходимо получить данные |


# Активные регистрации SIP-устройств

Данный объект отображает статистику по регистрациям учетных записей SIP и предоставляет возможность удалить (сбросить) определенную регистрацию.

### Метод active

Отображает учетные записи SIP, которые в данный момент зарегистрированы в запрашиваемом КД.

![](/files/-MILEgS2voBqY2YSB5Z9)

| **Название**    | **Описание**                                                                                                                                                                                                                              |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Название Домена | <p>Домен, в котором будет выполнен запрос.</p><p>Применяется если произведен вход в Мастер-Домен, а сбросить регистрацию надо в каком-то дочернем КД.</p><p>Либо если вход в КД, а получить данные надо по одному из его дочерних КД.</p> |

Основные поля в ответе:

•             **username** - имя пользователя учетной записи SIP

•             **addr** - IP-адрес SIP-клиента, если SIP-клиент за NAT, то отображается локальный внутренний адрес.

•             **expires** - время до момента перерегистрации

•             **path.domain** - IP-адрес SG

•             **path.port** - порт назначения, который использует SG для приема пакетов

•             **path.proto** - внутренний транспортный протокол между SG и B2BUA, всегда = TCP

•             **path.user** - внутренний идентификатор учетной записи SIP

•             **port** - исходящий порт, с которого SIP-клиент отправляет пакеты

•             **proto** - транспортный протокол, используемый между SIP-клиентом и SG

### Метод unregistered

Позволяет отобразить все незарегистрированные учетные записи по КД.

Если в запросе не указан desttd, то domain = домен,в котором делается запрос. Если desttd указан, то значение подставляется в поле domain

![](/files/-MILEwHqvSyGy76msQHM)

| **Название**    | **Описание**                                                                                                                      |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Название Домена | Домен, в котором будет выполнен запрос. Применяется если вход в Мастер-Домен, а сбросить регистрацию надо в каком-то дочернем КД. |

Основные поля в ответе:

* **sipusers: username** - имя пользователя учетной записи, которая в данный момент не зарегистрирована в КД.

### Метод count

Отображает количество всех зарегистрированных учетных записей у запрашиваемого КД и всех его дочерних доменов.

![](/files/-MILF7rxOSyTfs2AzSpm)

| **Название**    | **Описание**                                                                                                                      |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Название Домена | Домен, в котором будет выполнен запрос. Применяется если вход в Мастер-Домен, а сбросить регистрацию надо в каком-то дочернем КД. |

Основные поля в ответе:

* **total** - общее количество зарегистрированных учетных записей SIP
* **domains** - распределение регистраций по доменам

### Метод delete

Позволяет удалить все регистрации конкретной учетной записи SIP user\@domain или определенные регистрации пользователя udp:192.168.10.18:5062 у user\@domain

Если в запросе не указан desttd, то domain = домен,в котором делается запрос.\
Если desttd указан, то значение подставляется в поле domain

![](/files/-MILFMhFKRk4kI7QBOT-)

| **Название**    | **Описание**                                                                                                                                                                                      |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Название Домена | <p>Домен, в котором будет выполнен запрос.<br>Применяется если произведен вход в Мастер-Домен, а сбросить регистрацию надо в каком-то дочернем КД.</p>                                            |
| SIP Login       | Имя пользователя учетной записи SIP, у которой необходимо сбросить регистрацию                                                                                                                    |
| Контакты        | Указывается в формате proto:IP:Port если надо сбросить определенную регистрацию (-ии) у пользователя. Возможно указать несколько через запятую. Пример, udp:192.168.1.1:5060,tcp:192.168.2.2:5060 |


# Активные подписи на состояния (BLF)

\
Данный объект отображает статистику по ролям SUBSCR (подписки на состояния SIP-регистраций, например для BLF)

### Метод currentload

Отображает текущую загрузку объекта.

![](/files/-MILGEkGc-YNw-XJjY4k)

| **Название**    | **Описание**                                                                                                                                                               |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Модификатор     | <p>Режим отображения. Возможные значения:</p><ul><li>active - текущие подписки на состояния в домене (по умолчанию)</li><li>count - количество активных подписок</li></ul> |
| Название домена | <p>Домен, в котором будет выполнен запрос.<br>Применяется если вход выполнен в Мастер-Домене, а получить данные надо по одному из рабочих КД.</p><p></p>                   |

Основные поля в ответе:

•             **username** - имя пользователя учетной записи SIP, на кого оформлена подписка

•             **expires** - таймер обновления подписки

•             **key** - кто запросил подписку в формате

\<sip:username\@domain\_name:5060>;callid=....\@host;addr=host


# Активные сценарии

Данный объект отображает активные сценарии. Также доступен механизм остановки любого доступного сценария.

### Метод active

Отображает текущие активные сценарии.

![](/files/-MILH3-ZUyoWyHubM02X)

Основные поля в ответе:

* **node** - нода на которой был запущен скрипт
* **result** - результат выполнения запроса
* **scripts** - параметры сценариев:\
  **instc\_scrpid** - экземпляр владельца pid процесса\
  **instc\_id** - идентификатор сценария при его запуске\
  **type** - тип сценария\
  **code** - код сценария\
  **domain** - домен в котором запущен сценарий\
  **ownerpid** - владелец pid процесса (супервизор)\
  **starttime** - время старта сценария

#### Метод delete

Прекращает работу сценария.

![](/files/-MILHiugzMWScyRdJnq-)

| **Название**  | **Описание**                                                                           |
| ------------- | -------------------------------------------------------------------------------------- |
| Нода          | Имя ноды, где выполняется сценарий (node name)                                         |
| Тип сценария  | <p>Тип сценария для удаления. Возможные варианты:</p><ul><li>SVC</li><li>ICR</li></ul> |
| Идентификатор | Идентификатор сценария (Script ID)                                                     |

Основные поля в ответе:

* **pid** - идентификатор процесса
* **id** - идентификатор сценария


# Использование лицензий

Отображает информацию о лицензиях

### Метод currentload

Отображает текущую загрузку объекта

![](/files/-MILKT_aooQ8nr0Var0A)

| **Название**                          | **Описание**                                                                                                           |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| Модификатор                           | active - статус серверов.                                                                                              |
| Название домена                       | Имя КД по-которому вывести данные                                                                                      |
| Показывать используемые лицензии?     | <p>Показывать количество использованных лицензий в домене. Возможные значения:</p><ul><li>Нет</li><li>Да</li></ul>     |
| Показывать исп. лицензии в поддоменах | <p>Показывать количество использованных лицензий в поддоменах. Возможные значения:</p><ul><li>Нет</li><li>Да</li></ul> |
| Отображать КД                         | Фильтр по неактивным или незагруженным доменам                                                                         |


# Состояние очередей

Данный объект отображает информацию по абонентам, операторам и общей информации в очереди.

### Метод abons

Отображает информацию по абонентам в очереди, которые ожидают соединения с оператором.

| **Название** | **Описание**                      |
| ------------ | --------------------------------- |
| Код очереди  | Код очереди иди ID записи очереди |

Целевые показатели в ответе:

* **call\_id** - идентификатор звонка, который присутствует на всем пути обработки звонка разными ролевыми нодами (sg,b2bua,esg,conf,ivr)
* **number** - номер
* **position** - текущая позиция
* **qdt** - дата-время размещения в ожидании
* **qtimersec** - текущее время ожидания

**Пример ответа.**

```
{
   "hunts": {
     "usr7": [
       {
         "call_id": "rB2-sej-AVP6jV-01-c47114f562f04028aee12595db3eefdf",
         "id": "388e7be6-0167-1177-a548-0050560130be",
         "number": "209",
         "position": 1,
         "qdt": "2018-11-14 09:05:13",
         "qtimersec": 4
       },
       {
         "call_id": "rB2-sej-ANHUQq-01-3552329492@192.168.0.203",
         "id": "2bee28be-0167-1177-aa45-0050560130be",
         "number": "202",
         "position": 2,
         "qdt": "2018-11-14 09:05:14",
         "qtimersec": 3
       }
     ]
   }
 }
```

### Метод info

Отображает общую информацию по абонентам в очереди, которые ожидают соединения с оператором.

Структура запроса:

| **Название** | **Описание**                      |
| ------------ | --------------------------------- |
| Код очереди  | Код очереди иди ID записи очереди |

Целевые показатели в ответе:

•             **abons** - количество абонентов, которые ждут соединения с оператором

•             **maxqdt** - дата-время размещения в ожидании

•             **maxqtimersec** - максимум времени ожидания в очереди

**Пример ответа.**

```
{
   "hunts": {
     "usr7": [
       {
         "abons": 2,
         "maxqdt": "2018-11-14 09:15:42",
         "maxqtimersec": 8
       }
     ]
   }
 }
```

### Метод states

Отображает информацию по операторам.

Структура запроса:

| **Название** | **Описание**                      |
| ------------ | --------------------------------- |
| Код очереди  | Код очереди иди ID записи очереди |

Целевые показатели в ответе:

•             **sipuser** - логин учетной записи SIP

•             **sipusernumber** - телефонный номер учетной записи SIP

•             **state** - BLF-состояние

&#x20;   –            **registered** - зарегистрирован и свободен

&#x20;   –            **early** - звонит устройство.

&#x20;    –            **busy** - в диалоге с абонентом.

**Пример ответа.**

```
{
   "hunts": {
     "usr7": [
       {
         "sipuser": "usr7",
         "sipusernumber": "204",
         "state": "registered"
       },
       {
         "huntblock": {
           "enable": true,
           "finishdt": "2018-11-14T09:37:46Z",
           "reason": ""
         },
         "sipuser": "usr9",
         "sipusernumber": "209",
         "state": "huntblock"
       }
     ]
   }
 }
```


# ПР: Журнал звонков

В данной статье мы подробно расскажем о ролевом приложении Журнал звонков.

Ролевое приложение имеет следующие функции:

* просмотр информации о звонке
* просмотр статистики звонков
* прослушивание записей разговоров
* возможность скачать запись разговора
* возможность просматривать статистику в виде диаграммы
* просмотр шкалы времени

## Вход в приложение

Для того чтобы зайти в приложение авторизуйтесь в вашем домене и на главном экране веб-интерфейса, откройте ролевое приложение **Журнал звонков**.

![](/files/-MFkPH3YGWvSkpgWUL8S)

Так же зайти в приложение можно по прямой ссылке вида -  **http(s)://{Ваш домен}/**&#x61;pp/bizstat

Подробное описание каждого раздела ролевого приложения **Журнал звонков** доступно по ссылкам ниже.

{% content-ref url="/pages/-MBz-UDALGYqnMm1Ygbu" %}
[Журнал](/administrirovanie-telefonnoi-stancii/pr-zhurnal-zvonkov/zhurnal)
{% endcontent-ref %}

{% content-ref url="/pages/-MBz-XhAXf8OG\_-I3j4P" %}
[Диаграммы](/administrirovanie-telefonnoi-stancii/pr-zhurnal-zvonkov/diagrammy)
{% endcontent-ref %}

{% content-ref url="/pages/-MBz0DKjohYZvFn7pnjc" %}
[Шкала времени](/administrirovanie-telefonnoi-stancii/pr-zhurnal-zvonkov/shkala-vremeni)
{% endcontent-ref %}


# Журнал

## Просмотр журнала звонков

После входа в раздел отображается список звонков за трое  суток.

![](/files/-MFkQndrqd9eb3JPyk6F)

### Описание полей таблицы Журнал

* Дата - дата и время начала звонка
* Тип - успешный или неуспешный и направление звонка внутренний/внешний
* Абонент А - номер абонента, кто инициализировал звонок
* Набрано - набранный номер абонентом А
* Абонент Б - номер абонента, с которым произошла коммутация
* В разговоре, сек - время разговора
* Ожидание, сек - время ответа. Поднятие трубки со стороны Б
* Старт - время начала звонка
* Стоп - время окончания звонка
* Записан - Да - разговор записан; Нет - разговор не записан.

### Описание доступных фильтров

![](/files/-MFkTF3vMzgRF3nUVjBe)

* Дата -&#x20;
* Время - временной интервал фильтра
* Тип -  все типы, внутренний - внутренний, внутренний - внешний, внешний - внутренний, внешний - внешний, неуспешный
* Время в разговоре - временной интервал в секундах
* Внутренний абонент - созданные пользователи в системе
* Внешний номер - номер за пределами КД
* Лимит строк - количество выводимых строк на страницу

### Прослушивание и скачивание звонка

&#x20;Для того чтобы прослушать звонок, нажмите на любое поле нужной строки.

![](/files/-MFkVg0sG-jKLw1Y7JBT)

{% hint style="info" %}
Плеер запустится только если разговор записан
{% endhint %}

Чтобы скачать звонок, нажмите на  <img src="/files/-MFkX8GuuTLL0se_aPz7" alt="" data-size="original">  и в сплывающем окне нажмите на кнопку Скачать.

![](/files/-MFkXOnOpQczF2yoFKnM)


# Диаграммы

В данном разделе строятся диаграммы в зависимости от выбранных параметров в фильтре на вкладке Журнал.

В поле Вид задается параметр построения.

### По дням

Отображается количество звонков по выбранным датам.

![](/files/-MFkZwMxLt2reWAwPMpB)

### По часам

Отображается количество звонков по выбранным датам отсортированным по времени.

![](/files/-MFk_WY8FAkBMKng05b3)

### По линиям

Диаграмма успешных звонков

![](/files/-MFk_kb7JCS8Wy7u-v6l)

### По операторам

Диаграмма процентного соотношения звонков по операторам

![](/files/-MFkaQp7ps5I0303VufS)


# Шкала времени

Шкала времени отображает время и количество звонков в заданный период фильтра.

![](/files/-MFoi3FOcZW0shLoQLDq)

При выборе определенного времени происходит переход на вкладку **Журнал** с изменением фильтра для заданного интервала.&#x20;

![](/files/-MFok-upmdC5bP26CU9s)


# Часто задаваемый вопросы


# Прием факса

Для того чтоб  принять факс и отправить его на электронную почту, Вам нужно нажать кнопку Transfer и ввести код **\*39\***\
После этого факс будет перенаправлен на специальный сценарий который сохранит принимаемый документ в виде файла и отправит на указанный почтовый ящик.


# Настройка электронной почты для отправки факса

Для того чтобы факс был отправлен на ваш электронный ящик необходимо настроить почтовый адрес в **Настройка > Обработка звонков > IVR сценарии > 002IVR**.

Нажмите на компонент  Отправка e-mail и введите данные.

![](/files/-MHmH3g4KW4OCZUVWHx6)

Протокол - SMTP\
Адрес сервера - smtp.yandex.ru\
Порт сервера - 465\
Логин - <mylogin@yandex.ru>\
Пароль - пароль от почты\
От кого - почта отправителя\
Кому - почта получателя\
Тема - тема письма\
Текс - текст письма<br>

Нажмите на кнопку **Сохранить** для сохранения настроек.


# О качестве связи


# О переводах звонков


# SIP ответы и их значения

Определено шесть типов ответов, несущих разную функциональную нагрузку.\
Тип ответа кодируется трехзначным числом. Самой важной является первая цифра, которая определяет класс ответа, остальные две цифры лишь дополняют первую.

Все ответы делятся на две группы: **информационные** и **финальные**.\
\
Информационные ответы показывают, что запрос находится в стадии обработки. \
Они кодируются трехзначным числом, начинающимся с единицы, - 1хх.\
\
Финальные ответы кодируются трехзначными числами, начинающимися с цифр 2, 3, 4, 5 и 6. Они означают завершение обработки запроса и содержат, когда это нужно, результат обработки запроса.

### 1xx = информационные ответы

SIP/2.0 100 Trying - запрос обрабатывается\
SIP/2.0 180 Ringing - местоположение вызываемого пользователя определено. Выдан сигнал о входящем вызове\
SIP/2.0 181 Call is Being Forwarded - прокси,сервер переадресует вызов к другому пользователю\
SIP/2.0 182 Call is Queued - вызываемый абонент временно не доступен, вызов поставлен в очередь\
SIP/2.0 183 Session Progress - используется для того, чтобы заранее получить описание сеанса информационного обмена от шлюзов на пути к вызываемому пользователю

### 2xx = ответы о завершении запроса

SIP/2.0 200 OK - успешное завершение\
SIP/2.0 202 Accepted - запрос принят для обработки Используется для справки о состоянии обработки

### 3xx = сообщения о переадресации

SIP/2.0 300 Multiple Choices - указывает несколько SIP-адресов, по которым можно найти вызываемого пользователя\
SIP/2.0 301 Moved Permanently - вызываемый пользователь больше не находится по адресу, указанному в запросе\
SIP/2.0 302 Moved Temporarily - пользователь временно сменил местоположение\
SIP/2.0 305 Use Proxy - вызываемый пользователь не доступен непосредственно, входящий вызов должен пройти через прокси-сервер\
SIP/2.0 380 Alternative Service - запрошенная услуга недоступна, но доступны альтернативные услуги

### 4xx = невозможность обработать запрос

SIP/2.0 400 Bad Request - запрос не понят из-за синтаксических ошибок в нем, ошибка в сигнализации, скорее всего что-то с настройками оборудования\
SIP/2.0 401 Unauthorized - нормальный ответ сервера о том, что пользователь еще не авторизировался; обычно после этого абонентское оборудование отправляет на сервер новый запрос, содержащий логин и пароль\
SIP/2.0 401 Expired Authorization - время регистрации истекло\
SIP/2.0 402 Payment Required - требуется оплата (зарезервирован для использования в будущем)\
SIP/2.0 403 No Such User - нет такого пользователя, ошибка в номере, логине или пароле\
SIP/2.0 403 User Disabled - пользователь отключен\
SIP/2.0 403 Wrong Guess - ошибка в пароле\
SIP/2.0 403 Conflict - такой SIP-номер уже используется\
SIP/2.0 403 Forbidden - абонент не зарегистрирован\
SIP/2.0 403 Empty Route Set - нет ни одного шлюза в роутинге\
SIP/2.0 403 Caller Not Registered - нет такого пользователя\
SIP/2.0 403 Out of Look-Ahead Retries - перебор узлов закончен\
SIP/2.0 403 Invalid Phone Number - нет такого направления\
SIP/2.0 403 No Money Left on RFC Account - на счету нет денег для совершения звонка\
SIP/2.0 404 Not found - вызываемый абонент не найден, нет такого SIP-номера\
SIP/2.0 404 Undefined Reason - неопределенное направление\
SIP/2.0 404 Unknown user account - логин и пароль не найдены\
SIP/2.0 404 Out of Order - в заявке на маршрутизацию по этому направлению нет ни одного шлюза, проверьте настройку маршрутизации по этому направлению.\
SIP/2.0 405 Method Not Allowed - метод не поддерживается, может возникать если пользователь пытается отправлять голосовую почту и т.п.\
SIP/2.0 406 No codecs match - неправильная конфигурация кодеков\
SIP/2.0 406 Not Acceptable - пользователь не доступен\
SIP/2.0 407 Proxy Authentication Required - необходима аутентификация на прокси-сервере\
SIP/2.0 408 Request Timeout - время обработки запроса истекло: Абонента не удалось найти за отведенное время\
SIP/2.0 408 Login timed out - за отведенное время не получен ответ от сервера на запрос авторизации\
SIP/2.0 410 No Route - вариант \
SIP/2.0 403 Empty Route Set; нет доступа к ресурсу: Ресурс по указанному адресу больше не существует\
SIP/2.0 413 Request Entity Too Large - размер запроса слишком велик для обработки на сервере\
SIP/2.0 415 No Media - звонок совершается неподдерживаемым кодеком\
SIP/2.0 416 Unsupported Scheme - сервер не может обработать запрос из-за того, что схема адреса получателя ему непонятна\
SIP/2.0 420 Bad extension - неизвестное расширение: Сервер не понял расширение протокола SIP\
SIP/2.0 421 Extension Required - в заголовке запроса не указано, какое расширение сервер должен применить для его обработки\
SIP/2.0 423 Interval Too Brief - сервер отклоняет запрос, так как время действия ресурса короткое\
SIP/2.0 480 Invalid Phone Number - неправильный номер телефона, не соответствует к-во цифр или неправильный код страны или города\
SIP/2.0 480 Destination Not Found In Client Plan - направления нет в тарифном плане абонента\
SIP/2.0 480 Wrong DB Response - проблемы с центральной базой сети\
SIP/2.0 480 DB Timeout - проблемы с центральной базой сети\
SIP/2.0 480 Database Error - проблемы с центральной базой сети\
SIP/2.0 480 Codec Mismatch - несоответствие кодеков\
SIP/2.0 480 No Money Left on RFC Account - нет денег на счету, обратитесь к администратору сети!!!\
SIP/2.0 480 Empty Route Set - пустое направление, нет принемающих шлюзов\
SIP/2.0 480 No money left - недостаточно денег на счете\
SIP/2.0 480 Temporarily Unavailable - временно недоступное направление попробуйте позвонить позже\
SIP/2.0 481 Call Leg/Transaction Does Not Exist - действие не выполнено, нормальный ответ при поступлении дублирующего пакета\
SIP/2.0 482 Loop Detected - обнаружен замкнутый маршрут передачи запроса\
SIP/2.0 483 Too Many Hops - запрос на своем пути прошел через большее число прокси-серверов, чем разрешено\
SIP/2.0 484 Address Incomplete - принят запрос с неполным адресом\
SIP/2.0 485 Ambiguous - адрес вызываемого пользователя не однозначен\
SIP/2.0 486 Busy Here - абонент занят\
SIP/2.0 487 Request Terminated - запрос отменен, обычно приходит при отмене вызова\
SIP/2.0 488 Codec Mismatch - нет шлюзов с поддержкой заказанного кодека\
SIP/2.0 488 Private IP Address - адрес RTP media из сетей RFC1918\
SIP/2.0 491 Request Pending - запрос поступил в то время, когда сервер еще не закончил обработку другого запроса, относящегося к тому же диалогу\
SIP/2.0 493 Undeciperable - сервер не в состоянии подобрать ключ дешифрования: невозможно декодировать тело S/MIME сообщения\
SIP/2.0 499 Codec Mismatch - отсутствует кодек

### 5xx = ошибки сервера

SIP/2.0 500 Internal Server Error - внутренняя ошибка сервера\
SIP/2.0 500 DB Timeout - нет ответа от базы данных\
SIP/2.0 500 Database Error - то же самое, но в другой момент\
SIP/2.0 500 Wrong DB Response - неправильный ответ базы данных, редкая ошибка\
SIP/2.0 500 Undefined Reason - неопределенная причина\
SIP/2.0 500 account has been moved to a remote system - аккаунт перенесен в удаленную систему (дословно)\
SIP/2.0 501 Method Not Supported Here - в сервере не реализованы какие-либо функции, необходимые для обслуживания запроса: Метод запроса SIP не поддерживается\
SIP/2.0 502 Bad Gateway - сервер, функционирующий в качестве шлюза или прокси-сервера, принимает некорректный ответ от сервера, к которому он направил запрос\
SIP/2.0 503 Service Unavailable - сервер не может в данный момент обслужить вызов вследствие перегрузки или проведения технического обслуживания\
SIP/2.0 504 Server time-out - сервер не получил ответа в течение установленного промежутка времени от сервера, к которому он обратился для завершения вызова\
SIP/2.0 505 SIP Version not supported - версия не поддерживается: Сервер не поддерживает эту версию протокола SIP\
SIP/2.0 513 Message too big - сервер не в состоянии обработать запрос из-за большой длины сообщения

### 6xx = глобальная ошибка

SIP/2.0 600 Busy everywhere - вызываемый пользователь занят и не желает принимать вызов в данный момент\
SIP/2.0 603 Decline - вызываемый пользователь не желает принимать входящие вызовы, не указывая причину отказа\
SIP/2.0 604 Does Not Exist Anywhere - вызываемого пользователя не существует\
SIP/2.0 606 Not Acceptable - соединение с сервером было установлено, но отдельные параметры, такие как тип запрашиваемой информации, полоса пропускания, вид адресации не доступны


# Список изменений


# Ролевые приложения

Ролевое приложение представляет собой Web-приложение, которое загружается в домен Аксател. Права доступа пользователей определяются ролевыми политиками безопасности в рамках Домена.

{% content-ref url="/pages/-MGK8TxSHaT5gXzzsItf" %}
[Создание ролевого приложения](/razrabotchikam/sozdanie-rolevogo-prilozheniya)
{% endcontent-ref %}

{% content-ref url="/pages/-MGKXlin4dyNJtSvcr1h" %}
[Установка ролевых приложений](/razrabotchikam/ustanovka-rolevykh-prilozhenii)
{% endcontent-ref %}

{% content-ref url="/pages/-MGrY0KIE\_Gez0UsSf\_I" %}
[Канал статистики](/razrabotchikam/untitled)
{% endcontent-ref %}


# Создание ролевого приложения

в статье содержится инструкция и пример по созданию Ролевого приложения и загрузки его в домен.

## Введение

Ролевое приложение представляет собой Web-приложение, которое загружается в домен Аксател. Права доступа пользователей определяются ролевыми политиками безопасности в рамках Домена.

Каждое Ролевое приложение имеет связанный SVC сценарий, который выполняет задачи вычислений и предоставления данных для отображения в Ролевом приложении конечному пользователю. Запуск сценария происходит через выполнение REST запроса /exec

Ролевое приложение работает после успешной аутентификации пользователя в домене Аксател.

## Файл ролевого приложения

Ролевое приложение представляет из себя zip-архив, который будет распакован на сервере при установке.

Архив содержит в себе две значимые части:

1. Файл **roleapp.json**
2. Непосредственно web-приложение, выполняемое на стороне браузера

Пример структуры файлов Ролевого приложения

![](/files/-MGrQLY_Qccm2KG_Kfn_)

{% file src="/files/-MGsZjv5LoQ0XnAHl1-3" %}
Пример ролевого приложения
{% endfile %}

Файл **roleapp.json** в корне архива содержит описание приложения. Как правило все файлы приложения находятся также в корне архива (index.html и другие).

### Файл roleapp.json

Должен быть валидным json файлом, размер которого не превышает 10Kb.\
Пример json файла.

```
{
 "name": "Roleapp Sample",
 "description": "Monitor (old) as RoleApp description",
 "order": 5000,
 "fa-icon": "fa-paw",
 "iconPath": "assets/desktop.svg"
}
```

| Название    | Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name        | <p>Название ролевого приложения. Значение поля будет использовано для названия ролевого приложения в списке если администратор оставил поле "title" объекта ролевого приложения пустым.</p><p>Тип поля – строка</p><p>Обязательная переменная</p>                                                                                                                                                                                                                                                                                           |
| description | <p>Описание ролевого приложения. Значение будет доступно через <a href="http://r2demo.rostell.ru/docs/r/develop/api/rest/v1/iam/sessions.html#get_current">/rest/v1/iam/sessions/current</a>.</p><p>Тип поля – строка</p><p>Обязательная переменная</p>                                                                                                                                                                                                                                                                                     |
| order       | <p>Порядок ролевого приложения при сортировке для отображения в списке. Администратор может принудительно его задать в поле ext.order объекта roleapp.</p><p>Тип поля – число</p><p>Необязательная переменная</p>                                                                                                                                                                                                                                                                                                                           |
| fa-icon     | <p>имя класса иконки Font Awesome.</p><p>Необязательная переменная</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| iconPath    | <p>путь до иконки для списка приложений относительно папки ролевого приложения.</p><p>Обязательная переменная</p>                                                                                                                                                                                                                                                                                                                                                                                                                           |
| folder      | <p>Подпапка внутри архива в качестве папки с web-документами (по-умолчанию используется весь архив от корня)</p><p>Необязательная переменная</p><p>Если указан, то в результате по url’у установленного приложения будет доступен не корень архива, а эта подпапка (в url не появляется).</p><p>Например, если “folder”:”dist”, то index.html должен быть размещен в подпапке dist и файл roleapp.json нельзя будет получить из прямого URL (/app/appname/roleapp.json )</p><p>├── dist</p><p>│   └── index.html</p><p>└── roleapp.json</p> |

## Установка ролевого приложения

1. Необходимо создать **SVC сценарий**
2. Создать **RoleApp** приложение
   * Раздел «Обработка сервиса» - «Ролевые приложения»
   * Новый объект
     * Путь приложения – уникальный путь в рамках текущего домена
     * Название приложения – как приложение будет отображаться на главной странице после авторизации
     * Права доступа – указать все права (роли) которым разрешен доступ к этому приложению
     * **SVC сценарий** – выбрать необходимый SVC сценарий
3. Загрузить zip архив с **RoleApp**

* Получить ID Ролевого приложения (после создания открыть карточку на редактирование и скопировать id)
* Открыть Talend API Tester (Restlet) addon в браузере и методом PUT загрузить файл

![](/files/-MH6AHNlwNBVA3FQOgXW)

* * **Method** = put
  * **URL** = [http://demo.axatel.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment](http://demo.rostell.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment)
    * [http://demo.axatel.ru](http://demo.rostell.ru/) = URL WS
    * **/rest/v1/domain/roleapps/** = constant
    * **daee4ff3-0170-4032-d6ca-fa163eec3818** = RoleApp ID
    * **/attachment** = constant
  * **Content-Type** = multipart/form-data<br>

Также загрузить файл можно через curl (нужна сессионная куки)

curl -b curl-worker.cookies \ -X PUT \ -F 'file=@roleapp\_sample.zip' <http://demo.axatel.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment>

4\.  Проверить корректность загруженного файла можно через запрос на тот же адрес но с \
Method = GET. В результате браузер должен скачать файл attachment (переименовать в attachment.zip и он будет равен первоначально загруженному файлу)

После установки ролевого приложения И корректной связи по ролевым меткам оно появляется в списке приложений на главной странице (страница после авторизации или по клику на логотипе Аксател).

## Результат установки

Приложение становится доступным на основной странице Аксател (после аутентификации и при клике на логотипе Аксател).

URL установки не известен автору приложения заранее – Путь приложения определяет администратором в момент установки. Это позволяет установить, например, разные версии одного ролевого приложения в разные папки и пользоваться ими одновременно.

Для корректной работы необходимо ссылаться на ресурсы ролевого приложения по относительным путям, например:

```
<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="utf-8">
 <title>R.API Monitor</title>
 <link rel="stylesheet" href="css/jsoneditor.min.css">
 <script src="js/jsoneditor.min.js"></script>
 <script src="js/jquery-3.1.1.min.js"></script>
 <script src="js/aes-js.js"></script>
 <script src="js/base64.js"></script>
 <script src="monitor.js"></script>
```

Ресурсы будут загружаться из папок **…/css/, …/js/** и т.д. или напрямую из папки ролевого приложения как **…/monitor.js**.

Если есть необходимость использовать полный путь ссылок, то из переменной **window\.location.pathname** в **javascript** можно это выяснить. \
Например,

```
<html>
 <body>
 <h1>Role Application "Def2".<h1>
 <div id="abc"></div>
 <script>
 console.log('1');
 (function() {
 var path = window.location.pathname;
 console.log('path = ', path);
 document.getElementById('abc').innerHTML = path;
 })();
 console.log('2');
 </script>
 </body>
</html>
```


# Установка ролевых приложений

Установка ролевого приложения  на примере приложения  **Журнал звонков**.

1. Авторизуйтесь в домене на который будет устанавливаться приложение.

![](/files/-MGnBvtk3Mi1PJWqPWfL)

2\. Откройте в соседней вкладке браузера приложение  [**Talend API Tester (Restlet) addon**](https://chrome.google.com/webstore/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm?hl=ru)**.**\
Выполните POST-запрос.

![](/files/-MGnpM8_qE6u8l95sSd8)

**Method**  - POST\
**URL**  - http\://\<domain>/rest/v1/domain/roleapps \
**Content-type** - application/json

**Body** - Text

```
	{
		"folder": "bizstat",
		"id": "feaa6bae-0172-337f-c5fb-005056011d6",
		"roles": ["stat"],
		"svcscriptcode": "core_statistic_channel",
		"title": "Журнал звонков"
	}
```

3\. Если все данные указаны верно в ответ будет получен  Response **200 OK**.

![](/files/-MGnDtG5E9tS4miPddEU)

4\. Таким же образом выполните PUT-запрос.

![](/files/-MGnpQgaf1UhqlIihaaS)

**Method**  - Put\
**URL** = http\://\<domain>/rest/v1/domain/roleapps/feaa6bae-0172-337f-c5fb-005056011d6c/attachment\
**Content-type** - multipart/form-data\
**Body** - Form\
Задайте любое имя и прикрепите файл приложения.

5\. Если все данные указаны верно в ответ будет получен Response **204 No Content**.

![](/files/-MGnGmeqjZHsjXonZ2pv)

6\. Проверить корректность загруженного файла можно с помощью запроса GET.\
В результате будет предложено скачать файл который будет равен первоначальному загруженному файлу.

![](/files/-MGnpVs20G74UY0GEclE)

{% hint style="info" %}
Таким же образом вы можете скачать любое установленное приложение с одного домена и загрузить его в другой домен
{% endhint %}

7\. Через несколько минут, приложение появится на главной странице Axatel.

![](/files/-MGnId-c56Q_5_9Z-8yW)


# Канал статистики

Содержит описание канала статистики для Ролевого приложения Аксател

## **Концепция решения**

Ролевое приложение или внешний сервис (далее Визуальный Интерфейс) делает запрос по http методом POST на получение данных для хронологических отчетов и оперативных дашбордов.\
Все запросы обрабатываются служебным сценарием и возвращаются данные.\
Задачи отображения данных лежат на визуальном интерфейсе.

## **Протокол взаимодействия**

Все запросы инициируются только Визуальным Интерфейсом. На каждый запрос возвращается один и только один ответ, содержащий запрашиваемую информацию или отчет об ошибке.

### **Запрос**

Все запросы делаются на адрес

•    для Ролевого Приложения описано в администрировании

•    для Внешнего сервиса через token интеграционного канала

Метод запроса POST Content-type application/json; charset=utf-8 Body содержит сам запрос в формате json в виде

```
{
"entity":"text",
"action":"text",
"options": {"key":"value"}
}
```

| **Поле** |   | **Описание**                                                                                                               |
| -------- | - | -------------------------------------------------------------------------------------------------------------------------- |
| entity   |   | определяет раздел запроса.                                                                                                 |
| action   |   | определяет действие внутри entity.                                                                                         |
| options  |   | содержит дополнительные параметры запроса в зависимости от entity и action и детально описан в разделе по каждому запросу. |

### **Ответ**

Ответ в формате json.

```
{
"success":true/false,
"error":null/"text",
"data": null/"text"
}
```

| **Поле** | **Описание**                                                                                                                                                                                                              |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| success  | <p>возвращает признак корректности выполнения запроса<br></p><p> • true = запрос выполнен без ошибок, результат в поле data</p><p>• false = запрос выполнен с ошибкой. Текст ошибки в поле error</p>                      |
| error    | Поле содержит описание ошибки (если success == false) или констрантно равно null (если success == true)                                                                                                                   |
| data     | Поле содержит запрашиваемые данные (если success == true) или констрантно равно null (если success == false). При корректном выполнении запроса формат зависит от запроса и детально описан в разделе по каждому запросу. |

## **Запросы хронологиской статистики**

### **Запрос данных для отображения**

Выполняет команду Select для получения блока данных из таблиц (подробно в Структура хронологических таблиц) Может содержать любые агрегации выборки в формате языка postgre sql.

**Body** **запроса**

```
{
"entity":"chronological",
"action":"data",
"options": {"psql":"тело  запроса  выборки  в  psql формате"}
}
```

{% hint style="info" %}
Поле **options.psql** должно начинаться с **Select**. Иначе будет возвращена ошибка выполнения.
{% endhint %}

**Успешный** **ответ**

```
{
"success":true,
"error":null,
"data": []
}
```

В поле **data** будет возвращен массив запрашиваемых данных

**Пример**

**Запрос**

```
{
"entity":"chronological",
"action":"data",
"options": {"psql":"select
inviteid,anumber,acallednum,bnumber,duration,stopreason from calls.success limit
2"}
}
```

**Ответ**

```
{
"success":true,
"error":null,
"data":
[
{
"inviteid": "a72866b5-0631-87dd-2624-0900000334b5",
"anumber": "205",
"acallednum": "375291831767",
"bnumber": "375291831767",
"duration": 19,
"stopreason": "<<\"Bye from side a\">>"
},
{
"inviteid": "cb1a456e-0631-883c-c444-5c00000334b5",
"anumber": "205",
"acallednum": "375291831767",
"bnumber": "375291831767",
"duration": 22,
"stopreason": "<<\"Bye from side a\">>"
}
]
}
```

### **Запрос количества данных**

Для получения количество строк удовлетворяющих **Select** необходимо выполнить запрос получения количества строк.

**Body** **запроса**

```
{
"entity":"chronological",
"action":"quantity",
"options": {"psql":"тело  запроса  получения  количества  строк  выборки  в  psql
формате"}
}
```

{% hint style="info" %}
Поле **options.psql** должно начинаться с **select** count. Иначе будет возвращена ошибка выполнения
{% endhint %}

**Успешный** **ответ**

```
{
"success":true,
"error":null,
"data": number
}
```

В поле **data** будет возвращено количество найденных строк в **int**

**Пример**

Запрос

```
{
"entity":"chronological",
"action":"data",
"options": {"psql":"select count (inviteid) from calls.success"}
}
```

Ответ

```
{
"success":true,
"error":null,
"data": 835
}
```

Для получения количества строк можно использовать action=data. В этом случае в поле data ответа будет **\[{"count":835}]**

## **Запрос файла записи разговора**

Запись разговора запрашивается напрямую из системы без сценария-обработчика.

#### **Инфо по записи разговора**

> method = HEAD\
> url = \[fqdn]/rest/v1/journal/calls/\<id>/attachment1 \<id> = inviteid звонка

**Успешный ответ**

> SIP Code = 200

В заголовках ответа содержится информация

content-type: audio/mpeg \
content-length: 50 kilobytes

Неуспешный ответ

| SIP Code | Причина         |
| -------- | --------------- |
| 404      | Файл не найден  |
| 403      | Доступ запрещен |

**Получение записи разговора**

> method = GET\
> url = \[fqdn]/rest/v1/journal/calls/\<id>/attachment1?attachment=true/false\
> **<**&#x69;d> = inviteid звонка\
> attachment=true\
> &#x20;    ответ  выдается  с  заголовком\
> &#x20;       Content-Disposition: attachment; filename\*=UTF-8''FILENAME.EXT\
> &#x20;       ,    где  FILENAME.EXT – имя  и  расширение  файла  в  UrlEncoding,\
> &#x20;   сделано  для  скачивания  браузером\
> attachment=false\
> &#x20;   выдается  с  Content-Type, соответствующим  mime-type расширения  файла.\
> &#x20;   сделано  для  проигрывания  средствами  браузера

{% hint style="info" %}
Если запрос без **?attachment**, то поведение аналогичное **?attachment=false**
{% endhint %}

**Успешный ответ**

**Для \`attachment=false'**

> SIP Code = 200

В заголовках ответа содержится информация

> content-type:          audio/mpeg\
> content-length: 50 kilobytes

В  body возвращается файл записи

**Для** **\`attachment=true'**&#x20;

> SIP Code = 200

В  заголовках ответа содержится информация

> content-length: 50 kilobytes\
> &#x20;content-type: audio/mpeg \
> content-disposition: attachment; filename=mg1\_1711382410-1589448421120.mp3

В body возвращается файл записи

Неуспешный ответ

| SIP Code | Причина         |
| -------- | --------------- |
| 404      | Файл не найден  |
| 403      | Доступ запрещен |

## **Структура хронологических таблиц**

Для составления хронологических отчетов доступны следующие схемы

| **Схема**       | **Описание**                                   |
| --------------- | ---------------------------------------------- |
| alertcallevents | События по системе обзвона и оповещения        |
| calls           | События по звонкам                             |
| ivrhuntq        | События по обработке звонков в очередях        |
| ivrhuntqevents  | События по состоянию объектов очередей         |
| products        | Дополнительные продуктовые данные              |
| providerevents  | События по состояниям внешних линий связи (SIP |
| scriptevents    | События по сценариям                           |
| selectorevents  | События по селекторным совещаниям              |
| sipuserevents   | События по сотояниям sip абонентов             |
| sipusers        | События по активностям sip абонентов           |
| userevents      | События по активностям пользователей           |

### **Схема alertcallevents**

Позволяет получить все события по системе оповещения и массового автоматизированного обзвона.

Состоит из таблиц

| Таблица         | Описание |
| --------------- | -------- |
| callinited      |          |
| callpreanswered |          |
| callapproved    |          |
| statechanged    |          |
| prepared        |          |
| callrejected    |          |
| callstarted     |          |
| callanswered    |          |
| callfailed      |          |
| callfinished    |          |

### ![](file:///C:/Users/Alexader/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png)**Схема calls**

Позволяет получить статистические данные по звонкам. Состоит из таблиц

| **Таблица** | **Описание**                                                                             |
| ----------- | ---------------------------------------------------------------------------------------- |
| success     | Записи по успешным звонкам (был разговор)                                                |
| cancelled   | Записи по звонкам, у которых разговор не состоялся (пропущенные, не дозвонился и прочее) |
| failed      | Записи у которых не было вызова стороны В                                                |
| holds       | Информация по постановке и снятию с удержания                                            |
| routes      | Информация по сработавшим правилам таблицы маршрутизации                                 |
| forks       | Информация по вызовам стороны В (дозвоны)                                                |

Основными идентифкатора связи между таблицами является пара полей inviteid и invitedt.\
Связать цепочку коммутаций можно при инициализации звонка с внешней линии по полю esgdlg.\
На каждый вызов может быть несколько записей в таблице forks (количество одновременно зарегистрированных устройств абонента В) и в таблице routes (количество успешно сработавших правил маршрутизации).

### **Таблица success**

Содержит агрегирующую информацию по всем успешным звонкам. Успешным считается звонок, у которого сторона В поднял трубку (т.е. состоялась коммутация).

| **Поле**        | **Тип**                     | **Описание**                                                                                                     |
| --------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| inviteid        | uuid                        | Основной идентификатор по звонку                                                                                 |
| invitedt        | timestamp without time zone | Время инициации первичного звонка в UTC                                                                          |
| acallid         | character                   | CallId стороны А                                                                                                 |
| bcallid         | character                   | CallId стороны B                                                                                                 |
| anumber         | character                   | Номер А                                                                                                          |
| ausername       | character                   | Имя пользователя стороны А                                                                                       |
| adomain         | character                   | Домер стороны А                                                                                                  |
| adisplayname    | character                   | Имя отображения стороны А                                                                                        |
| anetworkaddr    | character                   | IP адрес стороны А                                                                                               |
| acallednum      | character                   | Номер, который пришел от А при инициации                                                                         |
| arepresentative | character                   | Номер представления стороны А (при кроссдоменных звонках)                                                        |
| aouter          | boolean                     | Битовый признак что сторона А является внешней линией                                                            |
| aprovidercode   | character                   | Код провайдера стороны А                                                                                         |
| bnumber         | character                   | Номер B                                                                                                          |
| busername       | character                   | Имя пользователя стороны B                                                                                       |
| bdomain         | character                   | Домен стороны B                                                                                                  |
| bdisplayname    | character                   | Имя отображения стороны B                                                                                        |
| bnetworkaddr    | character                   | IP адрес стороны B                                                                                               |
| bouter          | boolean                     | Битовый признак что сторона B является внешней линией                                                            |
| bprovidercode   | character                   | Код провайдера стороны B                                                                                         |
| dial\_dt        | timestamp without time zone | Время инициации вызова в UTC                                                                                     |
| start\_dt       | timestamp without time zone | Время начала разговора в UTC                                                                                     |
| stop\_dt        | timestamp without time zone | Время окончания разговора в UTC                                                                                  |
| dial\_duration  | integer                     | Продолжительность вызова в сек (кол-во секунд между dial\_dt и start\_dt)                                        |
| duration        | integer                     | Продолжительность разговора в сек (кол-во секунд между start\_dt и stop\_dt)                                     |
| stopreason      | character                   | Текстовая причина завершения звонка                                                                              |
| isrec           | boolean                     | Битовый признак, что разговор был записан                                                                        |
| callrecpath     | character                   | Относительный путь записи разговора                                                                              |
| callstoragecode | character                   | Имя хранилища записи разговора                                                                                   |
| callrecsize     | bigint                      | Размер файла в байтах                                                                                            |
| callrecdel\_dt  | timestamp without time zone | Время (UTC) когда запись разговора была удалена по правилам хранения записей                                     |
| recordruleid    | uuid                        | идентификатор правила записи разговоров                                                                          |
| storageruleid   | uuid                        | идентификатор правила хранения записей разговоров                                                                |
| recdomain       | character                   | Домен, в котором велась запись звонка                                                                            |
| recexpirets     | timestamp withouttime zone  | Время в UTC когда запись разговора будет удалена                                                                 |
| recexpirets     | timestamp withouttime zone  | Время в UTC когда запись разговора будет удалена                                                                 |
| sys\_recdelts   | bigint                      | системное поле                                                                                                   |
| dlgbinding      | character                   | Текстовое поле всех меток звонка                                                                                 |
| esgdlg          | character                   | CallID внешнего абонента. Может служить единым признаком цепочки коммутаций при инициации звонка с внешней линии |
| isreplacing     | boolean                     | признак что текущий звонок был переведен от другого                                                              |

### **Таблица cancelled**

Содержит агрегирующую информацию по всем звонкам без ответа (звонок у которых найдена сторона В, на сторону В отправлен вызов, но диалог / разговор не был начат). Примеры звонков - В не взял трубку или отменил вызов или занят и т.д.

| **Поле**        | **Тип**                     | **Описание**                                          |
| --------------- | --------------------------- | ----------------------------------------------------- |
| inviteid        | uuid                        | Основной идентификатор по звонку                      |
| invitedt        | timestamp without time zone | Время инициации первичного звонка в UTC               |
| dial\_dt        | timestamp without time zone | Время инициации вызова в UTC                          |
| stop\_dt        | timestamp without time zone | Время окончания дозвона в UTC                         |
| fromnumber      | character                   | Номер А                                               |
| fromusername    | character                   | Имя пользователя стороны А                            |
| fromdomain      | character                   | Домер стороны А                                       |
| fromouter       | boolean                     | Битовый признак что сторона А является внешней линией |
| fromprovidercod | character                   | Код провайдера стороны А                              |
| callednum       | character                   | Номер, который пришел от А при инициации звонка       |
| networkaddr     | character                   | IP адрес стороны А                                    |
| stoptype        | character                   | SIP код ответа завершения звонка                      |
| stopreason      | character                   | Текстовая причина завершения звонка                   |

### **Таблица failed**

Содержит агрегирующую информацию по всем неуспешным попыткам вызова.\
&#x20;Неуспешная попытка - сторона В не найдена.\
Примеры ситуации - В не зарегистрирован, недоступна внешняя линия, набор запрещен по таблице маршрутизации и т.д.

| **Поле**        | **Тип**                     | **Описание**                                          |
| --------------- | --------------------------- | ----------------------------------------------------- |
| inviteid        | uuid                        | Основной идентификатор по звонку                      |
| invitedt        | timestamp without time zone | Время инициации первичного звонка в UTC               |
| fromnumber      | character                   | Номер А                                               |
| fromusername    | character                   | Имя пользователя стороны А                            |
| fromdomain      | character                   | Домер стороны А                                       |
| fromouter       | boolean                     | Битовый признак что сторона А является внешней линией |
| fromprovidercod | character                   | Код провайдера стороны А                              |
| callednum       | character                   | Номер, который пришел от А при инициации звонка       |
| networkaddr     | character                   | IP адрес стороны А                                    |
| sipcode         | character                   | SIP код причины                                       |
| reason          | character                   | Текстовая причина неуспешного звонка                  |

### **Таблица holds**

Содержит информацию по постановке/снятию с удержания звонка.

| **Поле**   | **Тип**                     | **Описание**                                          |
| ---------- | --------------------------- | ----------------------------------------------------- |
| inviteid   | uuid                        | Основной идентификатор по звонку                      |
| invitedt   | timestamp without time zone | Время инициации первичного звонка в UTC               |
| side       | character                   | Сторона кто поставил на удержание. Может быть a или b |
| hold\_dt   | timestamp without time zone | Время (UTC) постановки на удержание                   |
| unhold\_dt | timestamp without time zone | Время (UTC) снятия с удержания                        |
| eventid    | uuid                        | уникальный идентификатор события                      |

### **Таблица routes**

Содержит информацию по сработавшим маршрутам таблицы маршрутизации для каждого звонка в таблицах success, cancelled, failed.

Окончательно сработавшее правило всегда последнее в списке. Если несколько правил на один вызов, то значит все, кроме последнего, не смогли быть применены.

| **Поле**        | **Тип**                     | **Описание**                                                                     |
| --------------- | --------------------------- | -------------------------------------------------------------------------------- |
| inviteid        | uuid                        | Основной идентификатор по звонку                                                 |
| invitedt        | timestamp without time zone | Время инициации первичного звонка в UTC                                          |
| event\_dt       | timestamp without time zone | Время срабатывания правила в UTC                                                 |
| eventid         | uuid                        | уникальный идентификатор события                                                 |
| vectorcode      | character                   | Код вектора                                                                      |
| ruleid          | uuid                        | идентификатор правила                                                            |
| routeaction     | character                   | Событие правила                                                                  |
| routedomain     | character                   | Домен правила                                                                    |
| providercode    | character                   | Код провайдера (если событие правила = outer)                                    |
| featurecodeid   | uuid                        | Идентификатор правила featurecode (если событие правила = featurecode)           |
| featurecodetype | character                   | Тип кода абонентских функций (если событие правила = featurecode)                |
| featurenumber   | character                   | номер после обработки правилами featurecode (если событие правила = featurecode) |

### **Таблица forks**

Содержит Информацию по вызовы сторон В для всех звонков в таблицах success, cancelled.

Если на один вызов несколько записей форков, то значит сторона В имеет несколько одновременно зарегистрированных аппаратов.

| **Поле**        | **Тип**                     | **Описание**                                                                                                                                                     |
| --------------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| inviteid        | uuid                        | Основной идентификатор по звонку                                                                                                                                 |
| invitedt        | timestamp without time zone | Время инициации первичного звонка в UTC                                                                                                                          |
| busername       | character                   | Имя пользователя стороны B                                                                                                                                       |
| bdomain         | character                   | Домер стороны B                                                                                                                                                  |
| bnetworkaddr    | character                   | IP адрес стороны B                                                                                                                                               |
| bouter          | boolean                     | Битовый признак что сторона B является внешней линией                                                                                                            |
| bprovidercode   | character                   | Код провайдера стороны B                                                                                                                                         |
| ispreanswered   | boolean                     | Битовый признак был ли предварительный ответ SIP 18x от этого форка                                                                                              |
| isanswered      | boolean                     | Битовый признак был ли окончательный ответ SIP 200 от этого форка. У каждого вызова таблицы success существует одна и только одна запись где данное поле == true |
| forkstart\_dt   | timestamp withouttime zone  | Время инициации вызова на этот форк в UTC                                                                                                                        |
| forkpreansw\_dt | timestamp without time zone | Время предварительного ответа в UTC                                                                                                                              |
| forkansw\_dt    | timestamp without time zone | Время окончательного ответа в UTC                                                                                                                                |
| sipcode         | integer                     | Конечный результат вызова форка (SIP Code окончательного ответа)                                                                                                 |
| reason          | character                   | Конечный результат вызова форка (текстовое поле)                                                                                                                 |
| eventid         | uuid                        | Уникальный идентифкатор данного форка                                                                                                                            |

### **Схема ivrhuntq**

```
huntq_calls
    inviteid uuid NOT NULL,
    huntq_id uuid,
    callid character varying COLLATE pg_catalog."default",
    esgdlg character varying COLLATE pg_catalog."default",
    from_user character varying COLLATE pg_catalog."default",
    from_displayname character varying COLLATE pg_catalog."default",
    qid character varying COLLATE pg_catalog."default",
    enqueue_result character varying COLLATE pg_catalog."default",
    start_call_uid uuid,
    dequeue_result character varying COLLATE pg_catalog."default", dequeue_reason character varying COLLATE pg_catalog."default", banned_user uuid,
    final_stopreason character varying COLLATE pg_catalog."default", dt_greet timestamp without time zone, dt_enqueue timestamp without time zone,
    dt_start_call timestamp without time zone,
    dt_dequeue timestamp without time zone,
    dt_preivr timestamp without time zone,
    dt_userban timestamp without time zone,
    dt_quit timestamp without time zone,
    dt_final timestamp without time zone
```

### **Схема** **ivrhuntqevents**

```
final
    huntq_id character varying COLLATE pg_catalog."default",
    callid character varying COLLATE pg_catalog."default",
    inviteid uuid,
    esgdlg character varying COLLATE pg_catalog."default",
    stopreason character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
 queue_dequeue
    qid character varying COLLATE pg_catalog."default",
    huntq_id character varying COLLATE pg_catalog."default",
    from_user character varying COLLATE pg_catalog."default",
    from_displayname character varying COLLATE pg_catalog."default",
    callid character varying COLLATE pg_catalog."default",
 inviteid uuid,
    esgdlg character varying COLLATE pg_catalog."default",
    result character varying COLLATE pg_catalog."default",
    reason character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
  queue_enqueue
   qid character varying COLLATE pg_catalog."default",
   huntq_id character varying COLLATE pg_catalog."default",
   callid character varying COLLATE pg_catalog."default",
   inviteid uuid,
   esgdlg character varying COLLATE pg_catalog."default",
   from_user character varying COLLATE pg_catalog."default",
   result character varying COLLATE pg_catalog."default",
   eventts timestamp without time zone
  queue_greeting
   huntq_id character varying COLLATE pg_catalog."default",
   qivrscript character varying COLLATE pg_catalog."default",
   callid character varying COLLATE pg_catalog."default",
   inviteid uuid,
   esgdlg character varying COLLATE pg_catalog."default",
   from_user character varying COLLATE pg_catalog."default",
   from_displayname character varying COLLATE pg_catalog."default",
   sys_iscopied boolean DEFAULT false,
   sys_copyid bigint,
   eventts timestamp without time zone
  queue_preivr_start
 qid character varying COLLATE pg_catalog."default",
 userid character varying COLLATE pg_catalog."default",
 callid character varying COLLATE pg_catalog."default",
 inviteid uuid,
 esgdlg character varying COLLATE pg_catalog."default",
 eventts timestamp without time zone
 queue_quit
  qid character varying COLLATE pg_catalog."default",
  from_user character varying COLLATE pg_catalog."default",
  callid character varying COLLATE pg_catalog."default",
  inviteid uuid,
  esgdlg character varying COLLATE pg_catalog."default",
  eventts timestamp without time zone
 queue_start_call
  qid character varying COLLATE pg_catalog."default",
 userid character varying COLLATE pg_catalog."default",
 callid character varying COLLATE pg_catalog."default",
 inviteid uuid,
 esgdlg character varying COLLATE pg_catalog."default", eventts timestamp without time zone
queue_userban
 qid character varying COLLATE pg_catalog."default",
   huntq_id character varying COLLATE pg_catalog."default",
   callid character varying COLLATE pg_catalog."default",
   inviteid uuid,
  esgdlg character varying COLLATE pg_catalog."default",
  userid character varying COLLATE pg_catalog."default",
  eventts timestamp without time zone
```

### **Схема** **products**

```
filter_intervals
    filter_id interval,
    filter_text character varying COLLATE pg_catalog."default"
 ref_huntblock_reasons
    title character varying COLLATE pg_catalog."default", event_key character varying COLLATE pg_catalog."default", duration bigint,
    type character varying COLLATE pg_catalog."default", is_allowed boolean
```

### **Схема** **providerevents**

```
provider_state_changed
    code character varying COLLATE pg_catalog."default",
    objid character varying COLLATE pg_catalog."default",
    state character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
```

### **Схема** **scriptevents**

```
script_start
  type character varying COLLATE pg_catalog."default",
  scrcode character varying COLLATE pg_catalog."default",
  eventts timestamp without time zone
script_stop
   type character varying COLLATE pg_catalog."default",
   scrcode character varying COLLATE pg_catalog."default",
   stoptype character varying COLLATE pg_catalog."default",
   stopreason character varying COLLATE pg_catalog."default",
   eventts timestamp without time zone
```

### **Схема** **selectorevents**

```
sel_abon_state_changed
    id character varying COLLATE pg_catalog."default",
    num character varying COLLATE pg_catalog."default",
    name character varying COLLATE pg_catalog."default",
    selid character varying COLLATE pg_catalog."default",
    state character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
sel_create
    id character varying COLLATE pg_catalog."default",
    opts character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
sel_delete
    id character varying COLLATE pg_catalog."default",
    reason character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
sel_state_changed
    id character varying COLLATE pg_catalog."default",
    state character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
sel_update
    id character varying COLLATE pg_catalog."default",
    opts character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
sel_voting_state_changed
    id character varying COLLATE pg_catalog."default",
    name character varying COLLATE pg_catalog."default",
    selid character varying COLLATE pg_catalog."default",
    state character varying COLLATE pg_catalog."default",
    info character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
```

### **Схема** **sipuserevents**

```
sipuser_state_changed
    login character varying COLLATE pg_catalog."default" NOT NULL,
    state character varying COLLATE pg_catalog."default" NOT NULL,
    sys_iscopied boolean DEFAULT false, sys_copyid bigint,
    eventts timestamp without time zone NOT NULL
sipuser_transtate_set
    login character varying COLLATE pg_catalog."default" NOT NULL,
    state character varying COLLATE pg_catalog."default" NOT NULL,
    ttl bigint,
    strategy character varying COLLATE pg_catalog."default",
    xinfo character varying COLLATE pg_catalog."default",
    sys_iscopied boolean DEFAULT false, sys_copyid bigint,
    eventts timestamp without time zone NOT NULL
```

### **Схема** **sipusers**

```
states
    eventid bigint,
    event_name character varying COLLATE pg_catalog."default",
    login character varying COLLATE pg_catalog."default",
    state character varying COLLATE pg_catalog."default",
    dt_start timestamp without time zone,
    dt_stop timestamp without time zone,
    len bigint,
    xinfo character varying COLLATE pg_catalog."default",
    strategy character varying COLLATE pg_catalog."default"
```

### **Схема** **userevents**

```
usr_state_changed
    user_id character varying COLLATE pg_catalog."default" NOT NULL,
    state character varying COLLATE pg_catalog."default",
    changed_by character varying COLLATE pg_catalog."default",
    eventts timestamp without time zone
```


