Структура БД Oktell — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 3: Строка 3:
 
__TOC__
 
__TOC__
  
Сервер '''Oktell''' использует три базы данных.
+
=Раздел «Офис»=
  
* '''oktell''' - основная БД для хранения оперативной статистики и статистики АТС.
+
===Модуль «Сотрудники»===
* '''oktell_settings''' - БД для хранения настроек комплекса, используемых для загрузки сервера.
+
* '''oktell_cc_temp''' - БД для хранения статистики работы call-центра в пространственных таблицах.
+
  
Обращение сервера '''Oktell''' к БД всегда осуществляется через основную базу '''oktell'''.  
+
Во вкладке отображается номерной план, который кешируется из БД при старте службы «oktellserver» либо при нажатии кнопки «Применить»  и далее используется сервером. Статусы у номеров определяются внутренним функционалом сервера. Структура номерного плана будет рассмотрена далее.
 +
При добавлении номера в «Мой список» сервер Oktell добавляет в таблицу «'''A_Personal_ListInfo'''» информацию о данном номере (о всех пользователях которые содержатся в нем).
  
Доступ к другим базам происходит через их упоминание в хранимых процедурах и представлениях ('''view''') основной БД '''oktell'''.
 
  
== Подробное описание таблиц БД по разделам клиентского приложения==
+
'''[A_Personal_ListInfo]''' — таблица в которой хранятся контакты пользователей Oktell
 +
*[Id] [uniqueidentifier] - идентификатор записи
 +
*[UserId] [uniqueidentifier]  - Id пользователя Oktell
 +
*[NumberId] [uniqueidentifier] – Id номера  в Oktell
  
* [[Раздел «Офис»]]
 
  
* [[Раздел «Call-центр»]]
+
'''[A_NumberPlan]''' - справочник номеров
 +
*[ID] [uniqueidentifier] - идентификатор номера
 +
*[Prefix] [nvarchar]- номер
  
  
==БД Oktell==
+
Связи между таблицами:
 +
'''[A_NumberPlan].[ID]''' <-> '''[A_Personal_ListInfo].[NumberId]'''
  
*A_CallBackOrders - Заказы на встречные звонки. Журнал заказов.
+
===Модуль «Мои контакты»===
*A_CallBackRecievers - Заказы на встречные звонки. Получатели заказов.
+
*A_CallCenter_ControlEventsJournal - Контрольные события call-центра. Журнал событий.
+
*A_CallCenter_Counters - Счетчики call-центра.
+
*A_CallCenter_LastConnected - Хранилище связок абонентов и операторов, последний раз их обслуживавших.
+
*A_CallCenter_UserStateHistory - Журнал состояний пользователя в call-центре. Авторизация/КЦ/Онлайн/Перерыв/Ручной режим.
+
*A_CallCenter_UserStateTypes - Описания состояний пользователя в call-центре.
+
*A_Chat_Dialog - Пользовательский чат. Диалоги.
+
*A_Chat_DialogTypes - Пользовательский чат. Типы диалогов.
+
*A_Chat_Members - Пользовательский чат. Участники диалогов.
+
*A_Chat_MessageFile - Пользовательский чат. Файлы прикрепленные к сообщениям.
+
*A_Chat_Messages - Пользовательский чат. Сообщения.
+
*A_Chat_NewMessages - Пользовательский чат. Список непросмотренных сообщений.
+
*A_ClientContacts - Контакты. Конкретные контактные записи по контрагентам.
+
*A_ClientContactTypes - Контакты. Типы контактных данных.
+
*A_ClientGroups - Контакты. Группы контрагентов.
+
*A_ClientHistory - Контакты. Журнал звонков по контрагентам.
+
*A_Clients - Контакты. Описания контрагентов.
+
*A_Clients_Groups - Контакты. Привязка контрагентов к группам контактов.
+
*A_FS_Paths - Пути на файл-сервере и привязка к хеш-значениям.
+
*A_ICQMessages - Очередь сообщений ICQ полученных, но не обработанных в сценарии.
+
*A_IM_Messages - Очередь сообщений JABBER полученных, но не обработанных в сценарии.
+
*A_Monopoly - Зарезервированные через транзакцию права на монопольное редактирование разделов.
+
*A_MonopolyForTaskChanging - Зарезервированные через транзакцию права на монопольное редактирование задач.
+
*A_Personal_ListInfo - Раздел Сотрудники. Данные по кастомному размещению объектов на поле.
+
*A_RegistrarContact - Хранилище регистрационных данных SIP сервера. Контактные данные сессий.
+
*A_RegistrarSession - Хранилище регистрационных данных SIP сервера. Сессии.
+
*A_Scheduler_Tasks - Раздел Планировщик. Задачи.
+
*A_SessionStorage - Хранилище сессий (пользователи, подключения).
+
*A_SmsTaskManager_SubTaskNumbers - Менеджер текстовых задач. Оперативный кэш номеров абонентов.
+
*A_SmsTaskManager_SubTasks - Менеджер текстовых задач. Оперативный кэш абонентов.
+
*A_Stat_Comments - Статистика АТС. Комментарии к записям коммутаций и конференций.
+
*A_Stat_Conference - Статистика АТС. Журнал конференций (и АТС, и call-центр).
+
*A_Stat_Conference_Competitors - Статистика АТС. Участники конференций.
+
*A_Stat_Conference_RecordAccessUsers - Статистика АТС. Пользователи с особыми правами доступа к записям конференций.
+
*A_Stat_Connections_1x1 - Статистика АТС. Журнал коммутаций (и АТС, и call-центр, и IVR).
+
*A_Stat_Connections_Errors - Статистика АТС. Ошибки в коммутациях.
+
*A_Stat_Connections_VoicePerc - Статистика АТС. Статистика владения разговором.
+
*A_Stat_DTMF - Статистика АТС. Нажатия кнопок на телефоне во время связи.
+
*A_Stat_FailedCalls - Статистика АТС. Неудачные исходящие звонки внутренних абонентов.
+
*A_Stat_MissedCalls - Статистика АТС. Пропущенные звонки у внутренних абонентов.
+
*A_Stat_RingTime - Статистика АТС. Время вызова внутренних абонентов до снятия трубки.
+
*A_Stat_Talk_Algorythms - Сценарии диалога. Журнал работы экземпляров.
+
*A_Stat_Talk_Card_Check - Сценарии диалога. Журнал примитивных форм-запросов с типом CheckBoxGroup.
+
*A_Stat_Talk_Card_Radio - Сценарии диалога. Журнал примитивных форм-запросов с типом RadioGroup.
+
*A_Stat_Talk_Card_Text - Сценарии диалога. Журнал примитивных форм-запросов с типом Text.
+
*A_Stat_Talk_StopInfo - Сценарии диалога. Журнал стоп-карточек.
+
*A_StreamRegistration - Кэш-копия признака регистраций потоков (клиентские, серверные, точка-точка).
+
*A_TalkForm_Stat_Values - Сценарии диалога. Журнал автоматически сохраненных значений из полей диалоговых форм.
+
*A_TaskManager_dIdx_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - Менеджер голосовых задач. Группа таблиц, привязанных к задачам (по ид в названии). Содержат кэш абонентов для работы задач с закреплением абонентов за операторами.
+
*A_TaskManager_dIdxn_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - Менеджер голосовых задач. Группа таблиц, привязанных к задачам (по ид в названии). Содержат кэш номеров абонентов для работы задач с закреплением абонентов за операторами.
+
*A_TaskManager_Idx_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - Менеджер голосовых задач. Группа таблиц, привязанных к задачам (по ид в названии). Содержат кэш абонентов и их номеров для работы задач с кэшем в БД (за исключением задач с закреплением абонентов за операторами).
+
*A_TaskManager_LocalList_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_B - Менеджер голосовых задач. Группа таблиц, привязанных к задачам (по ид в названии). Создаются при автоматической генерации имен для новых локальных таблиц абонентов, редактируемых в клиентском приложении.
+
*A_TaskManager_SubTaskEfforts - Менеджер голосовых задач. Оперативная статистика попыток набора номера по исходящим голосовым задачам (в том числе успешных)
+
*A_TaskManager_SubTaskNumber - Менеджер голосовых задач. Оперативная статистика по номерам абонентов в ходе работы голосовых задач.
+
*A_TaskManager_SubTasks - Менеджер голосовых задач.  Оперативная статистика по абонентам в ходе работы голосовых задач.
+
*A_TaskManager_Task_IncomingCalls - Менеджер голосовых задач. Оперативная статистика по звонкам в ходе работы входящих голосовых задач.
+
*A_TaskManager_UserInTask - Менеджер голосовых задач. Оперативная статистика присутствия операторов в обработке задачи и распределения по состояниям.
+
*A_User_NotifyLog - Журнал сохраненных пользовательских уведомлений.
+
*A_UserMessageData - obsolete. Пользовательский текстовый чат.
+
*A_UserMessageFile - obsolete. Пользовательский текстовый чат.
+
*A_UserMessageLink - obsolete. Пользовательский текстовый чат.
+
*A_UserStateHistory - Журнал статистики пользовательских состояний (готов/занят/не в системе..)
+
*A_UserStateInfoTypes - Типы пользовательских действий по смене состояний
+
*A_UserStateTypes - Типы пользовательских состояний (нефлаговых)
+
*A_VoiceMail - Голосовая почта. Журнал сообщений со ссылкой на файлы на диске.
+
*A_VoiceMailReceivers - Голосовая почта. Получатели.
+
*A_WorkPlace_Address - Карта сети. Адреса рабочих станций (весь перечень при логине).
+
  
 +
Информация о контактах хранится в следующих таблицах:
  
==БД Oktell_CC_Temp==
+
'''[A_ClientGroups]''' — группы клиентов созданные пользователями (вкладка «Группы контактов»)
 +
*[Id] [uniqueidentifier] — id группы контактов
 +
*[Name] [nvarchar] — имя группы
 +
*[OwnerId] [uniqueidentifier]  - id пользователя Oktell в случае если выбрана категория группы контактов «Личная»,<br> если выбрана категория группы контактов «Общая» присваивается «00000000-0000-0000-0000-000000000000»
  
3 основные пространственные таблицы (описаны в wiki [[Структура_пространственной_БД]]).
 
  
*A_Cube_CC_CallQueue - Состояние очередей задач (количество ожидающих абонентов, количество обслуживаемых абонентов, количество онлайн-операторов). По умолчанию отключена, и вредна в крупных КЦ в силу массового потока постоянных изменений.
+
'''[A_Clients]''' — контакты созданные пользователями Oktell
*A_Cube_CC_Cat_OperatorInfo - Информация об операторах.
+
*[Id] [uniqueidentifier] — id данного клиента
*A_Cube_CC_Cat_OperatorStateTypes - Информация об используемых состояниях операторов.
+
*[Name] [nvarchar] — Полное имя, наименование клиента
*A_Cube_CC_Cat_Project - Информация о проектах.
+
*[OwnerId] [uniqueidentifier] — id пользователя Oktell в случае если выбрана категория контакта «Личная»,<br> если выбрана категория «Общая» присваивается «00000000-0000-0000-0000-000000000000»
*A_Cube_CC_Cat_Task - Информация о задачах.
+
*A_Cube_CC_Cat_TaskResultTypes - Информация о результатах совершения звонков.
+
*A_Cube_CC_EffortConnections - Звонки, коммутации, попытки звонков, результаты попыток и звонков, абоненты/операторы/линии и прочие свойства.
+
*A_Cube_CC_OperatorStates - Состояния операторов при работе в call-центре с привязкой к конкретным временным интервалам.
+
  
Хранимые процедуры непосредственно коммуникационной платформой '''Oktell''' не используются. Служат для внешних нужд и возможного размещения отчетов.
 
  
 +
'''[A_ClientContacts]''' — информация о каждом номере в контакте
 +
*[Id] [uniqueidentifier] – id записи в таблице
 +
*[IdClient] [uniqueidentifier] — id данного клиента
 +
*[IdContact] [uniqueidentifier] — тип контакта (Телефон, Факс, ICQ, Сотовый, E-mail, Сайт, Skype)
 +
*[Content] [nvarchar] — контактные данные (например:номер телефона)
 +
*[IsDefaultPhone] [bit] — флаг, показывает используется ли контактные данные по умолчанию
  
==БД Oktell_Settings==
 
  
Все таблицы базы '''oktell_settings''' имеют аналогичным образом именованные представления в базе '''oktell'''.
+
'''[W_ClientRights]''' — Таблица необходимая для проверки прав доступа пользователей к контактам
 +
*[IdClient] [uniqueidentifier] - id клиента
 +
*[IdOwner] [uniqueidentifier] - — id пользователя Oktell в случае если выбрана категория контакта «Личная»,<br> если выбрана категория «Общая» присваивается «00000000-0000-0000-0000-000000000000»
  
В базе отсутствуют статистические данные, подверженные разрастанию.
 
  
*A_BigInt - Кэш степеней двойки.
+
'''[A_ClientContactTypes]''' — типы контактных данных
*A_CallCenter_ControlEvents - Контрольные события call-центра.
+
*[Id] [uniqueidentifier] — id записи
*A_CallCenter_Indicators - Индикаторы call-центра.
+
*[Name] [nvarchar] — наименование типа (Телефон, Факс, ICQ, Сотовый, E-mail, Сайт, Skype)
*A_CallCenter_OperatorTimeTable - Рабочее время операторов call-центра.
+
*[IsPhoneNumber] [bit] — является ли тип телефонным номером
*A_CallCenter_Reports - Отчеты call-центра.
+
*A_CallRoutes - Направления вызовов.
+
*A_CallRoutes_Lines - Линии, составляющие направления вызовов.
+
*A_EmergencyDirections - Направления и линии для экстренных звонков.
+
*A_Groups - Отделы организации.
+
*A_HolidaysDefault - Праздники и выходные по умолчанию.
+
*A_HolidaysUser - Кастомные праздники и выходные.
+
*A_LangTexts - Языковые схемы для работы международных версий.
+
*A_LinesReactors - Дополнительная связка телефонных линий и рабочих мест в карте сети.
+
*A_MobileControlMaskDenied - obsolete. Запрещенные мобильные маски.
+
*A_MobileControlMaskFree - obsolete. Разрешенные мобильные маски.
+
*A_NumberPlan - Внутренний номерной план.
+
*A_NumberPlanAction - Действия привязанные к номерам внутреннего номерного плана.
+
*A_PaidNumbers - Платные/запрещенные внешние номера и маски.
+
*A_PermittedNumbers - Разрешенные/нефильтруемые внешние номера и маски.
+
*A_PluginMenu - Настройки раздела "Внешние модули". Пункты меню.
+
*A_PluginMenu_User - Правовая схема доступа к отдельным внешним модулям.
+
*A_PlugIns - Подключенные плагины.
+
*A_Policy_Objects - Политика прав доступа. Защищаемые объекты (проекты, таблицы абонентов, задачи, отчеты, дашборды, индикаторы).
+
*A_Policy_ObjectTypes - Политика прав доступа. Типы объектов, поддерживаемых политикой прав доступа
+
*A_Policy_PrivilegeDefaults - Политика прав доступа. Привилегии по умолчанию, применяемые к вновь созданным объектам.
+
*A_Policy_Privileges - Политика прав доступа. Доступные привилегии для различных типов объектов.
+
*A_Policy_SubjectGroupCache - Политика прав доступа. Кэш текущих настроек политики относительно всех пользователей и их участия в субъектных группах.
+
*A_Policy_SubjectPrivileges - Политика прав доступа. Привилегии на операции с объектами, назначенные конкретному субъекту (субъектной группе).
+
*A_Policy_SubjectTypePriority - Политика прав доступа. Приоритеты типов субъектов.
+
*A_Policy_SubjectTypes - Политика прав доступа. Типы субъектов (субъектных групп).
+
*A_RecordRules - Общие настройки записи разговоров. Правила.
+
*A_RecordRules_Items - Общие настройки записи разговоров. Абоненты правил.
+
*A_Redirect - Переадресация. Правила переадресации.
+
*A_Redirect_Abonents - Переадресация. Абоненты правил.
+
*A_Redirect_TimeTable - Переадресация. Расписание правил.
+
*A_RuleRecords - Записи правил стандартных внутренних номеров.
+
*A_Rules - Правила стандартных внутренних номеров.
+
*A_ServerExtLines - Карта сети. Внешние линии сервера и SIP-шлюзов.
+
*A_ServerGates - Карта сети. Шлюзы.
+
*A_ServerGSMLines - obsolete.
+
*A_ServerIntLines - Карта сети. Внутренние линии сервера и SIP-шлюзов.
+
*A_ServerNumbers - Карта сети. Связка серверов карты с целыми индексами, применяемыми в именовании номеров связанных линий.
+
*A_ServerSipLines - Карта сети. Внутренние SIP-линии (Sip телефоны в карте сети).
+
*A_ServerStreams - Карта сети. Потоки SIP-шлюзов.
+
*A_ServerUSBLines - Карта сети. Линии USB-телефонов и гарнитур.
+
*A_ServerVirtualLines - obsolete.
+
*A_ServerVirtualLines_Gates - obsolete.
+
*A_Settings - Общие настройки (модуль Администрирование->Общие настройки).
+
*A_SmsTaskManager_Operators - Менеджер задач. Операторы текстовых задач.
+
*A_SmsTaskManager_RunPeriods - Менеджер задач. Расписание текстовых задач.
+
*A_SmsTaskManager_Supervisors - Менеджер задач. Супервизоры текстовых задач.
+
*A_SmsTaskManager_Tasks - Менеджер задач. Текстовые задачи.
+
*A_Stat_RecordDirectories - Каталоги для хранения записей разговоров.
+
*A_Streams - Произвольные потоки данных. Карта сети, IP-конфиг, HW-конфиг с сохранением ряда предыдущих копий.
+
*A_SvcTaskManager_RunPeriods - Менеджер задач. Расписание работы служебных задач.
+
*A_SvcTaskManager_Tasks - Менеджер задач. Служебные задачи (старт служебных сценариев).
+
*A_TaskManager_CardLunchStates - Причины выхода в перерыв.
+
*A_TaskManager_CardUserResults - Пользовательские результаты звонков в call-центре, общие.
+
*A_TaskManager_CardUserResultsProject - Пользовательские результаты звонков в call-центре, заданные для проекта.
+
*A_TaskManager_Lists - Таблицы абонентов.
+
*A_TaskManager_Operators - Менеджер задач. Операторы голосовых задач
+
*A_TaskManager_Projects - Проекты.
+
*A_TaskManager_ProjectUsers - obsolete.
+
*A_TaskManager_RunPeriods - Менеджер задач. Расписание работы голосовых задач.
+
*A_TaskManager_TaskAuto_List - Менеджер задач. Список абонентов для автоматических голосовых задач, созданных компонентом "Задание на звонок".
+
*A_TaskManager_TaskExtLines - Менеджер задач. Внешние линии голосовых задач.
+
*A_TaskManager_TaskProperties - Менеджер задач. Дополнительные свойства голосовых задач.
+
*A_TaskManager_Tasks - Менеджер задач. Голосовые задачи.
+
*A_TaskManager_TaskSupervisors - Менеджер задач. Супервизоры голосовых задач.
+
*A_UserControlLines - Права контроля пользователями линий.
+
*A_UserControls - Права контроля пользователями друг друга.
+
*A_UserOutcomingLines - Права доступа пользователей к внешним линиям при совершении исходящих звонков.
+
*A_UserParams - Дополнительные свойства учетных записей пользователей
+
*A_UserPhoto - Фотографии пользователей. Ссылка на файлы на диске.
+
*A_UserRoles_Rights - Ролевая политика. Привилегии общие.
+
*A_UserRoles_RightsOfRoles - Ролевая политика. Принадлежность привилегий ролям.
+
*A_UserRoles_Roles - Ролевая политика. Существующие роли, в том числе доминирующие.
+
*A_UserRoles_RolesOfUsers - Ролевая политика. Принадлежность ролей пользователям.
+
*A_Users - Учетные записи пользователей.
+
*A_UserSettings - Настройки пользователей из клиентского приложения.
+
*A_WorkPlaces - Карта сети. Рабочие места карты сети: компьютеры, телефоны, сервер, шлюзы
+
  
Единственная хранимая процедура '''A_DB_FreeAll''' очищает все таблицы настроек.
 
  
 +
Связи между таблицами:
 +
'''[A_ClientGroups].[OwnerId]''' <-> '''[A_Users].[ID]'''
 +
'''[A_Clients].[OwnerId]''' <-> '''[A_Users].[ID]'''
 +
'''[A_ClientContacts].[IdClient]''' <-> '''[A_Clients].[ID]'''
 +
'''[A_ClientContacts].[IdContact]''' <-> '''[A_ClientContactTypes].[ID]'''
 +
'''[W_ClientRights].[IdClient]''' <-> '''[A_Clients].[ID]'''
 +
'''[W_ClientRights].[OwnerId]''' <-> '''[A_Users].[ID]'''
  
==Хранимые процедуры==
 
  
Хранимые процедуры делятся на следующие группы:
+
История информационных сообщений по контактам:
  
*формирование БД '''oktell_cc_temp''' - создание таблиц, начальное наполнение, перенос данных в ходе работы;
+
'''[A_ClientHistory]''' — история сообщений
*создание/удаление/модификация/возврат списков различных объектов;
+
*[Id] [uniqueidentifier] — id записи
*внесение в хронологическе журналы статистики информации об изменении состояний, объектов, фиксация очередных коммутаций, конференций, контрольных событий, неудачных и пропущенных звонков, кэш-таблиц состояний SIP-аккаунтов и т.п.
+
*[IdClient] [uniqueidentifier] — id контакта
*процедуры проведения загрузки сервера системы;
+
*[CreationDateTime] [datetime] — дата создания записи
*системные процедуры общего характера для проведения очисток, обслуживания БД, ряд вспомогательных функций;
+
*[Content] [nvarchar] — текст сообщения
*синхронизация/перестроение/обновление кэш-таблиц абонентских списков для работы менеджера задач;
+
*[IdUser] [uniqueidentifier] — id пользователя оставившего комментарий
*расчет статистики использования ресурсов, вывод различных журналов статистики, построение встроенных отчетов, построение индексов по работе операторов;
+
*управление ролевой политикой, политикой прав доступа к объектам.
+
*обеспечение работы менеджера задач в разных режимах.
+
  
Триггеры нигде не используются.
 
  
 +
Связи между таблицами:
 +
'''[A_Clients].[ID]''' <-> '''[A_Users].[IdClient]'''
 +
'''[A_ClientHistory].[IdUser]''' <-> '''[A_Users].[ID]'''
  
==Основные сущности==
 
  
Основные сущности:
+
===Модуль «Мои звонки»===
  
*Пользователь системы
+
Раздел представляет собой данные из таблицы '''[A_Stat_Connections_1x1]''' с фильтром по пользователю под которым запущено клиентское приложение Oktell. Структура данной таблицы будет рассмотрена далее.
*Карта сети (рабочих мест)
+
*Внутренняя линия
+
*Внешняя линия
+
*Направление
+
*Роль
+
*Привилегия
+
*Коммутация
+
*Конференция
+
*Цепочка коммутаций (сессия)
+
*DTMF
+
*Ожидание ответа
+
*Абоненты в коммутации/конференции
+
*Контакт/клиент (с привязкой к пользователю или без)
+
*Сценарий IVR
+
*Вызов/звонок (разновидности)
+
*Удержание (флеш-буфер)
+
*Переключение (абонента)
+
*Сообщение EMAIL, ICQ, JABBER, SMS
+
*Пропущенный звонок
+
*Неудачный звонок
+
*Резервирование для монопольного редактирования
+
*Очередь в АТС
+
*Состояние пользователя в АТС
+
*Сценарий служебный
+
*Веб-сервер
+
*Веб-сокет сервер
+
  
  
*Рабочее место
+
===Модуль «Переадресация»===
*Служба сервера
+
*Сервер база данных
+
*Сервер HAL
+
*Толстый клиент
+
*COM-ядро клиентского приложения
+
*Веб-клиент
+
*Конфигурационный файл сервера
+
*Конфигурационный файл клиента
+
*Обновление сервера
+
*Обновление клиента
+
*Обновление БД
+
*Авторизация
+
*Плагин
+
*Телефон (телефонный аппарат, софтфон)
+
  
 +
'''[A_Redirect]''' — список правил переадресации
 +
*[Id] [uniqueidentifier] — id записи
 +
*[IdUser] [uniqueidentifier] — id пользователя для которого создано правило
 +
*[PriorityIndex] [int] — приоритет правила
 +
*[CreationDate] [datetime] — дата создания правила
 +
*[Caption] [nvarchar](100) — название правила
 +
*[Description] [nvarchar](255) — описание правила
 +
*[RedirectStateOnly] [bit] — флаг активно только в статусе переадресации
 +
*[CascadeRedirect] [bit] — флаг каскадной переадресации
 +
*[Enabled] [bit] — флаг активно всегда
 +
*[DestinationNumber] [nvarchar](50) — назначение переадресации (номер телефона)
  
*Оператор
+
 
*Супервизор
+
 
*Менеджер проекта
+
'''[A_Redirect_TimeTable]''' — рабочий график правил переадресаций
*Проект
+
*[IdRedir] [uniqueidentifier] — id правила переадресации
*Таблица абонентов
+
*[DayOfWeek] [int] — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
*Сценарий диалога
+
*[StartTime] [datetime] — начальное время активности переадресации
*Исходящая голосовая задача
+
*[StopTime] [datetime] — конечное время активности переадресации
*Входящая голосовая задача
+
 
*Исходящая текстовая задача
+
 
*Служебная задача
+
'''[A_Redirect_Abonents]''' — список абонентов для которых действует правило переадресации
*Отчет
+
*[IdRedir] [uniqueidentifier] — id правила переадресации
*Индикатор
+
*[IdAbonent] [uniqueidentifier] — id абонента для которого действует правило,<br> в случае если заполнен раздел «Дополнительные номера» указывается «00000000-0000-0000-0000-000000000000»
*Дашборд
+
*[Number] [nvarchar](50) — номер в случае заполнения раздела «Дополнительные номера»
*Контрольное событие
+
*[Description] [nvarchar](255) — Описание номера в случае заполнения раздела «Дополнительные номера»
*Резервирование оператора
+
*[Type] [int] — тип абонента (0 — дополнительный номер, 1- пользователь Oktell, 2 – отдел Oktell, 3 — клиент из меню «Мои контакты»)
*Запрос на дозвон
+
 
*Алгоритм выбора абонента
+
 
*Алгоритм выбора оператора
+
Связи между таблицами:
*Диалоговая форма
+
'''[A_Redirect_Abonents].[IdRedir]''' <-> '''[A_Redirect].[ID]'''
*Стоп-форма
+
'''[A_Redirect_Abonents].[IdAbonent]''' <-> '''[A_Users].[ID]'''
*Очередь в коллцентре
+
'''[A_Redirect_TimeTable].[IdRedir]''' <-> '''[A_Redirect].[ID]'''
*Прогрессивный набор номеров
+
'''[A_Redirect].[IdUser]''' <-> '''[A_Users].[ID]'''
*Предиктивный набор номеров
+
 
*Закрепление абонента за оператором
+
 
*Результат звонка по задаче
+
===Модуль «Кабинет»===
*Пользовательский результат звонка по задаче
+
 
*Таймаут абонента/номера
+
''Вкладка «Голосовая почта»''
*Права доступа к объектам
+
 
*Состояние пользователя в коллцентре
+
'''[A_VoiceMail]''' — таблица всех голосовых сообщений отправленных пользователям
*Состояние оператора в обработчике задачи
+
*[Id] [uniqueidentifier] – ID записи
*Перерыв у оператора
+
*[RecieverId] [uniqueidentifier] — ID получателя, совпадает с ID если указана группа получателей
*Поствызывная обработка звонка
+
*[RecieverIsGroup] [int] — флаг отправки группе
*Онлайн у оператора
+
*[SentTime] [datetime] — дата отправки
*Период в обработке звонка у оператора
+
*[RecievedTime] [datetime] — дата прослушивания
 +
*[FilePath] [ntext] — путь до файла
 +
*[Info] [ntext] — информация о создании голосового сообщения(из какого сценария был создан)
 +
*[CallerId] [nvarchar](500) — CallerId отправителя
 +
*[IsShown] [int] — флаг было ли прослушано сообщение
 +
*[WhoRecieved] [uniqueidentifier] — ID пользователя который прослушал сообщение
 +
 
 +
'''[A_VoiceMailReceivers]''' — таблица пользователей которым отправлено голосовое сообщение, заполняется только в случае если отправляется группе пользователей
 +
*[msgid] [uniqueidentifier] — ID голосового сообщения
 +
*[userid] [uniqueidentifier] — ID польвателей которым отправлено голосовое сообщение, указываются все пользователи, каждый в новой строке.
 +
 
 +
 
 +
Связи между таблицами:
 +
'''[A_VoiceMail].[Id]''' <-> '''[A_VoiceMailReceivers].[msgid]'''
 +
 
 +
 
 +
 
 +
''Вкладка «Встречные звонки»''
 +
 
 +
'''[A_CallBackOrders]''' — таблица всех встречных звонков для пользователей
 +
*[IDconn] [uniqueidentifier] — ID записи
 +
*[ClientId] [uniqueidentifier] — присваивается ID клиента если он присутствует в контактах любого пользователя
 +
*[CalledDateTime] [datetime] — время заказа встречного звонка
 +
*[OrderedTime] [datetime] - время когда необходимо совершить встречный звонок
 +
*[OrderedNumber] [nvarchar](30) — номер для встречного звонка
 +
*[Comment] [nvarchar](1000) - комментарии
 +
*[Done] [bit] — флаг выполнения
 +
*[DoneUserId] [uniqueidentifier] — ID пользователя который выполнил звонок
 +
*[Viewed] [bit] — флаг просмотра уведомления
 +
 
 +
 
 +
'''[A_CallBackRecievers]''' — таблица получателей встречного звонка
 +
*[IDconn] [uniqueidentifier] — ID встречного звонка
 +
*[IntNumber] [nvarchar](20) — внутренний номер получателя
 +
 
 +
 
 +
Связи между таблицами:
 +
'''[A_CallBackOrders].[IDconn]''' <-> '''[A_CallBackRecievers].[IDconn]'''
 +
 
 +
 
 +
''Вкладка «Уведомления»''
 +
 
 +
'''[A_User_NotifyLog]''' — таблица системных уведомлений пользователям
 +
*[ID] [uniqueidentifier] — ID записи
 +
*[IDuser] [uniqueidentifier] — ID получателя (пользователя)
 +
*[NotifyDateTime] [datetime] — дата уведомления
 +
*[TextSender] [nvarchar](500) — инициатор уведомления
 +
*[TextInfo] [nvarchar](4000) — текст уведомления
 +
*[WasShown] [int] — было ли отображено
 +
 
 +
===Модуль «Статистика АТС»===
 +
 
 +
 
 +
Раздел составляется на основе таблицы A_Stat_Connections_1x1, с применением различных фильтров, а так же таблиц номерного плана и пользователей системы (которые будут рассмотрены в разделе «Администрирование»)
 +
 
 +
'''[A_Stat_Connections_1x1]''' - таблица хранящая информацию о состоявшихся разговорах
 +
*[Id] [uniqueidentifier] - id записи
 +
*[IdChain] [uniqueidentifier] - id цепочки коммутаций (звонка)
 +
*[TimeStart] [datetime] - время начала коммутации
 +
*[TimeAnswer] [datetime] - время ответа
 +
*[TimeStop] [datetime] - время конца коммутации
 +
*[ReasonStart] [int] — причина начала (1-задача, 2-вх. звонок,3-исх. звонок,4-внутр. звонок,5-флеш,6-из IVR)
 +
*[ReasonStop] [int] - причина завершения (1-IVR положил трубку,2-Абонент положил трубку,3-конец IVR,4-Ошибка в IVR,5-Потеря соединения,6-флеш)
 +
*[StopSide] [int] - инициатор завершения (0 — А сторона, 1 — В сторона)
 +
*[ALineId] [uniqueidentifier] - id линии абонента А (00000000-0000-0000-0000-000000000000 если А это IVR )
 +
*[BLineId] [uniqueidentifier] - id линии абонента B (00000000-0000-0000-0000-000000000000 если B это IVR )
 +
*[AOutNumber] [nvarchar](50) — номер пользователя A
 +
*[BOutNumber] [nvarchar](50) – номер пользователя B
 +
*[ALineNum] [nvarchar](10) - номер линии абонента А (IVR если А это IVR)
 +
*[BLineNum] [nvarchar](10) - номер линии абонента В (IVR если В это IVR)
 +
*[AUserId] [uniqueidentifier] - Id пользователя (bf000000-0000-0000-0000-000000000000 — внешняя линия, ab000000-0000-0000-0000-000000000000 — IVR)
 +
*[BUserId] [uniqueidentifier] - Id пользователя (bf000000-0000-0000-0000-000000000000 — внешняя линия, ab000000-0000-0000-0000-000000000000 — IVR)
 +
*[ANumberDialed] [nvarchar](50) - набранный номер абонентом A
 +
*[BNumberDialed] [nvarchar](50) - набранный номер абонентом B
 +
*[IsRecorded] [int] - флаг (1-разговор записывался, 0- разговор не записывался)
 +
*[ConnectionType] [int] - тип коммутации (1-изнутри наружу,2-изнутри в IVR,3-изнутри внутрь,4-снаружи в IVR,5-снаружи внутрь,6-снаружи наружу,7-с IVR наружу,8-с IVR внутрь)
 +
*[Astr] [nvarchar](200) – CallerName абонента А
 +
*[Bstr] [nvarchar](200) - CallerName абонента B
 +
*[FromCC] [bit] - флаг (1-звонок в\из CC, 0- другие звонки)
 +
*[IsBetweenUsers] [bit] - коммутация между пользователями системы
 +
*[IdRecDir] [int] - id пути к записям разговоров, пересечение с таблицей A_Stat_RecordDirectories (0- папка по умолчанию)
 +
 
 +
 
 +
===Модуль «Планировщик»===
 +
 
 +
Позволяет создавать задачи и назначать их на пользователей (при наличии прав контроля\подчинения).
 +
 
 +
'''[A_Scheduler_Tasks]''' – информация о созданных задачах
 +
*[Id] [uniqueidentifier] — ID записи
 +
*[UDirector] [uniqueidentifier] — ID пользователя который создал задачу
 +
*[UExecuter] [uniqueidentifier] — ID пользователя, исполнителя задачи
 +
*[Start] [datetime] — дата начала выполнения задачи
 +
*[Stop] [datetime] — дата завершения выполнения задачи
 +
*[MyStart] [datetime] — дата начала согласно настройкам «Мой график»
 +
*[MyStop] [datetime] — дата завершения согласно настройкам «Мой график»
 +
*[Title] [nvarchar](200) — имя задачи
 +
*[Comment] [text] — комментарии к задачу
 +
*[Priority] [int] — приоритет, от 1 (низкий) до 9 (высокий)
 +
*[DoneProcess] [int] — процент выполнения задачи
 +
*[Done] [bit] — флаг (1-задача выполнена, 0-задача не выполнена)
 +
*[Canceled] [bit] — флаг(1-задача отменена,0-задача выполняется)
 +
 
 +
 
 +
 
 +
=Раздел «Call-центр»=
 +
 
 +
 
 +
===Модуль «Войти в Call-центр» и «Выйти из Call-центра»===
 +
 
 +
'''[A_CallCenter_UserStateHistory]''' — история входа\выхода пользователей в\из Call-центра
 +
*[Id] [uniqueidentifier] — ID записи
 +
*[OperatorId] [uniqueidentifier] — ID пользователя
 +
*[State] [int] — состояние (0-Система,1-Call-центр,2-Онлайн,3-Перерыв)
 +
*[TimeEnter] [datetime] — дата входа (установки нового состояния)
 +
*[TimeLeave] [datetime] — дата выхода (смены состояния)
 +
*[LengthSec] [float] — продолжительность нахождения в состоянии
 +
*[Info] [nvarchar](100) — причина перерыва при выборе причины «Прочие» указывается вручную
 +
*[SelfInfo] [bit] -
 +
*[ICode] [int] — код события (пример: может быть установлен в разделе «Администрирование»- «Call-центр» - «Типы предустановленных перерывов»
 +
 
 +
state=0 (Система) — устанавливается при запуске клиентского приложения пользователем.
 +
state=2 (Онлайн)— завершается либо при выходе из Call-центра либо при смене состояния на Перерыв
 +
 
 +
 
 +
===Модуль «Мое рабочее место»===
 +
 
 +
Вкладка «Информация» и «Статусы» формируются с помощью процедур. Таблица в которой хранится рабочий график описана ниже.
 +
 
 +
 
 +
===Модуль «Операторы»===
 +
 
 +
'''[A_CallCenter_OperatorTimeTable]''' — таблица рабочего графика операторов
 +
*[Id] [uniqueidentifier] — ID записи
 +
*[IdOperator] [uniqueidentifier] — ID оператора
 +
*[TableType] [int] — тип графика (1-рабочее  время, 2-перерыв)
 +
*[DayOfWeek] [int] — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
 +
*[StartTime] [datetime] — дата начала интервала
 +
*[FinishTime] [datetime] — дата конца интервала
 +
 
 +
 
 +
===Модуль «Проекты»===
 +
 
 +
'''[A_TaskManager_Projects]''' — таблица проектов
 +
*[Id] [uniqueidentifier] — ID проекта
 +
*[Name] [nvarchar](100) — имя проекта
 +
*[Description] [nvarchar](255) -
 +
*[DateCreation] [datetime] — дата создания проекта
 +
*[IdCreator] [uniqueidentifier] — ID пользователя, создателя проекта
 +
*[MainScript] [nvarchar](500) — название главного сценария проекта
 +
*[Shared] [bit] — флаг (1-доступен всем, 0-доступен только определенным пользователям)
 +
*[UserResType] [int] — флаг (1-созданы пользовательские результаты звонка, 0-пользовательских результатов нет)
 +
 
 +
 
 +
'''[A_TaskManager_CardUserResultsProject]''' — таблица индивидуальных статусов для проектов
 +
*[Id] [int] — ID статуса (код)
 +
*[Name] [nvarchar](200) — имя статуса (значение)
 +
*[IsOutput] [bit] — тип задачи (1-исходящая,0-входящая)
 +
*[Success] [bit] — тип результата (1-успех,0-неудача)
 +
*[ProjectId] [uniqueidentifier] — ID проекта
 +
 
 +
 
 +
'''[A_TaskManager_ProjectUsers]''' — Таблица пользователей с доступом к проекту (УСТАРЕВШАЯ. Для версий без Политики прав доступа)
 +
*[IdProject] [uniqueidentifier] — ID проекта
 +
*[IdUser] [uniqueidentifier] — ID пользователя, которому разрешен доступ
 +
 
 +
Связи между таблицами:
 +
 
 +
'''[A_TaskManager_Projects].[ID]''' <-> '''[A_TaskManager_CardUserResultsProject].[ProjectId]'''
 +
'''[A_TaskManager_Projects].[ID]''' <-> '''[A_TaskManager_ProjectUsers].[IdProject]'''
 +
'''[A_TaskManager_ProjectUsers].[IdUser]''' <-> '''[A_Users].[Id]'''
 +
 
 +
 
 +
===Политика прав доступа.===
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_Objects]''' – Политика прав доступа. Защищаемые объекты (проекты, таблицы абонентов, задачи, отчеты, дашборды, индикаторы)
 +
*[id] [uniqueidentifier] NOT NULL — id объекта доступа
 +
*[type] [int] NULL — id типа объекта доступа
 +
*[name] [nvarchar](500) NULL — имя объекта доступа
 +
*[idParentProject] [uniqueidentifier] NULL — id родителя объекта (id проекта для задач и т. д.)
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_ObjectTypes]''' — Политика прав доступа. Типы объектов, поддерживаемых политикой прав доступа
 +
*[id] [int] NOT NULL — id типа объекта доступа
 +
*[name] [nvarchar](500) NULL — имя типа объекта доступа
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_PrivilegeDefaults]''' - Политика прав доступа. Привилегии по умолчанию, применяемые к вновь созданным объектам.
 +
*[idPrivilege] [uniqueidentifier] NULL — id привилегии
 +
*[idSubject] [uniqueidentifier] NULL — id субъекта (пользователь, оператор задачи и т.д.)
 +
*[subjType] [int] NULL — тип субъекта (описан в таблице [oktell_settings].[dbo].[A_Policy_SubjectTypes])
 +
*[subjExtraId] [uniqueidentifier] NULL — id привилегии
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_Privileges]''' – Политика прав доступа. Доступные привилегии для различных типов объектов.
 +
*[id] [uniqueidentifier] NOT NULL - id привилегии
 +
*[objType] [int] NULL — id типа субъекта
 +
*[knot] [nvarchar](50) NULL — id вида субъекта
 +
*[name] [nvarchar](1000) NULL — имя субъекта (имя права доступа)
 +
*[code] [nvarchar](200) NULL — описание субъекта (изменение задачи, просмотр задачи и т.д.)
 +
*[levelNesting] [int] NULL — уровень вложения
 +
**1-просмотр (дашборды, сценарии, индикаторы, задачи, проекты, отчеты, таблицы абонентов)
 +
**2-редактирование (проекты, отчеты, таблицы абонентов, сценарии, индикаторы, дашборды)
 +
**2-запуск (задачи)
 +
**3-перезапуск (задачи)
 +
**4-изменение (задачи)
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_SubjectGroupCache]''' - Политика прав доступа. Кэш текущих настроек политики относительно всех пользователей и их участия в субъектных группах.
 +
*[idUser] [uniqueidentifier] NULL — id пользователя (из таблицы [oktell_settings].[dbo].[a_users])
 +
*[idSubject] [uniqueidentifier] NULL – id субъекта (сотрудника, отдела, роли, субъектной группы, конечного объекта права доступа{проекта})
 +
*[subjType] [int] NULL — тип субъекта
 +
*[subjExtraId] [uniqueidentifier] NULL — id субъектной группы (поле groupid таблицы [oktell_settings].[dbo].[A_Policy_SubjectTypes])
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_SubjectPrivileges]''' - Политика прав доступа. Привилегии на операции с объектами, назначенные конкретному субъекту (субъектной группе)
 +
*[idSubject] [uniqueidentifier] NULL – id субъекта (сотрудника, отдела, роли, субъектной группы, конечного объекта права доступа{проекта})
 +
*[subjType] [int] NULL - тип субъекта
 +
*[subjExtraId] [uniqueidentifier] NULL - id субъектной группы (поле groupid таблицы [oktell_settings].[dbo].[A_Policy_SubjectTypes])
 +
*[idObject] [uniqueidentifier] NULL — id объекта (из [oktell_settings].[dbo].[A_Policy_Objects])
 +
*[idPrivilege] [uniqueidentifier] NULL — id привилегии (из [oktell_settings].[dbo].[A_Policy_Privileges])
 +
*[value] [int] NULL — 0 — привилегия не активна, 1-привилегия активна
 +
*[idCreator] [uniqueidentifier] NULL — id пользователя создавшего привилегию
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_SubjectTypePriority]''' - Политика прав доступа. Приоритеты типов субъектов.
 +
*[idType] [int] NOT NULL — id субъекта
 +
*[priority] [int] NULL — приоритет
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_Policy_SubjectTypes]''' - Политика прав доступа. Типы субъектов (субъектных групп).
 +
*[id] [int] NULL — id субъекта, субъектной группы
 +
*[name] [nvarchar](500) NULL — имя субъекта, субъектной группы
 +
*[groupId] [uniqueidentifier] NULL -  id субъектной группы
 +
*[isNested] [bit] NULL — вложенный ли субъект (1-да, 0-нет)
 +
 
 +
===Модуль «Таблицы абонентов»===
 +
 
 +
'''[A_TaskManager_Lists]''' — созданные таблицы
 +
*[Id] [uniqueidentifier] — ID записи
 +
*[Name] [nvarchar](100) — имя таблицы
 +
*[ProjectId] [uniqueidentifier] – ID проекта
 +
*[Type] [int] — тип таблицы:<br>
 +
**5 - Локальная таблица - название таблицы указано в поле JoinedTable - без запроса sql<br>
 +
**6 - Локальная таблица - название таблицы указано в поле JoinedTable - с запросом sql (запрос указан в поле Query)<br>
 +
**2 - Внешняя таблица - прикрепленная таблица БД указана в поле JoinedTable - без запроса sql<br>
 +
**3 - Внешняя таблица - прикрепленная таблица БД указана в поле JoinedTable - с запросом sql (запрос указан в поле Query)<br>
 +
*[Query] [nvarchar](1000) — запрос к БД в случае использования типа таблицы 3 или 6
 +
*[JoinedTable] [nvarchar](100) — имя таблицы в БД
 +
*[ColumnId] [nvarchar](100) — имя поля с назначением «Идентификатор»
 +
*[ColumnsPhone] [nvarchar](1000) — имена полей с назначением «Телефон» перечисляются через запятую
 +
*[ColumnsViewed] [nvarchar](1000) — имена полей с назначением «Информационное поле»
 +
*[ColumnsViewedDescription] [nvarchar](4000) — описание полей с назначением «Информационное поле», если описание указано на русс. яз. то перед ним устанавливается #%; перечисление через запятую
 +
*[ColumnsSqlType] [nvarchar](4000) — тип поля sql
 +
*[ColumnsSqlTypeSize] [nvarchar](4000) – размер поля
 +
*[DbConnString] [nvarchar](1000) — строка подключения в случае выбора внешней таблицы и способа подключения отличного от собственной базы данных Oktell
 +
*[DbConnMode] [int] – способ подключения к таблице в БД (0-локальная таблица, способ подключения не указан, 1-собственная база  данных Oktell, 2-ADO, 3-OLE, 4-Oracle, 5-ODBC)
 +
*[DbProviderName] [nvarchar](100) – провайдер данных
 +
 
 +
 
 +
===Модуль «Сценарии»===
 +
 
 +
Информация о сценариях хранится в xml файлах в каталоге сервера. В БД данные о сценариях не сохраняются.
 +
 
 +
 
 +
===Модуль «Задачи»===
 +
 
 +
'''[A_TaskManager_Tasks]''' — список созданных задач
 +
*[Id] [uniqueidentifier] — ID задачи
 +
*[Name] [nvarchar](500) — имя задачи
 +
*[Active] [int] — флаг (1-задача активирована, 0-задача не активна)
 +
*[Done] [int] — флаг(1-задача завершена, 0-задача не завершена)
 +
*[Type] [int] — тип задачи (10-IVR,20-Operator)
 +
*[IvrName] [nvarchar](500) — название сценария IVR
 +
*[StopReason] [int] – причина остановки задачи
 +
*[TalkScript] [nvarchar](500) — название сценария диалога
 +
*[PauseWhenBusy] [float] — пауза при сигнале «Занято»
 +
*[PauseWhenNotRespond] [float] — пауза при сигнале «Не отвечает»
 +
*[MaxEffortCountBusy] [int] — число попыток при «Занято»
 +
*[MaxEffortCountNotRespond] [int]  - число попыток при «Не отвечает»
 +
*[MinTimeToCheckDone] [int] — минимальное время после которого звонок считается успешным (0-600 сек)
 +
*[TryConnectTime] [int] — время попытки установления соединения
 +
*[ChoiceOperator] [int] — вариант обхода операторов (1-Прямо по списку (нестрогий), 2-Наименее занятый в задаче, 3-Наименее занятый в течение дня, 4-Наиболее свободный с момента последнего разговора, 5-Случайно, 6-Поочередно, 11-Пользовательская процедура в БД)
 +
*[IsOutputTask] [int] - тип задачи (1-исходящая,0-входящая)
 +
*[Resulted] [int] – флаг завершения задачи (1-задача завершена,0-задача не завершена)
 +
*[ResultInfo] [nvarchar](500) — информация о завершении задачи
 +
*[ResultDateTime] [datetime] — дата завершения задачи
 +
*[CreationUserId] [uniqueidentifier] — ID пользователя, который создал задачу
 +
*[CreationType] [int] — тип созданной задачи (1-AutoCall, 2-задача, 4-IVRtask)
 +
*[CreationDateTime] [datetime] — дата создания задачи
 +
*[StartRunDateTime] [datetime] — дата запуска задачи (при выборе периода активности задачи)
 +
*[StopRunDateTime] [datetime] — дата остановки задачи (при выборе периода активности задачи)
 +
*[ListId] [uniqueidentifier] — ID прикрепленной таблицы абонентов
 +
*[OperatorShowQuery] [bit] — флаг, устанавливается при выборе типа задачи с запросом у оператора (1-установлено,0-выбран другой вариант)
 +
*[OperatorShowNotify] [bit] - флаг, устанавливается при выборе типа задачи с уведомлением оператора (1-установлено,0-выбран другой вариант)
 +
*[ProgressCall] [bit] - флаг, устанавливается при выборе типа задачи прогрессивный обзвон (1-установлено,0-выбран другой вариант)
 +
*[ProgressCallMaxCount] [int] — максимальное число звонков при прогрессивном обзвоне на каждого оператора
 +
*[ProgressCallKeepQueue] [bit] — флаг, помещать в очередь при прогрессивном обзвоне (1-параметр включен, 0-выключен)
 +
*[QueueUse] [bit] — флаг, использование очереди (1-очередь используется, 0-очередь не используется)
 +
*[QueueMaxCount] [int] — максимальное число абонентов в очереди. Для исходящих задач с активированным прогрессивным набором
 +
*[QueueLoyality] [int] — лояльность к абонентам (0-отсутствует, 1-средняя лояльность, 2-полная лояльность)
 +
*[ChoiceAbonent] [int] — приоритет обхода абонентов (0-строгий, 1-нестрогий, 2-отсутствует, 3-случайно)
 +
*[ChoiceNumber] [int] — приоритет обхода номеров (0-строгий, 1-нестрогий, 2-отсутствует, 3-случайно)
 +
*[ChoiceTable] [int] — общий приоритет обхода (0-по номерам, 1-по абонентам)
 +
*[IdProject] [uniqueidentifier] — ID проекта в котором создана задача
 +
*[DontSetDone] [bit] — флаг, никогда не останавливать задачу (1-параметр активен, 0-параметр не активен)
 +
*[PauseSyncListWaitingNewAbonent] [int] — интервал синхронизации с таблицей абонентов при отсутствии активности (сек)
 +
*[IncomingCallsMaxCount] [int] — ограничение количества внешних линий (вкладка ресурсы). При указании количества больше чем
 +
*[ServiceScript] [nvarchar](200) — служебный сценарий (задачи — вкладка параметры)
 +
*[DialCallerId] [nvarchar](20) - подставляемый номер телефона (callerid)
 +
*[IncomingUpdateIfExists] [bit] – заполнение таблицы (1-каждый звонок модифицирует информацию, 0-каждый звонок создает новую запись)
 +
*[ActiveOnHolidays] [bit] — флаг, активирует расписание праздников
 +
*[Code] [nvarchar](30) — код задачи
 +
*[PauseSyncListForcedSec] [int] — интервал синхронизации (сек)
 +
*[QueueMaxTimeMinutes] [int]  - ограничивать время в очереди (мин)
 +
*[DirectDbMethod] [int] – метод работы с таблицей (0-загрузка в память и синхронизация, 1-кэш внутри БД. Встроенный метод, 2-сценарий поиска)
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_TaskManager_Operators]''' - Менеджер задач. Операторы голосовых задач
 +
*[TaskId] [uniqueidentifier] NOT NULL — id задачи
 +
*[OperatorId] [uniqueidentifier] NULL — id назначенного оператора на данную задачу
 +
*[Priority] [int] NULL — приоритетен ли оператор по данной задаче (1-да,0-нет)
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_TaskManager_RunPeriods]''' - Менеджер задач. Расписание работы голосовых задач.
 +
*[TaskId] [uniqueidentifier] NOT NULL — id задачи
 +
*[DayOfWeek] [int] NULL — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
 +
*[StartTime] [datetime] NULL - дата начала интервала
 +
*[FinishTime] [datetime] NULL - дата окончания интервала
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_TaskManager_TaskAuto_List]''' - Менеджер задач. Список абонентов для автоматических голосовых задач, созданных компонентом "Задание на звонок".
 +
*[Id] [int] IDENTITY(1,1) NOT NULL — id абонента в списке
 +
*[Phone] [nvarchar](20) NOT NULL — номер на который будет производиться дозвон
 +
*[CreationDate] [datetime] NOT NULL — дата создания
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_TaskManager_TaskExtLines]''' - Менеджер задач. Внешние линии голосовых задач.
 +
*[TaskId] [uniqueidentifier] NOT NULL — id задачи
 +
*[ExtLineId] [uniqueidentifier] NULL — id внешней линии прикрепленной к задаче
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_TaskManager_TaskProperties]''' - Менеджер задач. Дополнительные свойства голосовых задач.
 +
*[IdTask] [uniqueidentifier] NOT NULL — id задачи
 +
*[Stream] [image] NULL — информация о доп настройках (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_TaskManager_TaskSupervisors]''' - Менеджер задач. Супервизоры голосовых задач.
 +
*[TaskId] [uniqueidentifier] NULL — id задачи
 +
*[SupervisorId] [uniqueidentifier] NULL — id пользователя назначенного супервизором на данную задачу
 +
 
 +
 
 +
'''[oktell_settings].[dbo].[A_SmsTaskManager_Tasks]''' - Менеджер задач. Текстовые задачи.
 +
*[Id] [uniqueidentifier] NOT NULL - id текстовой задачи
 +
*[IdProject] [uniqueidentifier] NOT NULL - id проекта в котором создана задача
 +
*[Name] [nvarchar](500) NOT NULL - имя текстовой задачи
 +
*[Code] [nvarchar](30) NOT NULL - код текстовой задачи
 +
*[Active] [int] NOT NULL - флаг (1-задача активирована, 0-задача не активна)
 +
*[Done] [int] NOT NULL - флаг(1-задача завершена, 0-задача не завершена)
 +
*[SvcScript] [nvarchar](200) NOT NULL - название служебного сценария
 +
*[ChoiceOperator] [int] NOT NULL - вариант обхода операторов (1-по списку,2-наименее занятый по задаче,3-наименее занятый,4-наиболее свободный,5-случайный выбор,6-поочередно)
 +
*[IsOutputTask] [int] NOT NULL - флаг, текстовые задачи всегда исходящие. Установлен в 1
 +
*[Resulted] [int] NOT NULL - флаг(1-задача завершена, 0-задача не завершена)
 +
*[ResultType] [int] NOT NULL - флаг(1-задача завершена, 0-задача не завершена)
 +
*[ResultInfo] [nvarchar](500) NOT NULL - информация о завершении задачи
 +
*[ResultDateTime] [datetime] NOT NULL — дата последнего изменения\остановки текстовой задачи
 +
*[CreationUserId] [uniqueidentifier] NOT NULL — id пользователя создавшего задачу
 +
*[CreationType] [int] NOT NULL — тип созданной задачи (1-AutoCall, 2-задача, 4-IVRtask)
 +
*[CreationDateTime] [datetime] NOT NULL — дата создания текстовой задачи
 +
*[StartRunDateTime] [datetime] NOT NULL - дата запуска задачи (при выборе периода активности задачи)
 +
*[StopRunDateTime] [datetime] NOT NULL - дата завершения задачи (при выборе периода активности задачи)
 +
*[ListId] [uniqueidentifier] NOT NULL - ID прикрепленной таблицы абонентов
 +
*[DontSetDone] [bit] NOT NULL — флаг, никогда не останавливать задачу (0-флаг не установлен,1-флаг установлен)
 +
*[ActiveOnHolidays] [bit] NOT NULL — флаг, активировано расписание праздников (0-флаг не установлен,1-флаг установлен)
 +
*[PauseSyncListWaitingNewAbonent] [int] NOT NULL – интервал синхронизации при отсутствии активности (сек)
 +
*[PauseSyncListForcedSec] [int] NOT NULL — интервал синхронизации (сек)
 +
*[IsMultiThread] [bit] NOT NULL — флаг, использование потоков. Поабонентное исполнение (0-не активирован, 1-активирован)
 +
*[ThreadCount] [int] NOT NULL — количество потоков (если активирован флаг использование потоков, поабонентное исполнение).
 +
 
 +
 
 +
'''[dbo].[A_SmsTaskManager_Supervisors]''' - Менеджер задач. Супервизоры текстовых задач.
 +
*[TaskId] [uniqueidentifier] NOT NULL — id текстовой задачи
 +
*[SupervisorId] [uniqueidentifier] NOT NULL — id супервизора текстовой задачи
 +
 
 +
 
 +
'''[dbo].[A_SmsTaskManager_Operators]''' - Менеджер задач. Операторы текстовых задач.
 +
*[TaskId] [uniqueidentifier] NOT NULL — id текстовой задачи
 +
*[OperatorId] [uniqueidentifier] NOT NULL — id оператора текстовой задачи
 +
*[Priority] [int] NULL — флаг, приоритет выбора оператора при выполнении задачи (1-установлен приоритет для данного оператора, 0-оператор не приоритетный)
 +
 
 +
 
 +
'''[dbo].[A_SmsTaskManager_RunPeriods]''' - Менеджер задач. Расписание текстовых задач.
 +
*[TaskId] [uniqueidentifier] NOT NULL — id текстовой задачи
 +
*[DayOfWeek] [int] NOT NULL — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
 +
*[StartTime] [datetime] NOT NULL - дата начала интервала
 +
*[FinishTime] [datetime] NOT NULL - дата окончания интервала
 +
 
 +
 
 +
===Модуль «Ресурсы»===
 +
При переходе в данный модуль запускается хранимая процедура, которая получает:
 +
*состояние операторов (в логике)
 +
*нагрузка операторов (в данной процедуре)
 +
*нагрузка линий (в данной процедуре)
 +
*использование ресурсов задачами (в данной процедуре)
 +
*очередь (в логике)
 +
*процент выполнения задачи (в логике)
 +
При этом используются таблицы описанные в данной статье, а так же временные таблицы заполняемые в данной процедуре.
 +
 
 +
 
 +
===Модуль «Индикаторы»===
 +
 
 +
'''[dbo].[A_CallCenter_Indicators]''' - Индикаторы call-центра.
 +
*[Id] [uniqueidentifier] NOT NULL — id идентификатора
 +
*[Name] [nvarchar](2000) NULL — имя идентификатора
 +
*[Stream] [image] NULL — параметры идентификатора (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)
 +
 
 +
 
 +
===Модуль «Статистика»===
 +
Вся статистика работы в call-центре попадает в пространственную БД «oktell_cc_temp». Все отчеты, касающиеся работы Call-центра строятся на основе лежащей в ней информации. Подробнее об отчетах см. разделы [[Статистика|Call-center. Статистика]] и [[Индикаторы|Call-center. Индикаторы]].
 +
 
 +
'''Три пространственных таблицы:'''
 +
 
 +
A_Cube_CC_EffortConnections - информация о коммутациях в call-центре и попытках дозвона.
 +
A_Cube_CC_OperatorStates - информация о состояниях операторов в call-центре.
 +
A_Cube_CC_CallQueue - информация о состояниях и нагрузках очередей входящих задач.
 +
 
 +
 
 +
'''А также таблицы с категориями:'''
 +
 
 +
A_Cube_CC_Cat_OperatorInfo - информация об операторах.
 +
A_Cube_CC_Cat_OperatorStateTypes - информация об используемых состояниях операторов.
 +
A_Cube_CC_Cat_Project - информация о проектах.
 +
A_Cube_CC_Cat_Task - информация о задачах.
 +
A_Cube_CC_Cat_TaskResultTypes - информация о результатах совершения звонков.
 +
 
 +
 
 +
Для построения основных отчетов информация берется из пространственных таблиц, а при построении итоговой выборки по идентификаторам происходит пересечение с таблицами категорий для получения адекватных для восприятия показателей (названий, имен, описаний)
 +
 
 +
При построении выборок в связи с большими объемами данных, наполняющих пространственные таблицы, рекомендуется использовать временные таблицы, куда вставлять данные за интересующий период времени, взятые из основных таблиц. Основные используемые поля пространственных таблиц индексированы. Основной индекс по полю времени служит непосредственно этой цели.
 +
 
 +
 
 +
 
 +
'''[oktell_cc_temp].[dbo].[A_Cube_CC_EffortConnections]''' - После каждого звонка или попытки звонка в задаче в эту таблицу автоматически заносится коммутационная информация со всей неслужебной информацией, которая может быть полезна при составлении отчетов.
 +
*[IdProject] [uniqueidentifier] - Id проекта совершенного звонка или попытки совершения звонка. Пересечение с таблицей A_Cube_CC_Cat_Project.
 +
*[IdTask] [uniqueidentifier] - Id задачи. Пересечение с таблицей A_Cube_CC_Cat_Task.
 +
*[IsOutput] [bit] - Флаг-признак исходящей задачи.
 +
*[IdEffort] [uniqueidentifier] - Id попытки звонка (менеджер задач устанавливает перед началом набора номера)
 +
*[IdOperator] [uniqueidentifier] - Id оператора, производившего обработку. IVR также считается оператором и имеет виртуальный код. Пересечение с таблицей A_Cube_CC_Cat_OperatorInfo.Поле может быть не заполнено (is NULL), в случае, если попытка была прервана до установления соединения (например, занято).
 +
*[IdInList] [int] - Код абонента в списке, прикрепленном к задаче.
 +
*[AbonentNumber] [nvarchar] (20) - Номер абонента, по которому производился дозвон (исх. задача), или с которого производился звонок (вх. задача).
 +
*[CallResult] [int] - Результат звонка. Пересечение с таблицей A_Cube_CC_Cat_TaskResultTypes.
 +
*[CallResultInfo] [nvarchar] (100) - Описание результата (если было назначено).
 +
*[DateTimeStart] [datetime] - Дата и время начала звонка/коммутации.
 +
**Для входящих задач - момент начала вызова оператора для первой коммутации и момент коммутации при последующих (после FLASH).
 +
**Для исходящих задач - момент начала вызова абонента для первой коммутации и момент самой коммутации при последующих (после FLASH).
 +
**Время начала самой первой коммутации доступно в поле TimeAnswer таблицы A_Stat_Connections_1x1 основной БД (связка по полям IdConn / Id).
 +
*[DateStart] [datetime] - Дата начала звонка с нулевым временем.
 +
*[TimeStart] [datetime] - Время начала звонка с нулевой датой.
 +
*[DateTimeStop] [datetime] - Дата и время окончания коммутации.
 +
*[IdConn] [uniqueidentifier] - Id коммутации. В контексте одного звонка при переключении оператором звонка на другого оператора или в IVR каждая коммутация имеет отдельную запись в таблице. Может быть не заполнено (is NULL).
 +
*[IdChain] [uniqueidentifier] - Id звонка (цепочки коммутаций). Одинаково для всех коммутаций, в контексте одного звонка. Может быть не заполнено (is NULL).
 +
*[IdAUser] [uniqueidentifier] - Id звонящего абонента. Может быть не заполнено (is NULL).
 +
*[IdBUser] [uniqueidentifier] - Id принимающего звонок абонента. Может быть не заполнено (is NULL).
 +
*[IdExtLine] [uniqueidentifier] - Id внешней линии, по которой происходит реализация звонка.
 +
*[LenTime] [float] - Длительность коммутации в секундах.
 +
*[LenQueue] [float] - Длительность ожидания в очереди абонентом перед коммутацией с первым оператором.
 +
*[IsBetweenOp] [bit] - Флаг коммутации, когда разговор происходит между двумя операторами, абонент находится во Flash-буфере. Может быть не заполнено (is NULL).
 +
*[OpponentInfo] [nvarchar] (100) - Информация об абоненте.
 +
*[IsHandled] [bit] - Флаг обработанного звонка. 0, когда коммутации не произошло.
 +
*[IsSuccess] [bit] - Флаг успешной обработки. Подробно см. раздел [[Стоп-форма*Call-центр. Сценарии. Сценарии диалога. Стоп-форма]].
 +
*[IsRecorded] [bit] - Флаг наличия файлов с записью разговора. Может быть не заполнено (is NULL).
 +
*[IdRecDir] [int]  - Id каталога, в который происходит запись. Пересечение с таблицей основной БД A_Stat_RecordDirectories. Может быть не заполнено (is NULL).
 +
*[ALineNum] [nvarchar] (10) - Код линии, совершающей звонок.
 +
*[BLineNum] [nvarchar] (10) - Код линии, принимающей звонок.
 +
*[UserResult] [int] - Код пользовательского результата, который выставил оператор после разговора с абонентом.Пересечение с таблицей из основной БД A_TaskManager_CardUserResults. Подробно см. раздел [[Стоп-форма|Call-центр. Сценарии. Сценарии диалога. Стоп-форма]].
 +
 
 +
 
 +
'''[oktell_cc_temp].[dbo].[A_Cube_CC_OperatorStates]''' - Состояния операторов при работе в call-центре с привязкой к конкретным временным интервалам.
 +
*[Id] [int] - Целочисленный идентификатор для служебного пользования.
 +
*[IdTask] [uniqueidentifier] - Id задачи, в контексте которой оператор находился в данном состоянии. Пересечение с таблицей A_Cube_CC_Cat_Task. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
 +
*[IsOutput] [bit] - Флаг-признак исходящей задачи. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
 +
*[IdOperator] [uniqueidentifier] - Id оператора. Пересечение с таблицей A_Cube_CC_Cat_OperatorInfo.
 +
*[CallResult] [int] - Результат звонка, в ходе которого оператор находился в данном состоянии. Пересечение с таблицей A_Cube_CC_Cat_TaskResultTypes. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
 +
*[State] [int] - Состояние оператора. Пересечение с таблицей A_Cube_CC_Cat_OperatorStateTypes.
 +
*[DateTimeStart] [datetime] - Дата и время начала пребывания в данном состоянии.
 +
*[DateStart] [datetime] - Дата начала пребывания в данном состоянии. Время нулевое.
 +
*[TimeStart] [datetime] - Время начала пребывания в данном состоянии Дата нулевая.
 +
*[DateTimeStop] [datetime] - Дата и время окончания пребывания в данном состоянии.
 +
*[LenTime] [float] - Длительность в секундах пребывания в данном состоянии.
 +
 
 +
 
 +
'''[oktell_cc_temp].[dbo].[A_Cube_CC_CallQueue]''' - Состояние очередей задач (количество ожидающих абонентов, количество обслуживаемых абонентов, количество онлайн-операторов). По умолчанию отключена, и вредна в крупных КЦ в силу массового потока постоянных изменений.
 +
*[Id] [int] - Целочисленный идентификатор для служебного пользования.
 +
*[IdTask] [uniqueidentifier] - Id задачи, чья очередь содержится в записи.
 +
*[IdProject] [uniqueidentifier] - Id проекта задачи.
 +
*[DateTimeStart] [datetime] - Дата и время начала периода с неизменяемыми количественными значениями.
 +
*[DateStart] [datetime] - Дата начала периода, время нулевое.
 +
*[TimeStart] [datetime] - Время начала периода, дата нулевая.
 +
*[DateTimeStop] [datetime] - Дата и время окончания периода. У последней внесенной записи по задаче всегда пусто (is NULL).
 +
*[CountQueue] [int] - Количество абонентов, находящихся в очереди в текущем периоде
 +
*[CountOperator] [int] - Количество операторов, обслуживающих задачу, активных в текущем периоде.
 +
*[CountTalking] [int] - Количество ведущихся по задаче разговоров в текущем периоде. При ненулевой очереди отличается от общего числа активных операторов на число операторов, занятых в других задачах.
 +
*[elt1WaitStart] [datetime] - Дата и время начала ожидания первого абонента в очереди.
 +
*[elt1WaitSec] [int] - Время в секундах, прошедшее с начала ожидания первого абонента в очереди.
 +
 
 +
Во время поступления звонков во входящую задачу образуется очередь. Если очередь не пуста, в таблицу кладется информация о ее состоянии. Информация заносится каждый раз при смене одного из количественных параметров очереди.
 +
 
 +
При большом объеме звонков заполнение таблицы может оказывать значительную нагрузку на сервер БД, поэтому по умолчанию заполнение не ведется. Режим заполнения может быть выбран в разделе [[Управление базами данных|Администрирование. Общие настройки. Управление сервером БД]].
 +
 
 +
В таблицах категорий для пользования отведены два поля: [Id] и [Name]. В зависимости от типа данных [Id] принимает значения int или uniqueidentifier.
 +
 
 +
 
 +
'''[oktell_cc_temp].[dbo].[A_Cube_CC_Cat_OperatorStateTypes]''' – типы состояний оператора
 +
*[Id] [int] NOT NULL – id состояния
 +
*[Name] [nvarchar](500) NOT NULL – имя состояния в котором находится оператор
 +
 
 +
 
 +
'''[oktell_cc_temp].[dbo].[A_Cube_CC_Cat_TaskResultTypes]''' — типы результатов звонков по задачам
 +
*[Id] [int] NOT NULL — id типа результата
 +
*[Name] [nvarchar](500) NOT NULL — название типа результата звонка
 +
**1-Неопределен
 +
**2-Занято
 +
**3-Не отвечает
 +
**4-Недостаточное время обработки
 +
**5-Успех
 +
**6-Пропуск оператором
 +
**7-Оператор отсутствует
 +
**8-Перезвонить позже
 +
**12-Исключение номера при синхронизации
 +
**13-Абонент прервал ожидание в очереди
 +
**15-Отбой из дозванивающихся
 +
**16-Исключение номера из обработки
 +
**17-Исключение абонента из обработки
 +
**18-Неуспех
 +
**19-Отбой из очереди
 +
**20-Удален оператором
 +
**21-Входящий звонок. Превышено число подключений
 +
**22-Входящий звонок вне периода активности
 +
**23-Входящий звонок вне расписания
 +
**24-Входящий звонок в неактивную задачу
 +
**25-Превышено время ожидания в очереди
 +
**26-Входящий звонок. Операторы отсутствует
 +
**27-Входящий звонок. Операторы заняты
 +
**28-Входящий звонок. Сбой или задача не найдена
 +
**29-Перезвонить на другой номер
 +
**30-Абонент не найден в таблице
 +
**31-Обнаружен факс
 +
 
 +
 
 +
'''[dbo].[A_CallCenter_Reports]''' - Отчеты call-центра
 +
*[Id] [uniqueidentifier] NOT NULL — id отчета
 +
*[Name] [nvarchar](2000) NULL — имя отчета
 +
*[Stream] [image] NULL - параметры отчета (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)

Версия 10:49, 20 марта 2014

Наверх

Раздел «Офис»

Модуль «Сотрудники»

Во вкладке отображается номерной план, который кешируется из БД при старте службы «oktellserver» либо при нажатии кнопки «Применить» и далее используется сервером. Статусы у номеров определяются внутренним функционалом сервера. Структура номерного плана будет рассмотрена далее. При добавлении номера в «Мой список» сервер Oktell добавляет в таблицу «A_Personal_ListInfo» информацию о данном номере (о всех пользователях которые содержатся в нем).


[A_Personal_ListInfo] — таблица в которой хранятся контакты пользователей Oktell

  • [Id] [uniqueidentifier] - идентификатор записи
  • [UserId] [uniqueidentifier] - Id пользователя Oktell
  • [NumberId] [uniqueidentifier] – Id номера в Oktell


[A_NumberPlan] - справочник номеров

  • [ID] [uniqueidentifier] - идентификатор номера
  • [Prefix] [nvarchar]- номер


Связи между таблицами:

[A_NumberPlan].[ID] <-> [A_Personal_ListInfo].[NumberId]

Модуль «Мои контакты»

Информация о контактах хранится в следующих таблицах:

[A_ClientGroups] — группы клиентов созданные пользователями (вкладка «Группы контактов»)

  • [Id] [uniqueidentifier] — id группы контактов
  • [Name] [nvarchar] — имя группы
  • [OwnerId] [uniqueidentifier] - id пользователя Oktell в случае если выбрана категория группы контактов «Личная»,
    если выбрана категория группы контактов «Общая» присваивается «00000000-0000-0000-0000-000000000000»


[A_Clients] — контакты созданные пользователями Oktell

  • [Id] [uniqueidentifier] — id данного клиента
  • [Name] [nvarchar] — Полное имя, наименование клиента
  • [OwnerId] [uniqueidentifier] — id пользователя Oktell в случае если выбрана категория контакта «Личная»,
    если выбрана категория «Общая» присваивается «00000000-0000-0000-0000-000000000000»


[A_ClientContacts] — информация о каждом номере в контакте

  • [Id] [uniqueidentifier] – id записи в таблице
  • [IdClient] [uniqueidentifier] — id данного клиента
  • [IdContact] [uniqueidentifier] — тип контакта (Телефон, Факс, ICQ, Сотовый, E-mail, Сайт, Skype)
  • [Content] [nvarchar] — контактные данные (например:номер телефона)
  • [IsDefaultPhone] [bit] — флаг, показывает используется ли контактные данные по умолчанию


[W_ClientRights] — Таблица необходимая для проверки прав доступа пользователей к контактам

  • [IdClient] [uniqueidentifier] - id клиента
  • [IdOwner] [uniqueidentifier] - — id пользователя Oktell в случае если выбрана категория контакта «Личная»,
    если выбрана категория «Общая» присваивается «00000000-0000-0000-0000-000000000000»


[A_ClientContactTypes] — типы контактных данных

  • [Id] [uniqueidentifier] — id записи
  • [Name] [nvarchar] — наименование типа (Телефон, Факс, ICQ, Сотовый, E-mail, Сайт, Skype)
  • [IsPhoneNumber] [bit] — является ли тип телефонным номером


Связи между таблицами:

[A_ClientGroups].[OwnerId] <-> [A_Users].[ID]
[A_Clients].[OwnerId] <-> [A_Users].[ID]
[A_ClientContacts].[IdClient] <-> [A_Clients].[ID]
[A_ClientContacts].[IdContact] <-> [A_ClientContactTypes].[ID]
[W_ClientRights].[IdClient] <-> [A_Clients].[ID]
[W_ClientRights].[OwnerId] <-> [A_Users].[ID]


История информационных сообщений по контактам:

[A_ClientHistory] — история сообщений

  • [Id] [uniqueidentifier] — id записи
  • [IdClient] [uniqueidentifier] — id контакта
  • [CreationDateTime] [datetime] — дата создания записи
  • [Content] [nvarchar] — текст сообщения
  • [IdUser] [uniqueidentifier] — id пользователя оставившего комментарий


Связи между таблицами:

[A_Clients].[ID] <-> [A_Users].[IdClient]
[A_ClientHistory].[IdUser] <-> [A_Users].[ID]


Модуль «Мои звонки»

Раздел представляет собой данные из таблицы [A_Stat_Connections_1x1] с фильтром по пользователю под которым запущено клиентское приложение Oktell. Структура данной таблицы будет рассмотрена далее.


Модуль «Переадресация»

[A_Redirect] — список правил переадресации

  • [Id] [uniqueidentifier] — id записи
  • [IdUser] [uniqueidentifier] — id пользователя для которого создано правило
  • [PriorityIndex] [int] — приоритет правила
  • [CreationDate] [datetime] — дата создания правила
  • [Caption] [nvarchar](100) — название правила
  • [Description] [nvarchar](255) — описание правила
  • [RedirectStateOnly] [bit] — флаг активно только в статусе переадресации
  • [CascadeRedirect] [bit] — флаг каскадной переадресации
  • [Enabled] [bit] — флаг активно всегда
  • [DestinationNumber] [nvarchar](50) — назначение переадресации (номер телефона)


[A_Redirect_TimeTable] — рабочий график правил переадресаций

  • [IdRedir] [uniqueidentifier] — id правила переадресации
  • [DayOfWeek] [int] — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
  • [StartTime] [datetime] — начальное время активности переадресации
  • [StopTime] [datetime] — конечное время активности переадресации


[A_Redirect_Abonents] — список абонентов для которых действует правило переадресации

  • [IdRedir] [uniqueidentifier] — id правила переадресации
  • [IdAbonent] [uniqueidentifier] — id абонента для которого действует правило,
    в случае если заполнен раздел «Дополнительные номера» указывается «00000000-0000-0000-0000-000000000000»
  • [Number] [nvarchar](50) — номер в случае заполнения раздела «Дополнительные номера»
  • [Description] [nvarchar](255) — Описание номера в случае заполнения раздела «Дополнительные номера»
  • [Type] [int] — тип абонента (0 — дополнительный номер, 1- пользователь Oktell, 2 – отдел Oktell, 3 — клиент из меню «Мои контакты»)


Связи между таблицами:

[A_Redirect_Abonents].[IdRedir] <-> [A_Redirect].[ID]
[A_Redirect_Abonents].[IdAbonent] <-> [A_Users].[ID]
[A_Redirect_TimeTable].[IdRedir] <-> [A_Redirect].[ID]
[A_Redirect].[IdUser] <-> [A_Users].[ID]


Модуль «Кабинет»

Вкладка «Голосовая почта»

[A_VoiceMail] — таблица всех голосовых сообщений отправленных пользователям

  • [Id] [uniqueidentifier] – ID записи
  • [RecieverId] [uniqueidentifier] — ID получателя, совпадает с ID если указана группа получателей
  • [RecieverIsGroup] [int] — флаг отправки группе
  • [SentTime] [datetime] — дата отправки
  • [RecievedTime] [datetime] — дата прослушивания
  • [FilePath] [ntext] — путь до файла
  • [Info] [ntext] — информация о создании голосового сообщения(из какого сценария был создан)
  • [CallerId] [nvarchar](500) — CallerId отправителя
  • [IsShown] [int] — флаг было ли прослушано сообщение
  • [WhoRecieved] [uniqueidentifier] — ID пользователя который прослушал сообщение

[A_VoiceMailReceivers] — таблица пользователей которым отправлено голосовое сообщение, заполняется только в случае если отправляется группе пользователей

  • [msgid] [uniqueidentifier] — ID голосового сообщения
  • [userid] [uniqueidentifier] — ID польвателей которым отправлено голосовое сообщение, указываются все пользователи, каждый в новой строке.


Связи между таблицами:

[A_VoiceMail].[Id] <-> [A_VoiceMailReceivers].[msgid]


Вкладка «Встречные звонки»

[A_CallBackOrders] — таблица всех встречных звонков для пользователей

  • [IDconn] [uniqueidentifier] — ID записи
  • [ClientId] [uniqueidentifier] — присваивается ID клиента если он присутствует в контактах любого пользователя
  • [CalledDateTime] [datetime] — время заказа встречного звонка
  • [OrderedTime] [datetime] - время когда необходимо совершить встречный звонок
  • [OrderedNumber] [nvarchar](30) — номер для встречного звонка
  • [Comment] [nvarchar](1000) - комментарии
  • [Done] [bit] — флаг выполнения
  • [DoneUserId] [uniqueidentifier] — ID пользователя который выполнил звонок
  • [Viewed] [bit] — флаг просмотра уведомления


[A_CallBackRecievers] — таблица получателей встречного звонка

  • [IDconn] [uniqueidentifier] — ID встречного звонка
  • [IntNumber] [nvarchar](20) — внутренний номер получателя


Связи между таблицами:

[A_CallBackOrders].[IDconn] <-> [A_CallBackRecievers].[IDconn]


Вкладка «Уведомления»

[A_User_NotifyLog] — таблица системных уведомлений пользователям

  • [ID] [uniqueidentifier] — ID записи
  • [IDuser] [uniqueidentifier] — ID получателя (пользователя)
  • [NotifyDateTime] [datetime] — дата уведомления
  • [TextSender] [nvarchar](500) — инициатор уведомления
  • [TextInfo] [nvarchar](4000) — текст уведомления
  • [WasShown] [int] — было ли отображено

Модуль «Статистика АТС»

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

[A_Stat_Connections_1x1] - таблица хранящая информацию о состоявшихся разговорах

  • [Id] [uniqueidentifier] - id записи
  • [IdChain] [uniqueidentifier] - id цепочки коммутаций (звонка)
  • [TimeStart] [datetime] - время начала коммутации
  • [TimeAnswer] [datetime] - время ответа
  • [TimeStop] [datetime] - время конца коммутации
  • [ReasonStart] [int] — причина начала (1-задача, 2-вх. звонок,3-исх. звонок,4-внутр. звонок,5-флеш,6-из IVR)
  • [ReasonStop] [int] - причина завершения (1-IVR положил трубку,2-Абонент положил трубку,3-конец IVR,4-Ошибка в IVR,5-Потеря соединения,6-флеш)
  • [StopSide] [int] - инициатор завершения (0 — А сторона, 1 — В сторона)
  • [ALineId] [uniqueidentifier] - id линии абонента А (00000000-0000-0000-0000-000000000000 если А это IVR )
  • [BLineId] [uniqueidentifier] - id линии абонента B (00000000-0000-0000-0000-000000000000 если B это IVR )
  • [AOutNumber] [nvarchar](50) — номер пользователя A
  • [BOutNumber] [nvarchar](50) – номер пользователя B
  • [ALineNum] [nvarchar](10) - номер линии абонента А (IVR если А это IVR)
  • [BLineNum] [nvarchar](10) - номер линии абонента В (IVR если В это IVR)
  • [AUserId] [uniqueidentifier] - Id пользователя (bf000000-0000-0000-0000-000000000000 — внешняя линия, ab000000-0000-0000-0000-000000000000 — IVR)
  • [BUserId] [uniqueidentifier] - Id пользователя (bf000000-0000-0000-0000-000000000000 — внешняя линия, ab000000-0000-0000-0000-000000000000 — IVR)
  • [ANumberDialed] [nvarchar](50) - набранный номер абонентом A
  • [BNumberDialed] [nvarchar](50) - набранный номер абонентом B
  • [IsRecorded] [int] - флаг (1-разговор записывался, 0- разговор не записывался)
  • [ConnectionType] [int] - тип коммутации (1-изнутри наружу,2-изнутри в IVR,3-изнутри внутрь,4-снаружи в IVR,5-снаружи внутрь,6-снаружи наружу,7-с IVR наружу,8-с IVR внутрь)
  • [Astr] [nvarchar](200) – CallerName абонента А
  • [Bstr] [nvarchar](200) - CallerName абонента B
  • [FromCC] [bit] - флаг (1-звонок в\из CC, 0- другие звонки)
  • [IsBetweenUsers] [bit] - коммутация между пользователями системы
  • [IdRecDir] [int] - id пути к записям разговоров, пересечение с таблицей A_Stat_RecordDirectories (0- папка по умолчанию)


Модуль «Планировщик»

Позволяет создавать задачи и назначать их на пользователей (при наличии прав контроля\подчинения).

[A_Scheduler_Tasks] – информация о созданных задачах

  • [Id] [uniqueidentifier] — ID записи
  • [UDirector] [uniqueidentifier] — ID пользователя который создал задачу
  • [UExecuter] [uniqueidentifier] — ID пользователя, исполнителя задачи
  • [Start] [datetime] — дата начала выполнения задачи
  • [Stop] [datetime] — дата завершения выполнения задачи
  • [MyStart] [datetime] — дата начала согласно настройкам «Мой график»
  • [MyStop] [datetime] — дата завершения согласно настройкам «Мой график»
  • [Title] [nvarchar](200) — имя задачи
  • [Comment] [text] — комментарии к задачу
  • [Priority] [int] — приоритет, от 1 (низкий) до 9 (высокий)
  • [DoneProcess] [int] — процент выполнения задачи
  • [Done] [bit] — флаг (1-задача выполнена, 0-задача не выполнена)
  • [Canceled] [bit] — флаг(1-задача отменена,0-задача выполняется)


Раздел «Call-центр»

Модуль «Войти в Call-центр» и «Выйти из Call-центра»

[A_CallCenter_UserStateHistory] — история входа\выхода пользователей в\из Call-центра

  • [Id] [uniqueidentifier] — ID записи
  • [OperatorId] [uniqueidentifier] — ID пользователя
  • [State] [int] — состояние (0-Система,1-Call-центр,2-Онлайн,3-Перерыв)
  • [TimeEnter] [datetime] — дата входа (установки нового состояния)
  • [TimeLeave] [datetime] — дата выхода (смены состояния)
  • [LengthSec] [float] — продолжительность нахождения в состоянии
  • [Info] [nvarchar](100) — причина перерыва при выборе причины «Прочие» указывается вручную
  • [SelfInfo] [bit] -
  • [ICode] [int] — код события (пример: может быть установлен в разделе «Администрирование»- «Call-центр» - «Типы предустановленных перерывов»
state=0 (Система) — устанавливается при запуске клиентского приложения пользователем.
state=2 (Онлайн)— завершается либо при выходе из Call-центра либо при смене состояния на Перерыв


Модуль «Мое рабочее место»

Вкладка «Информация» и «Статусы» формируются с помощью процедур. Таблица в которой хранится рабочий график описана ниже.


Модуль «Операторы»

[A_CallCenter_OperatorTimeTable] — таблица рабочего графика операторов

  • [Id] [uniqueidentifier] — ID записи
  • [IdOperator] [uniqueidentifier] — ID оператора
  • [TableType] [int] — тип графика (1-рабочее время, 2-перерыв)
  • [DayOfWeek] [int] — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
  • [StartTime] [datetime] — дата начала интервала
  • [FinishTime] [datetime] — дата конца интервала


Модуль «Проекты»

[A_TaskManager_Projects] — таблица проектов

  • [Id] [uniqueidentifier] — ID проекта
  • [Name] [nvarchar](100) — имя проекта
  • [Description] [nvarchar](255) -
  • [DateCreation] [datetime] — дата создания проекта
  • [IdCreator] [uniqueidentifier] — ID пользователя, создателя проекта
  • [MainScript] [nvarchar](500) — название главного сценария проекта
  • [Shared] [bit] — флаг (1-доступен всем, 0-доступен только определенным пользователям)
  • [UserResType] [int] — флаг (1-созданы пользовательские результаты звонка, 0-пользовательских результатов нет)


[A_TaskManager_CardUserResultsProject] — таблица индивидуальных статусов для проектов

  • [Id] [int] — ID статуса (код)
  • [Name] [nvarchar](200) — имя статуса (значение)
  • [IsOutput] [bit] — тип задачи (1-исходящая,0-входящая)
  • [Success] [bit] — тип результата (1-успех,0-неудача)
  • [ProjectId] [uniqueidentifier] — ID проекта


[A_TaskManager_ProjectUsers] — Таблица пользователей с доступом к проекту (УСТАРЕВШАЯ. Для версий без Политики прав доступа)

  • [IdProject] [uniqueidentifier] — ID проекта
  • [IdUser] [uniqueidentifier] — ID пользователя, которому разрешен доступ

Связи между таблицами:

[A_TaskManager_Projects].[ID] <-> [A_TaskManager_CardUserResultsProject].[ProjectId]
[A_TaskManager_Projects].[ID] <-> [A_TaskManager_ProjectUsers].[IdProject]
[A_TaskManager_ProjectUsers].[IdUser] <-> [A_Users].[Id]


Политика прав доступа.

[oktell_settings].[dbo].[A_Policy_Objects] – Политика прав доступа. Защищаемые объекты (проекты, таблицы абонентов, задачи, отчеты, дашборды, индикаторы)

  • [id] [uniqueidentifier] NOT NULL — id объекта доступа
  • [type] [int] NULL — id типа объекта доступа
  • [name] [nvarchar](500) NULL — имя объекта доступа
  • [idParentProject] [uniqueidentifier] NULL — id родителя объекта (id проекта для задач и т. д.)


[oktell_settings].[dbo].[A_Policy_ObjectTypes] — Политика прав доступа. Типы объектов, поддерживаемых политикой прав доступа

  • [id] [int] NOT NULL — id типа объекта доступа
  • [name] [nvarchar](500) NULL — имя типа объекта доступа


[oktell_settings].[dbo].[A_Policy_PrivilegeDefaults] - Политика прав доступа. Привилегии по умолчанию, применяемые к вновь созданным объектам.

  • [idPrivilege] [uniqueidentifier] NULL — id привилегии
  • [idSubject] [uniqueidentifier] NULL — id субъекта (пользователь, оператор задачи и т.д.)
  • [subjType] [int] NULL — тип субъекта (описан в таблице [oktell_settings].[dbo].[A_Policy_SubjectTypes])
  • [subjExtraId] [uniqueidentifier] NULL — id привилегии


[oktell_settings].[dbo].[A_Policy_Privileges] – Политика прав доступа. Доступные привилегии для различных типов объектов.

  • [id] [uniqueidentifier] NOT NULL - id привилегии
  • [objType] [int] NULL — id типа субъекта
  • [knot] [nvarchar](50) NULL — id вида субъекта
  • [name] [nvarchar](1000) NULL — имя субъекта (имя права доступа)
  • [code] [nvarchar](200) NULL — описание субъекта (изменение задачи, просмотр задачи и т.д.)
  • [levelNesting] [int] NULL — уровень вложения
    • 1-просмотр (дашборды, сценарии, индикаторы, задачи, проекты, отчеты, таблицы абонентов)
    • 2-редактирование (проекты, отчеты, таблицы абонентов, сценарии, индикаторы, дашборды)
    • 2-запуск (задачи)
    • 3-перезапуск (задачи)
    • 4-изменение (задачи)


[oktell_settings].[dbo].[A_Policy_SubjectGroupCache] - Политика прав доступа. Кэш текущих настроек политики относительно всех пользователей и их участия в субъектных группах.

  • [idUser] [uniqueidentifier] NULL — id пользователя (из таблицы [oktell_settings].[dbo].[a_users])
  • [idSubject] [uniqueidentifier] NULL – id субъекта (сотрудника, отдела, роли, субъектной группы, конечного объекта права доступа{проекта})
  • [subjType] [int] NULL — тип субъекта
  • [subjExtraId] [uniqueidentifier] NULL — id субъектной группы (поле groupid таблицы [oktell_settings].[dbo].[A_Policy_SubjectTypes])


[oktell_settings].[dbo].[A_Policy_SubjectPrivileges] - Политика прав доступа. Привилегии на операции с объектами, назначенные конкретному субъекту (субъектной группе)

  • [idSubject] [uniqueidentifier] NULL – id субъекта (сотрудника, отдела, роли, субъектной группы, конечного объекта права доступа{проекта})
  • [subjType] [int] NULL - тип субъекта
  • [subjExtraId] [uniqueidentifier] NULL - id субъектной группы (поле groupid таблицы [oktell_settings].[dbo].[A_Policy_SubjectTypes])
  • [idObject] [uniqueidentifier] NULL — id объекта (из [oktell_settings].[dbo].[A_Policy_Objects])
  • [idPrivilege] [uniqueidentifier] NULL — id привилегии (из [oktell_settings].[dbo].[A_Policy_Privileges])
  • [value] [int] NULL — 0 — привилегия не активна, 1-привилегия активна
  • [idCreator] [uniqueidentifier] NULL — id пользователя создавшего привилегию


[oktell_settings].[dbo].[A_Policy_SubjectTypePriority] - Политика прав доступа. Приоритеты типов субъектов.

  • [idType] [int] NOT NULL — id субъекта
  • [priority] [int] NULL — приоритет


[oktell_settings].[dbo].[A_Policy_SubjectTypes] - Политика прав доступа. Типы субъектов (субъектных групп).

  • [id] [int] NULL — id субъекта, субъектной группы
  • [name] [nvarchar](500) NULL — имя субъекта, субъектной группы
  • [groupId] [uniqueidentifier] NULL - id субъектной группы
  • [isNested] [bit] NULL — вложенный ли субъект (1-да, 0-нет)

Модуль «Таблицы абонентов»

[A_TaskManager_Lists] — созданные таблицы

  • [Id] [uniqueidentifier] — ID записи
  • [Name] [nvarchar](100) — имя таблицы
  • [ProjectId] [uniqueidentifier] – ID проекта
  • [Type] [int] — тип таблицы:
    • 5 - Локальная таблица - название таблицы указано в поле JoinedTable - без запроса sql
    • 6 - Локальная таблица - название таблицы указано в поле JoinedTable - с запросом sql (запрос указан в поле Query)
    • 2 - Внешняя таблица - прикрепленная таблица БД указана в поле JoinedTable - без запроса sql
    • 3 - Внешняя таблица - прикрепленная таблица БД указана в поле JoinedTable - с запросом sql (запрос указан в поле Query)
  • [Query] [nvarchar](1000) — запрос к БД в случае использования типа таблицы 3 или 6
  • [JoinedTable] [nvarchar](100) — имя таблицы в БД
  • [ColumnId] [nvarchar](100) — имя поля с назначением «Идентификатор»
  • [ColumnsPhone] [nvarchar](1000) — имена полей с назначением «Телефон» перечисляются через запятую
  • [ColumnsViewed] [nvarchar](1000) — имена полей с назначением «Информационное поле»
  • [ColumnsViewedDescription] [nvarchar](4000) — описание полей с назначением «Информационное поле», если описание указано на русс. яз. то перед ним устанавливается #%; перечисление через запятую
  • [ColumnsSqlType] [nvarchar](4000) — тип поля sql
  • [ColumnsSqlTypeSize] [nvarchar](4000) – размер поля
  • [DbConnString] [nvarchar](1000) — строка подключения в случае выбора внешней таблицы и способа подключения отличного от собственной базы данных Oktell
  • [DbConnMode] [int] – способ подключения к таблице в БД (0-локальная таблица, способ подключения не указан, 1-собственная база данных Oktell, 2-ADO, 3-OLE, 4-Oracle, 5-ODBC)
  • [DbProviderName] [nvarchar](100) – провайдер данных


Модуль «Сценарии»

Информация о сценариях хранится в xml файлах в каталоге сервера. В БД данные о сценариях не сохраняются.


Модуль «Задачи»

[A_TaskManager_Tasks] — список созданных задач

  • [Id] [uniqueidentifier] — ID задачи
  • [Name] [nvarchar](500) — имя задачи
  • [Active] [int] — флаг (1-задача активирована, 0-задача не активна)
  • [Done] [int] — флаг(1-задача завершена, 0-задача не завершена)
  • [Type] [int] — тип задачи (10-IVR,20-Operator)
  • [IvrName] [nvarchar](500) — название сценария IVR
  • [StopReason] [int] – причина остановки задачи
  • [TalkScript] [nvarchar](500) — название сценария диалога
  • [PauseWhenBusy] [float] — пауза при сигнале «Занято»
  • [PauseWhenNotRespond] [float] — пауза при сигнале «Не отвечает»
  • [MaxEffortCountBusy] [int] — число попыток при «Занято»
  • [MaxEffortCountNotRespond] [int] - число попыток при «Не отвечает»
  • [MinTimeToCheckDone] [int] — минимальное время после которого звонок считается успешным (0-600 сек)
  • [TryConnectTime] [int] — время попытки установления соединения
  • [ChoiceOperator] [int] — вариант обхода операторов (1-Прямо по списку (нестрогий), 2-Наименее занятый в задаче, 3-Наименее занятый в течение дня, 4-Наиболее свободный с момента последнего разговора, 5-Случайно, 6-Поочередно, 11-Пользовательская процедура в БД)
  • [IsOutputTask] [int] - тип задачи (1-исходящая,0-входящая)
  • [Resulted] [int] – флаг завершения задачи (1-задача завершена,0-задача не завершена)
  • [ResultInfo] [nvarchar](500) — информация о завершении задачи
  • [ResultDateTime] [datetime] — дата завершения задачи
  • [CreationUserId] [uniqueidentifier] — ID пользователя, который создал задачу
  • [CreationType] [int] — тип созданной задачи (1-AutoCall, 2-задача, 4-IVRtask)
  • [CreationDateTime] [datetime] — дата создания задачи
  • [StartRunDateTime] [datetime] — дата запуска задачи (при выборе периода активности задачи)
  • [StopRunDateTime] [datetime] — дата остановки задачи (при выборе периода активности задачи)
  • [ListId] [uniqueidentifier] — ID прикрепленной таблицы абонентов
  • [OperatorShowQuery] [bit] — флаг, устанавливается при выборе типа задачи с запросом у оператора (1-установлено,0-выбран другой вариант)
  • [OperatorShowNotify] [bit] - флаг, устанавливается при выборе типа задачи с уведомлением оператора (1-установлено,0-выбран другой вариант)
  • [ProgressCall] [bit] - флаг, устанавливается при выборе типа задачи прогрессивный обзвон (1-установлено,0-выбран другой вариант)
  • [ProgressCallMaxCount] [int] — максимальное число звонков при прогрессивном обзвоне на каждого оператора
  • [ProgressCallKeepQueue] [bit] — флаг, помещать в очередь при прогрессивном обзвоне (1-параметр включен, 0-выключен)
  • [QueueUse] [bit] — флаг, использование очереди (1-очередь используется, 0-очередь не используется)
  • [QueueMaxCount] [int] — максимальное число абонентов в очереди. Для исходящих задач с активированным прогрессивным набором
  • [QueueLoyality] [int] — лояльность к абонентам (0-отсутствует, 1-средняя лояльность, 2-полная лояльность)
  • [ChoiceAbonent] [int] — приоритет обхода абонентов (0-строгий, 1-нестрогий, 2-отсутствует, 3-случайно)
  • [ChoiceNumber] [int] — приоритет обхода номеров (0-строгий, 1-нестрогий, 2-отсутствует, 3-случайно)
  • [ChoiceTable] [int] — общий приоритет обхода (0-по номерам, 1-по абонентам)
  • [IdProject] [uniqueidentifier] — ID проекта в котором создана задача
  • [DontSetDone] [bit] — флаг, никогда не останавливать задачу (1-параметр активен, 0-параметр не активен)
  • [PauseSyncListWaitingNewAbonent] [int] — интервал синхронизации с таблицей абонентов при отсутствии активности (сек)
  • [IncomingCallsMaxCount] [int] — ограничение количества внешних линий (вкладка ресурсы). При указании количества больше чем
  • [ServiceScript] [nvarchar](200) — служебный сценарий (задачи — вкладка параметры)
  • [DialCallerId] [nvarchar](20) - подставляемый номер телефона (callerid)
  • [IncomingUpdateIfExists] [bit] – заполнение таблицы (1-каждый звонок модифицирует информацию, 0-каждый звонок создает новую запись)
  • [ActiveOnHolidays] [bit] — флаг, активирует расписание праздников
  • [Code] [nvarchar](30) — код задачи
  • [PauseSyncListForcedSec] [int] — интервал синхронизации (сек)
  • [QueueMaxTimeMinutes] [int] - ограничивать время в очереди (мин)
  • [DirectDbMethod] [int] – метод работы с таблицей (0-загрузка в память и синхронизация, 1-кэш внутри БД. Встроенный метод, 2-сценарий поиска)


[oktell_settings].[dbo].[A_TaskManager_Operators] - Менеджер задач. Операторы голосовых задач

  • [TaskId] [uniqueidentifier] NOT NULL — id задачи
  • [OperatorId] [uniqueidentifier] NULL — id назначенного оператора на данную задачу
  • [Priority] [int] NULL — приоритетен ли оператор по данной задаче (1-да,0-нет)


[oktell_settings].[dbo].[A_TaskManager_RunPeriods] - Менеджер задач. Расписание работы голосовых задач.

  • [TaskId] [uniqueidentifier] NOT NULL — id задачи
  • [DayOfWeek] [int] NULL — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
  • [StartTime] [datetime] NULL - дата начала интервала
  • [FinishTime] [datetime] NULL - дата окончания интервала


[oktell_settings].[dbo].[A_TaskManager_TaskAuto_List] - Менеджер задач. Список абонентов для автоматических голосовых задач, созданных компонентом "Задание на звонок".

  • [Id] [int] IDENTITY(1,1) NOT NULL — id абонента в списке
  • [Phone] [nvarchar](20) NOT NULL — номер на который будет производиться дозвон
  • [CreationDate] [datetime] NOT NULL — дата создания


[oktell_settings].[dbo].[A_TaskManager_TaskExtLines] - Менеджер задач. Внешние линии голосовых задач.

  • [TaskId] [uniqueidentifier] NOT NULL — id задачи
  • [ExtLineId] [uniqueidentifier] NULL — id внешней линии прикрепленной к задаче


[oktell_settings].[dbo].[A_TaskManager_TaskProperties] - Менеджер задач. Дополнительные свойства голосовых задач.

  • [IdTask] [uniqueidentifier] NOT NULL — id задачи
  • [Stream] [image] NULL — информация о доп настройках (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)


[oktell_settings].[dbo].[A_TaskManager_TaskSupervisors] - Менеджер задач. Супервизоры голосовых задач.

  • [TaskId] [uniqueidentifier] NULL — id задачи
  • [SupervisorId] [uniqueidentifier] NULL — id пользователя назначенного супервизором на данную задачу


[oktell_settings].[dbo].[A_SmsTaskManager_Tasks] - Менеджер задач. Текстовые задачи.

  • [Id] [uniqueidentifier] NOT NULL - id текстовой задачи
  • [IdProject] [uniqueidentifier] NOT NULL - id проекта в котором создана задача
  • [Name] [nvarchar](500) NOT NULL - имя текстовой задачи
  • [Code] [nvarchar](30) NOT NULL - код текстовой задачи
  • [Active] [int] NOT NULL - флаг (1-задача активирована, 0-задача не активна)
  • [Done] [int] NOT NULL - флаг(1-задача завершена, 0-задача не завершена)
  • [SvcScript] [nvarchar](200) NOT NULL - название служебного сценария
  • [ChoiceOperator] [int] NOT NULL - вариант обхода операторов (1-по списку,2-наименее занятый по задаче,3-наименее занятый,4-наиболее свободный,5-случайный выбор,6-поочередно)
  • [IsOutputTask] [int] NOT NULL - флаг, текстовые задачи всегда исходящие. Установлен в 1
  • [Resulted] [int] NOT NULL - флаг(1-задача завершена, 0-задача не завершена)
  • [ResultType] [int] NOT NULL - флаг(1-задача завершена, 0-задача не завершена)
  • [ResultInfo] [nvarchar](500) NOT NULL - информация о завершении задачи
  • [ResultDateTime] [datetime] NOT NULL — дата последнего изменения\остановки текстовой задачи
  • [CreationUserId] [uniqueidentifier] NOT NULL — id пользователя создавшего задачу
  • [CreationType] [int] NOT NULL — тип созданной задачи (1-AutoCall, 2-задача, 4-IVRtask)
  • [CreationDateTime] [datetime] NOT NULL — дата создания текстовой задачи
  • [StartRunDateTime] [datetime] NOT NULL - дата запуска задачи (при выборе периода активности задачи)
  • [StopRunDateTime] [datetime] NOT NULL - дата завершения задачи (при выборе периода активности задачи)
  • [ListId] [uniqueidentifier] NOT NULL - ID прикрепленной таблицы абонентов
  • [DontSetDone] [bit] NOT NULL — флаг, никогда не останавливать задачу (0-флаг не установлен,1-флаг установлен)
  • [ActiveOnHolidays] [bit] NOT NULL — флаг, активировано расписание праздников (0-флаг не установлен,1-флаг установлен)
  • [PauseSyncListWaitingNewAbonent] [int] NOT NULL – интервал синхронизации при отсутствии активности (сек)
  • [PauseSyncListForcedSec] [int] NOT NULL — интервал синхронизации (сек)
  • [IsMultiThread] [bit] NOT NULL — флаг, использование потоков. Поабонентное исполнение (0-не активирован, 1-активирован)
  • [ThreadCount] [int] NOT NULL — количество потоков (если активирован флаг использование потоков, поабонентное исполнение).


[dbo].[A_SmsTaskManager_Supervisors] - Менеджер задач. Супервизоры текстовых задач.

  • [TaskId] [uniqueidentifier] NOT NULL — id текстовой задачи
  • [SupervisorId] [uniqueidentifier] NOT NULL — id супервизора текстовой задачи


[dbo].[A_SmsTaskManager_Operators] - Менеджер задач. Операторы текстовых задач.

  • [TaskId] [uniqueidentifier] NOT NULL — id текстовой задачи
  • [OperatorId] [uniqueidentifier] NOT NULL — id оператора текстовой задачи
  • [Priority] [int] NULL — флаг, приоритет выбора оператора при выполнении задачи (1-установлен приоритет для данного оператора, 0-оператор не приоритетный)


[dbo].[A_SmsTaskManager_RunPeriods] - Менеджер задач. Расписание текстовых задач.

  • [TaskId] [uniqueidentifier] NOT NULL — id текстовой задачи
  • [DayOfWeek] [int] NOT NULL — день недели (1-пн, 2-вт, 3-ср, 4-чт, 5-пт, 6-сб, 0-вс)
  • [StartTime] [datetime] NOT NULL - дата начала интервала
  • [FinishTime] [datetime] NOT NULL - дата окончания интервала


Модуль «Ресурсы»

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

  • состояние операторов (в логике)
  • нагрузка операторов (в данной процедуре)
  • нагрузка линий (в данной процедуре)
  • использование ресурсов задачами (в данной процедуре)
  • очередь (в логике)
  • процент выполнения задачи (в логике)

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


Модуль «Индикаторы»

[dbo].[A_CallCenter_Indicators] - Индикаторы call-центра.

  • [Id] [uniqueidentifier] NOT NULL — id идентификатора
  • [Name] [nvarchar](2000) NULL — имя идентификатора
  • [Stream] [image] NULL — параметры идентификатора (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)


Модуль «Статистика»

Вся статистика работы в call-центре попадает в пространственную БД «oktell_cc_temp». Все отчеты, касающиеся работы Call-центра строятся на основе лежащей в ней информации. Подробнее об отчетах см. разделы Call-center. Статистика и Call-center. Индикаторы.

Три пространственных таблицы:

A_Cube_CC_EffortConnections - информация о коммутациях в call-центре и попытках дозвона. A_Cube_CC_OperatorStates - информация о состояниях операторов в call-центре. A_Cube_CC_CallQueue - информация о состояниях и нагрузках очередей входящих задач.


А также таблицы с категориями:

A_Cube_CC_Cat_OperatorInfo - информация об операторах. A_Cube_CC_Cat_OperatorStateTypes - информация об используемых состояниях операторов. A_Cube_CC_Cat_Project - информация о проектах. A_Cube_CC_Cat_Task - информация о задачах. A_Cube_CC_Cat_TaskResultTypes - информация о результатах совершения звонков.


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

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


[oktell_cc_temp].[dbo].[A_Cube_CC_EffortConnections] - После каждого звонка или попытки звонка в задаче в эту таблицу автоматически заносится коммутационная информация со всей неслужебной информацией, которая может быть полезна при составлении отчетов.

  • [IdProject] [uniqueidentifier] - Id проекта совершенного звонка или попытки совершения звонка. Пересечение с таблицей A_Cube_CC_Cat_Project.
  • [IdTask] [uniqueidentifier] - Id задачи. Пересечение с таблицей A_Cube_CC_Cat_Task.
  • [IsOutput] [bit] - Флаг-признак исходящей задачи.
  • [IdEffort] [uniqueidentifier] - Id попытки звонка (менеджер задач устанавливает перед началом набора номера)
  • [IdOperator] [uniqueidentifier] - Id оператора, производившего обработку. IVR также считается оператором и имеет виртуальный код. Пересечение с таблицей A_Cube_CC_Cat_OperatorInfo.Поле может быть не заполнено (is NULL), в случае, если попытка была прервана до установления соединения (например, занято).
  • [IdInList] [int] - Код абонента в списке, прикрепленном к задаче.
  • [AbonentNumber] [nvarchar] (20) - Номер абонента, по которому производился дозвон (исх. задача), или с которого производился звонок (вх. задача).
  • [CallResult] [int] - Результат звонка. Пересечение с таблицей A_Cube_CC_Cat_TaskResultTypes.
  • [CallResultInfo] [nvarchar] (100) - Описание результата (если было назначено).
  • [DateTimeStart] [datetime] - Дата и время начала звонка/коммутации.
    • Для входящих задач - момент начала вызова оператора для первой коммутации и момент коммутации при последующих (после FLASH).
    • Для исходящих задач - момент начала вызова абонента для первой коммутации и момент самой коммутации при последующих (после FLASH).
    • Время начала самой первой коммутации доступно в поле TimeAnswer таблицы A_Stat_Connections_1x1 основной БД (связка по полям IdConn / Id).
  • [DateStart] [datetime] - Дата начала звонка с нулевым временем.
  • [TimeStart] [datetime] - Время начала звонка с нулевой датой.
  • [DateTimeStop] [datetime] - Дата и время окончания коммутации.
  • [IdConn] [uniqueidentifier] - Id коммутации. В контексте одного звонка при переключении оператором звонка на другого оператора или в IVR каждая коммутация имеет отдельную запись в таблице. Может быть не заполнено (is NULL).
  • [IdChain] [uniqueidentifier] - Id звонка (цепочки коммутаций). Одинаково для всех коммутаций, в контексте одного звонка. Может быть не заполнено (is NULL).
  • [IdAUser] [uniqueidentifier] - Id звонящего абонента. Может быть не заполнено (is NULL).
  • [IdBUser] [uniqueidentifier] - Id принимающего звонок абонента. Может быть не заполнено (is NULL).
  • [IdExtLine] [uniqueidentifier] - Id внешней линии, по которой происходит реализация звонка.
  • [LenTime] [float] - Длительность коммутации в секундах.
  • [LenQueue] [float] - Длительность ожидания в очереди абонентом перед коммутацией с первым оператором.
  • [IsBetweenOp] [bit] - Флаг коммутации, когда разговор происходит между двумя операторами, абонент находится во Flash-буфере. Может быть не заполнено (is NULL).
  • [OpponentInfo] [nvarchar] (100) - Информация об абоненте.
  • [IsHandled] [bit] - Флаг обработанного звонка. 0, когда коммутации не произошло.
  • [IsSuccess] [bit] - Флаг успешной обработки. Подробно см. раздел Стоп-форма*Call-центр. Сценарии. Сценарии диалога. Стоп-форма.
  • [IsRecorded] [bit] - Флаг наличия файлов с записью разговора. Может быть не заполнено (is NULL).
  • [IdRecDir] [int] - Id каталога, в который происходит запись. Пересечение с таблицей основной БД A_Stat_RecordDirectories. Может быть не заполнено (is NULL).
  • [ALineNum] [nvarchar] (10) - Код линии, совершающей звонок.
  • [BLineNum] [nvarchar] (10) - Код линии, принимающей звонок.
  • [UserResult] [int] - Код пользовательского результата, который выставил оператор после разговора с абонентом.Пересечение с таблицей из основной БД A_TaskManager_CardUserResults. Подробно см. раздел Call-центр. Сценарии. Сценарии диалога. Стоп-форма.


[oktell_cc_temp].[dbo].[A_Cube_CC_OperatorStates] - Состояния операторов при работе в call-центре с привязкой к конкретным временным интервалам.

  • [Id] [int] - Целочисленный идентификатор для служебного пользования.
  • [IdTask] [uniqueidentifier] - Id задачи, в контексте которой оператор находился в данном состоянии. Пересечение с таблицей A_Cube_CC_Cat_Task. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
  • [IsOutput] [bit] - Флаг-признак исходящей задачи. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
  • [IdOperator] [uniqueidentifier] - Id оператора. Пересечение с таблицей A_Cube_CC_Cat_OperatorInfo.
  • [CallResult] [int] - Результат звонка, в ходе которого оператор находился в данном состоянии. Пересечение с таблицей A_Cube_CC_Cat_TaskResultTypes. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
  • [State] [int] - Состояние оператора. Пересечение с таблицей A_Cube_CC_Cat_OperatorStateTypes.
  • [DateTimeStart] [datetime] - Дата и время начала пребывания в данном состоянии.
  • [DateStart] [datetime] - Дата начала пребывания в данном состоянии. Время нулевое.
  • [TimeStart] [datetime] - Время начала пребывания в данном состоянии Дата нулевая.
  • [DateTimeStop] [datetime] - Дата и время окончания пребывания в данном состоянии.
  • [LenTime] [float] - Длительность в секундах пребывания в данном состоянии.


[oktell_cc_temp].[dbo].[A_Cube_CC_CallQueue] - Состояние очередей задач (количество ожидающих абонентов, количество обслуживаемых абонентов, количество онлайн-операторов). По умолчанию отключена, и вредна в крупных КЦ в силу массового потока постоянных изменений.

  • [Id] [int] - Целочисленный идентификатор для служебного пользования.
  • [IdTask] [uniqueidentifier] - Id задачи, чья очередь содержится в записи.
  • [IdProject] [uniqueidentifier] - Id проекта задачи.
  • [DateTimeStart] [datetime] - Дата и время начала периода с неизменяемыми количественными значениями.
  • [DateStart] [datetime] - Дата начала периода, время нулевое.
  • [TimeStart] [datetime] - Время начала периода, дата нулевая.
  • [DateTimeStop] [datetime] - Дата и время окончания периода. У последней внесенной записи по задаче всегда пусто (is NULL).
  • [CountQueue] [int] - Количество абонентов, находящихся в очереди в текущем периоде
  • [CountOperator] [int] - Количество операторов, обслуживающих задачу, активных в текущем периоде.
  • [CountTalking] [int] - Количество ведущихся по задаче разговоров в текущем периоде. При ненулевой очереди отличается от общего числа активных операторов на число операторов, занятых в других задачах.
  • [elt1WaitStart] [datetime] - Дата и время начала ожидания первого абонента в очереди.
  • [elt1WaitSec] [int] - Время в секундах, прошедшее с начала ожидания первого абонента в очереди.

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

При большом объеме звонков заполнение таблицы может оказывать значительную нагрузку на сервер БД, поэтому по умолчанию заполнение не ведется. Режим заполнения может быть выбран в разделе Администрирование. Общие настройки. Управление сервером БД.

В таблицах категорий для пользования отведены два поля: [Id] и [Name]. В зависимости от типа данных [Id] принимает значения int или uniqueidentifier.


[oktell_cc_temp].[dbo].[A_Cube_CC_Cat_OperatorStateTypes] – типы состояний оператора

  • [Id] [int] NOT NULL – id состояния
  • [Name] [nvarchar](500) NOT NULL – имя состояния в котором находится оператор


[oktell_cc_temp].[dbo].[A_Cube_CC_Cat_TaskResultTypes] — типы результатов звонков по задачам

  • [Id] [int] NOT NULL — id типа результата
  • [Name] [nvarchar](500) NOT NULL — название типа результата звонка
    • 1-Неопределен
    • 2-Занято
    • 3-Не отвечает
    • 4-Недостаточное время обработки
    • 5-Успех
    • 6-Пропуск оператором
    • 7-Оператор отсутствует
    • 8-Перезвонить позже
    • 12-Исключение номера при синхронизации
    • 13-Абонент прервал ожидание в очереди
    • 15-Отбой из дозванивающихся
    • 16-Исключение номера из обработки
    • 17-Исключение абонента из обработки
    • 18-Неуспех
    • 19-Отбой из очереди
    • 20-Удален оператором
    • 21-Входящий звонок. Превышено число подключений
    • 22-Входящий звонок вне периода активности
    • 23-Входящий звонок вне расписания
    • 24-Входящий звонок в неактивную задачу
    • 25-Превышено время ожидания в очереди
    • 26-Входящий звонок. Операторы отсутствует
    • 27-Входящий звонок. Операторы заняты
    • 28-Входящий звонок. Сбой или задача не найдена
    • 29-Перезвонить на другой номер
    • 30-Абонент не найден в таблице
    • 31-Обнаружен факс


[dbo].[A_CallCenter_Reports] - Отчеты call-центра

  • [Id] [uniqueidentifier] NOT NULL — id отчета
  • [Name] [nvarchar](2000) NULL — имя отчета
  • [Stream] [image] NULL - параметры отчета (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)