Infinity X – краткое описание БД статистики

Infinity X – краткое описание БД статистики

Общая информация

База данных статистики по умолчанию создается под управлением СУБД PostgreSQL и имеет наименование Cx_Statistics. При стандартных настройках СУБД PostgreSQL расположена на порту 10000, логин cxdbuser, пароль cxdbwizard.

Первичный ключ в большинстве таблиц – поле IDс типом bigint. Обеспечивается сквозная уникальность идентификаторов при помощи единого генератора a_gen_id, расположенного в БД Cx_Configuration.

 

Описание таблиц

S_Seances – звонки (синонимы: сеансы, цепочки, обращения). Звонок описывается одной строкой, которая содержит информацию о его переводах, удержаниях и т.д. Информация о первых нескольких переводах содержится в полях B1*, B2*, B3*, B4*, BL* таблицы. Более подробная информация – в таблице S_Connections

S_Connections– разговоры (синонимы: соединения, коммутации). Один звонок состоит, как правило, из нескольких разговоров. В разговоре участвует два абонента (за исключением конференций). Разговор может быть записан, поэтому именно в этой таблице хранятся имена файлов записанного разговора.

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

Примечание: заполнение таблиц Seances-Connections-Callsможет иметь особенности в зависимости от используемого коммутатора.

S_CallsAndConnections– привязка вызовов к разговорам.

S_CMCalls – информация из инструмента «Управление звонками». Фактически, это вызовы операторов, по которым формируется информация для инструмента «Мои звонки».

S_ACDCalls – переключения звонков в очереди распределения вызовов и кампании.

S_ACDQueuesMembers – участие операторов в очередях распределения вызовов и кампаниях.

S_UsersStates – история статусов операторов

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

S_CampaignsCalls– попытки дозвона кампаний. Одна строка соответствует одной попытке дозвона.

S_ControlEvents – контрольные события.

S_CallBackRequests – заказы встречных звонков (из IVRи из очередей распределения вызовов)

S_VoiceMail – сообщения голосовой почты.

S_Notifications – уведомления пользователей (всплывающие окна).

S_Screenshots – скриншоты рабочих мест.

 

Описаниеполей

ID – уникальный идентификатор записи

IDXXXX – как правило, внешние ключи. XXXX указывает на связанную таблицу. Например, IDSeance в таблице S_Connections – ссылка на таблицу S_Seances.

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

Время и продолжительность имеют тип doubleprecision. Значение 1 соответствует 1 суткам. Таким образом, значение поля *24*60*60 – количество секунд.

 

Перечислимыетипыданных

CampaignContragentState: ACDCalls.ACDItemState, CampaignsCalls.State, ContragentState/CallState (Campaigns.CAStateXX, Campaigns.CallStateXX)

CallDirection: CMCalls.Direction, Calls.CallDirection

CallResult: CMCalls.Result, Calls.CallResult

CallState: CMCalls.State, Calls.CallState

CampaignState: Campaigns.State

ConnectionDirection: Connections.ConnectionDirection

ConnectionAbonentType: Connections.AbonentType

ConnectionDisconectSide: Connections.DisconnectSide

ConnectionState: Connections.ConnectionState

SeanceType: Seances.SeanceType

SeanceResult: Seances.SeanceResult

SeanceAbonentType: Seances.AbonentType

SeanceAbonentKind: Seances.AbonentKind

SeanceState: Seances.SeanceState

   enum CallState

   {

         CallStateUnknown = 0,           // Неизвестно

         CallStateRinging = 1,           // Звонок

         CallStateReminder = 2,          // Напоминание

         CallStateDialtone = 11,         // Гудок

         CallStateDialNumber = 12,       // Наборномера

         CallStateAlerting = 13,         // Ожиданиеответа

         CallStateConnected = 21,        // Налинии

         CallStateConference = 31,       // Конференция, активная сторона

         CallStateInConference = 32,     // В конференции, пассивная сторона

         CallStateHold = 41,             // Удержание, активная сторона

         CallStateOnHold = 42,           // На удержании, пассивная сторона

         CallStateTransfer = 51,         // Перевод начат

         CallStateTransferFinishing = 52,// Перевод завершается

         CallStateJoining = 53,          // Добавление в конференцию начато

         CallStateJoiningFinishing = 54, // Добавление в конференцию завершается

         CallStateDisconnected = 99,     // Завершен, но канал еще не свободен

         CallStateFinished = 100,        // Завершен

         CallStateFailed  = 200,         // Завершен с ошибкой

         CallStateNoLines = 201          // Нет линий

   };

   enum ConnectionDisconnectSide

   {

      ConnectionDisconnectSideUnknown = 0,

      ConnectionDisconnectSideA = 1,

      ConnectionDisconnectSideB = 2

   };

   enum CallResult

   {

      CallResultUnknown = 0,

      CallResultSuccessfull = 101,      // Успешно завершен (время разговора > 0)

      CallResultBusy = 111,             // Занято (время разговора = 0)

      CallResultNoAnswer = 112,         // Нет ответа (время разговора = 0)

      CallResultBadNumber = 113,        // Неверный номер (время разговора = 0)

      CallResultLost = 121,             // Пропущен (время разговора = 0)

      CallResultCanceled = 131,         // Не дождались и отбились (время разговора = 0)

      CallResultError = 200             // Ошибка

   };

   enum ConnectionSide

   {

      ConnectionSideUnknown = 0,

      ConnectionSideA = 1,

      ConnectionSideB = 2

   };

   enum ConnectionDirection

   {

      ConnectionDirectionUnknown = 0,

      ConnectionDirectionIncoming = 1,

      ConnectionDirectionOutgoing = 2,

      ConnectionDirectionInner = 3,

      ConnectionDirectionExternal = 4

   };

   enum ConnectionState

   {

      ConnectionStateUnknown = 0,        // Неизвестно

      ConnectionStateWaiting = 1,        // Ожиданиеответа

      ConnectionStateTalking = 21,       // Разговордвухабонентов

      ConnectionStateConference = 31,    // Конференция

      ConnectionStateHold = 41,          // Удержание

      ConnectionStateDisconnected = 99,  // Соединение завершено, но канал еще не свободен

      ConnectionStateFinished = 100      // Завершен

   };

   enum ConnectionAbonentType

   {

      ConnectionAbonentTypeUnknown = 0,

      ConnectionAbonentTypeInner = 1,

      ConnectionAbonentTypeOuter = 2,

      ConnectionAbonentTypeHold = 11,      // deprecated

      ConnectionAbonentTypeVirtual = 12    

   };

   enum SeanceType

   {

      SeanceTypeUnknown  = 0,

      SeanceTypeIncoming = 1,

      SeanceTypeOutgoing = 2,

      SeanceTypeInner    = 3,

   };

   enum SeanceAbonentKind

   {

      SeanceAbonentKindUnknown = 0,

      SeanceAbonentKindA       = 1,

      SeanceAbonentKindB       = 2,

      SeanceAbonentKindC       = 3,

   };

   enum SeanceState

   {

      SeanceStateUnknown    =   0,    // Неизвестно

      SeanceStateDialing    =  12,    // Наборномера

      SeanceStateWaiting    =  13,    // Ожиданиеответа

      SeanceStateTalking    =  21,    // Разговор двух абонентов

      SeanceStateConference =  31,    // Конференция

      SeanceStateHold       =  41,    // Удержание

      SeanceStateFinished   = 100     // Завершен

   };

   enum SeanceResult

   {

      SeanceResultUnknown       =   0,  // Неизвестно

      SeanceResultSuccessfull   = 100,  // Успешно

      SeanceResultFirstOperator = 101,  // Обработанпервымоператором

      SeanceResultOperators     = 102,  // Обработаноператорами

      SeanceResultExternal      = 103,  // Обработанвнешнимагентом

      SeanceResultConference    = 104,  // Обработанвконференции

      SeanceResultBusy          = 111,  // Занято

      SeanceResultNoAnswer      = 112,  // Неподнялитрубку

      SeanceResultBadNumber     = 113,  // Номернесуществует

      SeanceResultIVR           = 114,  // Обработанв IVR

      SeanceResultCanceled      = 131,  // Звонящий не дождался ответа и отбился

      SeanceResultFax           = 141,  // Сработал факс

      SeanceResultTooShort      = 151,  // Слишком короткий разговор

      SeanceResultLostInWaiting = 191,  // Потерян во время ожидания ответа

      SeanceResultLostInHold    = 192,  // Потерянвовремяудержания

      SeanceResultError         = 200

   };

   enum SeanceAbonentType

   {

      SeanceAbonentTypeUnknown    =  0,

      SeanceAbonentTypeInner      =  1,

      SeanceAbonentTypeOuter      =  2,

      SeanceAbonentTypeIVR        =  3,

      SeanceAbonentTypeACD        =  4,

   };

   enum CampaignContragentState

   {

      CampaignContragentStateUnknown,    // 0

      //Проверка

      CampaignContragentStateChecking,   //1

      //[CxEnumerationItem("Некорректныеномерателефона")]

      CampaignContragentStateBadNumbers, // 2

      //[CxEnumerationItem("Пропущен")]

      CampaignContragentStateSkipped,    // 3

      //[CxEnumerationItem("Наборномера...")]

      CampaignContragentStateDialing,    // 4

      //[CxEnumerationItem("Ожидание...")]

      CampaignContragentStateWaiting,    // 5

      //[CxEnumerationItem("Обрабатывается")]

      CampaignContragentStateTalking,    // 6

      //[CxEnumerationItem("Обработан")]

      CampaignContragentStateFinished,   // 7

      //[CxEnumerationItem("Ошибка")]

      CampaignContragentStateError,      // 8

      //[CxEnumerationItem("Занято")]

      CampaignContragentStateBusy,       // 9

      //[CxEnumerationItem("Нетответа")]

      CampaignContragentStateNoAnswer,   // 10

      //[CxEnumerationItem("Нетсвободныхлиний")]

      CampaignContragentStateNoLines,    // 11

      //[CxEnumerationItem("Потерян")]

      CampaignContragentStateLost,       // 12

      //[CxEnumerationItem("Оператор отказался от звонка")]

      CampaignContragentStateOperatorRefused,  // 13

      //Ожиданиеповтора(Занято)

      CampaignContragentStateWaitingForReplayOnBusy,     // 14

      //Ожиданиеповтора(Нетответа)

      CampaignContragentStateWaitingForReplayOnNoAnswer, // 15

      //[CxEnumerationItem("Звонокперенесён")]

      CampaignContragentStateRepeatCall, // 16

      //[CxEnumerationItem("Отправка")]

      CampaignContragentStateSending,    // 17

      //[CxEnumerationItem("Отправлено")]

      CampaignContragentStateSent,       // 18

      //[CxEnumerationItem("Доставлено")]

      CampaignContragentStateDelivered,       // 19

      //[CxEnumerationItem("Короткийразговор")]

      CampaignContragentStateShortTalk,         // 20

      //[CxEnumerationItem("Факс")]

      CampaignContragentStateFax,               // 21

      //[CxEnumerationItem("Недоступен")]

      CampaignContragentStateUnavailable,       // 22

      //[CxEnumerationItem("Автоответчик")]

      CampaignContragentStateVoiceMail,         // 23

      //[CxEnumerationItem("Некорректныйответабонента")]

      CampaignContragentStateIncorrectContragentAnswer,   // 24

      Reserved_25,

      Reserved_26,

      Reserved_27,

      Reserved_28,

      Reserved_29,

      Reserved_30,

      // For ACD only

      CampaignContragentStateTransfering = 101,

      ACDStateGrabbed = 102,

   };

   enum CampaignState

   {

      CampaignStateUnknown, // 0

      //[CxEnumerationItem("Остановлена", 1395)]

      CampaignStateStoped, // 1

      //[CxEnumerationItem("Остановка...", 1494)]

      CampaignStateStopping, // 2

      //[CxEnumerationItem("Запуск...", 1490)]

      CampaignStateStarting, // 3

      //[CxEnumerationItem("Работает", 1394)]

      CampaignStateRunning, // 4

      //[CxEnumerationItem("Ошибка", 1346)]

      CampaignStateError // 5

   };

 

Нашли ошибку?
Выделите текст, нажмите Ctrl + Enter

Сообщение об ошибке

Адрес страницы *
Ошибочный текст *
Комментарий *
Защита от автоматического заполнения

Введите символы с картинки*

Дополнить статью

Адрес *
Ваше ФИО
Ваш Email
Текст дополнения *

Попробовать InfinitySmart бесплатно

Зарегистрируйтесь, чтобы получить доступ
к бесплатной версии на 14 дней

Заказ презентации

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