Структура БД Oktell
Содержание
- 1 Раздел «Офис»
- 2 Раздел «Call-центр»
- 2.1 Модуль «Войти в Call-центр» и «Выйти из Call-центра»
- 2.2 Модуль «Мое рабочее место»
- 2.3 Модуль «Операторы»
- 2.4 Модуль «Проекты»
- 2.5 Политика прав доступа.
- 2.6 Модуль «Таблицы абонентов»
- 2.7 Модуль «Сценарии»
- 2.8 Модуль «Задачи»
- 2.9 Модуль «Ресурсы»
- 2.10 Модуль «Индикаторы»
- 2.11 Модуль «Статистика»
- 2.12 Модуль «Контрольные события»
Раздел «Офис»
Модуль «Сотрудники»
Во вкладке отображается номерной план, который кешируется из БД при старте службы «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)
- 5 - Локальная таблица - название таблицы указано в поле JoinedTable - без запроса sql
- [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 - параметры отчета (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)
Модуль «Контрольные события»
[oktell_settings].[dbo].[A_CallCenter_ControlEvents] - Контрольные события call-центра.
- [Id] [uniqueidentifier] NOT NULL — id контрольного события
- [Name] [nvarchar](500) NULL — имя контролького события
- [Type] [int] NULL - тип контрольного события
- 1-Предустановленное контрольное событие
- 3-SQL-запрос
- [Type2] [int] NULL — тип контрольного события
- 0-SQL-запрос (так же соответствующее значение столбца [Type] должно быть установлено = 3)
- 1-Превышение времени обработки звонка в задаче
- 2-Пропуск оператором входящего вызова
- 4-Превышение допустимого времени предвызывной обработки
- 5-Превышение допустимого времени обратного вызова
- 6-Превышение допустимого времени поствызывной обработки
- 7-Превышение допустимого времени в статусе перерыва
- 8-Выход оператора из call-центра или системы в рабочее время
- 9-Звонок от/к оператору вне задачи
- 10-оператор первым положил трубку
- 11-Оператор выбрал пропуск вызова по запросу исходящей задачи
- 12-Число активных операторов задачи менее установленного
- 13-Число активных операторов задачи менее определенного расписанием (в процентах)
- 14-Число абонентов в очереди задачи более установленного
- 15-Максимальное время ожидания абонента в очереди задачи более установленного
- 16-Оператор пропустил вызов из задачи
- 17-Оператор выбрал удаление абонента из списка по запросу исходящей задачи
- [Active] [bit] NULL - флаг (1-контрольное событие активировано, 0- контрольное событие не активировано)
- [Stream] [image] NULL - параметры контрольного события (НЕ ПОДЛЕЖИТ РЕДАКТИРОВАНИЮ)
[oktell].[dbo].[A_CallCenter_ControlEventsJournal] - Контрольные события call-центра. Журнал событий.
- [Id] [int] IDENTITY(1,1) NOT NULL – id записи в таблице
- [IdEvent] [uniqueidentifier] NULL - id контрольного события
- [EventDateTime] [datetime] NULL — Дата и время выполнения контрольного события
- [EventDate] [datetime] NULL — дата выполнения контрольного события
- [EventTime] [datetime] NULL — время выполнения контрольного события
- [ValStr] [nvarchar](100) NULL — величина превышения нормативного значения по контрольному событию
- [ValDec] [decimal](18, 0) NULL — количество срабатываний контрольного события (например при пропуске звонка, удалении из обзвона и т.д.)
- [IdTask] [uniqueidentifier] NULL — id задачи по которому выполнилось контрольное событие
- [IdOperator] [uniqueidentifier] NULL — id оператора у которого выполнилось контрольное событие
- [Comment] [nvarchar](3000) NULL - комментарии