Прямой доступ к статистике
Прямой доступ к статистике «Infinity IP АТС» (версия 4.0.16.1). Для доступа к БД в ручном режиме потребуется бесплатная утилита IBExpert. После запуска IBExpert, необходимо в ней зарегистрировать базу данных «Infinity IP АТС» (база данных размещена по адресу: Program files\Inteltelecom\Infinity contact-center\servers\serverBD\Data\INFDATA.DAT). Имя пользователя INFINITYUSER, пароль wizard, кодовая таблица WIN1251.
Для доступа к БД в автоматическом режиме (SQL-запросами из других приложений) нужно установить ODBC-драйвер для СУБД Firebird. Параметры подключения аналогичны.
В базе данных INFDATA.DAT содержится ряд таблиц, в которых хранится статистическая информация:
I_STATISTICS – статистика телефонных соединений. Одному звонку может соответствовать от одной до нескольких записей таблицы, в зависимости от цепочки переключений звонка между операторами, голосовыми меню IVR, внешними агентами. Записи связаны между собой ссылками. На рабочем месте супервизора данная информация доступна для просмотра в режиме Статистика – Общая.
I_STATISTICS_CALL_IN – статистика входящих звонков. Одному звонку соответствует одна запись таблицы. На рабочем месте супервизора данная информация доступна для просмотра в режиме Статистика – Входящие звонки.
I_STATISTICS_CALL_OUT – статистика исходящих звонков. Одному звонку соответствует одна запись таблицы. На рабочем месте супервизора данная информация доступна для просмотра в режиме Статистика – Исходящие звонки.
I_STATISTICS_CALL_INNER – статистика внутренних звонков. Одному звонку соответствует одна запись таблицы. На рабочем месте супервизора данная информация доступна для просмотра в режиме Статистика – Внутренние звонки.
I_STATISTICS_CALL_COMMON – статистика всех звонков. Одному звонку соответствует одна запись таблицы. На рабочем месте супервизора данная информация доступна для просмотра в режиме Статистика – Звонки.
I_STATISTICS_EX – привязка уникального идентификатора (GUID) звонка к записям таблицы I_STATISTICS
E_OUTBOUND_STAT_CALL – статистика звонков по кампаниям. На рабочем месте супервизора данная информация доступна для просмотра в разделе Кампании – Статистика звонков.
Статистическая информация записывается в базу данных по факту завершения телефонного вызова. Для автоматической обработки статистики удобно использовать служебный сценарий завершения вызова (настраивается в общих параметрах интеллектуальной АТС). В данном сценарии из функции "ID Операции" можно извлечь GUID звонка, затем обратиться в локальную базу данных call-центра и извлечь необходимую информацию.
Описание структуры таблиц статистики.
Таблица I_STATISTICS
|
Имя поля |
Тип поля |
Описание |
|
ID |
INTEGER |
Ключевое поле |
|
IDNEXT |
INTEGER |
Ссылка на запись следующего в цепочке соединения. |
|
IDPREV |
INTEGER |
Ссылка на запись предыдущего в цепочке соединения |
|
TIMESTART |
DOUBLE |
Дата-время начала соединения в формате Excel (целая часть показывает количество дней, прошедших с 31.12.1899, дробная часть – время) |
|
TIMESTART_D |
DOUBLE |
Дата начала соединения (целое число) |
|
TIMESTART_T |
DOUBLE |
Время начала соединения (дробное число от 0 до 1) |
|
TIMEANSWER |
DOUBLE |
Дата и время установки соединения (ответа абонента) |
|
TIMESTOP |
DOUBLE |
Дата и время завершения соединения |
|
LENGTH_FULL |
DOUBLE |
Общая продолжительность разговора (для перевода в секунды умножить на 24х60х60 и округлить) |
|
LENGTH_ANSWER |
DOUBLE |
Продолжительность ожидания ответа |
|
LENGTH_PURE |
DOUBLE |
Продолжительность "чистого" разговора |
|
REASONSTART |
INTEGER |
Причина начала соединения: 0 – система оповещения 1 – входящий звонок 2 – внутренний звонок 3 – исходящий в город 4 – исходящий межгород 5 – внутренний звонок в IVR 6 – flash 7 – переключение не удалось 8 – переключение из IVR 9 – неизвестно |
|
REASONSTOP |
INTEGER |
Причина завершения соединения: 0 – отбой внешнего абонента 1 – отбой внутреннего абонента 2 – flash 3 – Компонент Положить трубку IVR 4 – запрет вызова 5 – таймаут 6 – переключение из IVR 7 – неизвестно |
|
STOPSIDE |
INTEGER |
Сторона, завершившая соединение |
|
AUID |
INTEGER |
Номер линии А |
|
AOUTNUMBER |
VARCHAR100 |
Внешний номер А |
|
AOUTLINENUMBER |
VARCHAR100 |
Номер городской линии А |
|
AINIDUSER |
INTEGER |
ID оператора А |
|
AINNUMBER |
VARCHAR100 |
Внутренний номер А |
|
ACLIENTCODE |
INTEGER |
Не используется |
|
ANUMBERDIALED |
VARCHAR100 |
Набранный номер |
|
BUID |
INTEGER |
Номер линии Б |
|
BOUTNUMBER |
VARCHAR100 |
Внешний номер Б |
|
BOUTLINENUMBER |
VARCHAR100 |
Номер городской линии Б |
|
BINIDUSER |
INTEGER |
ID оператора Б |
|
BINNUMBER |
VARCHAR100 |
Внутренний номер Б |
|
BCLIENTCODE |
INTEGER |
Не используется |
|
ISRECORDED |
INTEGER |
Записан ли разговор |
|
RECORDNAMEA |
VARCHAR100 |
Имя файла с записью абонента А |
|
RECORDNAMEB |
VARCHAR100 |
Имя файла с записью абонента Б |
|
CONNECTIONTYPE |
INTEGER |
Тип соединения: 0 – входящий 1 – исходящий 2 – внутренний |
|
ASTR |
VARCHAR100 |
Абонент А (выводимая на экран информация, объединяющая все параметры абонента А) |
|
BSTR |
VARCHAR100 |
Абонент Б (выводимая на экран информация, объединяющая все параметры абонента Б) |
|
PIC_PREVNEXT |
INTEGER |
Служебное избыточное поле |
|
STOPREASONSIDE |
INTEGER |
Служебное избыточное поле |
Для доступа к статистике можно использовать простой селективный запрос с любыми условиями, либо процедуру I_STATISTICS_SELECT, в качестве входных параметров которой необходимо задать основные параметры фильтра.
Таблица I_STATISTICS_CALL_IN
|
Имя поля |
Тип поля |
Описание |
|
CALLID |
VARCHAR(50) |
Уникальный идентификатор (GUID) звонка |
|
DATETIME |
DOUBLE PRECISION |
Дата-время начала соединения |
|
DATETIME_D |
DOUBLE PRECISION |
Дата начала соединения |
|
DATETIME_T |
DOUBLE PRECISION |
Время начала соединения |
|
ANUMBER |
VARCHAR(100) |
Номер телефона абонента |
|
ANAME |
VARCHAR(250) |
Описание абонента |
|
ANUMBERDIALED |
VARCHAR(100) |
Телефонный номер, набранный абонентом |
|
CALLRESULT |
INTEGER |
Результат звонка: 0 – неизвестно 1 – обработан IVR 2 – обработан первым оператором 3 – обработан операторами 4 – обработан внешним агентом 5 – потерян |
|
IVRLENGTH |
DOUBLE PRECISION |
Продолжительность обработки звонка IVR |
|
IVRNAME |
VARCHAR(250) |
Наименование сценария IVR |
|
B1WAITLENGTH |
DOUBLE PRECISION |
Продолжительность ожидания ответа первого оператора |
|
B1TALKLENGTH |
DOUBLE PRECISION |
Продолжительность обработки звонка первым оператором |
|
B1NUMBER |
VARCHAR(100) |
Номер первого оператора |
|
B1NAME |
VARCHAR(250) |
Описание первого оператора |
|
B1IDUSER |
INTEGER |
ID первого оператора |
|
B2WAITLENGTH |
DOUBLE PRECISION |
Продолжительность ожидания ответа второго оператора |
|
B2TALKLENGTH |
DOUBLE PRECISION |
Продолжительность обработки звонка вторым оператором |
|
B2NUMBER |
VARCHAR(100) |
Номер второго оператора |
|
B2NAME |
VARCHAR(250) |
Описание второго оператора |
|
B2IDUSER |
INTEGER |
ID второго оператора |
|
B3WAITLENGTH |
DOUBLE PRECISION |
Продолжительность ожидания ответа последнего оператора |
|
B3TALKLENGTH |
DOUBLE PRECISION |
Продолжительность обработки звонка последним оператором |
|
B3NUMBER |
VARCHAR(100) |
Номер последнего оператора |
|
B3NAME |
VARCHAR(250) |
Описание последнего оператора |
|
B3IDUSER |
INTEGER |
ID последнего оператора |
|
EXWAITLENGTH |
DOUBLE PRECISION |
Продолжительность ожидания ответа внешнего агента |
|
EXTALKLENGTH |
DOUBLE PRECISION |
Продолжительность обработки звонка внешним агентом |
|
EXNUMBER |
VARCHAR(100) |
Номер внешнего агента |
|
EXNAME |
VARCHAR(250) |
Описание внешнего агента |
|
EXROUTENAME |
VARCHAR(250) |
Наименование исходящего маршрута |
|
SUMLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность вызова |
|
SUMIVRLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность обработки IVR |
|
SUMOPERLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность обработки операторами |
|
SUMEXTERNALLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность обработки внешними агентами |
Таблица I_STATISTICS_CALL_OUT
|
Имя поля |
Тип поля |
Описание |
|
CALLID |
VARCHAR(50) |
Уникальный идентификатор (GUID) звонка |
|
DATETIME |
DOUBLE PRECISION |
Дата-время начала соединения |
|
DATETIME_D |
DOUBLE PRECISION |
Дата начала соединения |
|
DATETIME_T |
DOUBLE PRECISION |
Время начала соединения |
|
ANUMBER |
VARCHAR(100) |
Номер телефона оператора |
|
ANAME |
VARCHAR(250) |
Описание оператора |
|
AIDUSER |
INTEGER |
ID оператора |
|
BWAITLENGTH |
DOUBLE PRECISION |
Продолжительность ожидания ответа |
|
BTALKLENGTH |
DOUBLE PRECISION |
Продолжительность разговора |
|
BNUMBER |
VARCHAR(100) |
Номер телефона абонента |
|
BNAME |
VARCHAR(250) |
Описание абонента |
|
BROUTENAME |
VARCHAR(250) |
Наименование исходящего маршрута |
|
SUMLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность вызова |
Таблица I_STATISTICS_CALL_INNER
|
Имя поля |
Тип поля |
Описание |
|
CALLID |
VARCHAR(50) |
Уникальный идентификатор (GUID) звонка |
|
DATETIME |
DOUBLE PRECISION |
Дата-время начала соединения |
|
DATETIME_D |
DOUBLE PRECISION |
Дата начала соединения |
|
DATETIME_T |
DOUBLE PRECISION |
Время начала соединения |
|
ANUMBER |
VARCHAR(100) |
Номер телефона оператора |
|
ANAME |
VARCHAR(250) |
Описание оператора |
|
AIDUSER |
INTEGER |
ID оператора |
|
BWAITLENGTH |
DOUBLE PRECISION |
Продолжительность ожидания ответа |
|
BTALKLENGTH |
DOUBLE PRECISION |
Продолжительность разговора |
|
BNUMBER |
VARCHAR(100) |
Номер телефона абонента |
|
BNAME |
VARCHAR(250) |
Описание абонента |
|
BIDUSER |
INTEGER |
ID абонента |
|
SUMLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность вызова |
Таблица I_STATISTICS_CALL_COMMON
|
Имя поля |
Тип поля |
Описание |
|
CALLID |
VARCHAR(50) |
Уникальный идентификатор (GUID) звонка |
|
DATETIME |
DOUBLE PRECISION |
Дата-время начала соединения |
|
DATETIME_D |
DOUBLE PRECISION |
Дата начала соединения |
|
DATETIME_T |
DOUBLE PRECISION |
Время начала соединения |
|
CALLTYPE |
INTEGER |
Тип звонка: 0 – неизвестно 1 – входящий 2 – исходящий 3 – внутренний |
|
ASTR |
VARCHAR(250) |
Абонент А – номер и описание в строковом виде |
|
BSTR |
VARCHAR(250) |
Абонент Б – номер и описание в строковом виде |
|
SUMLENGTH |
DOUBLE PRECISION |
Суммарная продолжительность вызова |
Таблица I_STATISTICS_EX
|
Имя поля |
Тип поля |
Описание |
|
PARAM |
VARCHAR(50) |
Уникальный идентификатор (GUID) звонка |
|
IDFIRST |
INTEGER |
Идентификатор первой записи таблицы I_STATISTICS |
Таблица E_OUTBOUND_STAT_CALL
|
Имя поля |
Тип поля |
Описание |
|
ID |
INTEGER |
Идентификатор записи |
|
ID_PROJECT |
INTEGER |
Идентификатор проекта (из таблицы A_PROJECTS) |
|
ID_OUTBOUND |
INTEGER |
Идентификатор кампании (из таблицы A_TASKS) |
|
ID_OUTBOUND_STAT |
INTEGER |
Идентификатор запуска кампании (из таблицы E_OUTBOUND_STAT) |
|
CONTRAGENT_ID |
INTEGER |
Идентификатор контрагента |
|
CONTRAGENT_FIO |
VARCHAR(255) |
ФИО контрагента |
|
TEL_NUMBER |
VARCHAR(100) |
Телефонный номер контрагента |
|
CALL_RESULT |
INTEGER |
Результат вызова: 0 – неизвестно 1 – занято 2 – нет ответа 3 – некорректный номер 4 – исходящий вызов запрещен 5 – обработан 6 – ошибка |
|
CALL_DATETIME |
DOUBLE PRECISION |
Дата-время вызова |
|
CALL_DATE |
DOUBLE PRECISION |
Дата вызова |
|
CALL_TIME |
DOUBLE PRECISION |
Время вызова |
|
CONTACT_LENGTH_TIME |
DOUBLE PRECISION |
Продолжительность обработки вызова |
|
STAT_ID |
VARCHAR(50) |
Уникальный идентификатор (GUID) вызова – связь с таблицами статистики |
|
EX_INF |
VARCHAR(255) |
Описание ошибки |
|
ERROR_CODE |
INTEGER |
Код ошибки |
|
DELAY_TIME |
DOUBLE PRECISION |
Продолжительность ожидания ответа оператора |
|
OPERATOR_ID |
INTEGER |
ID оператора |
|
CONTACT_LENGTH_TIME_FIRST |
DOUBLE PRECISION |
Продолжительность обработки вызова первым оператором |