Кто первый положил трубку?
Такой вопрос порой возникает у компаний, которые занимаются обработкой вызовов, и, например, есть какие-то претензии от клиентов, сотрудники компании, недослушав их, кладут трубку. Если у вас современный центр обработки вызовов, то возможно он имеет соответствующий отчет. Но если такой отчет и есть, то в нем необходимая информация будет только в том случае, когда вызов не был передан за пределы Колл центра. Обычно Колл центр не располагает информацией по вызовам, которые были переданы из него, например, менеджерам компании. Если вам нужно иметь информацию, кто положил первый трубку, по всем вызовам, и вы используете в качестве телефонной системы Cisco Unified Communications Manager (CUCM), то можем предложить использование системы Tariscope, которая Дозол получить необходимую информацию.
Система Tariscope получает детальную информацию по вызовам (CDR и CMR) от CUCM и позволяет их анализировать в представлениях для вызовов.
Чтобы иметь информацию по тому, кто завершил вызов первый, надо в настройках Tariscope для CUCM указать, что обрабатываются все поля CDR, как показано на рисунке 1.
Рисунок 1
При этом следует иметь в виду, что это потребует дополнительного объема на диске и быстрее можно достичь ограничения на базу данных Tariscope, если используется Microsoft SQL Server редакции Express.
Обычное представление для вызовов в Tariscope не имеет поля для отображения информации по тому, кто первым положил трубку. Есть только информация по коду завершения вызова. Но соответствующую информацию можно найти в детальной информации, в которой есть все поля CDR (именно для этого и нужно задавать соответствующую настройку). Если интересуют данные по каким-то отдельным вызовам, то выберите их в представлении и щелкните по иконке Подробные сведения о записи на панели инструментов. Если интересует информация по всем вызовам, то щелкните по иконке Подробные сведения о всех записях. Представление с деталями о вызовах может отображаться вместо основного представления или в отдельном представлении, в зависимости от того, что выберет пользователь. Пример представления с деталями по записям приведен на рисунке 2.
Рисунок 2
Как и обычное представление для вызовов, это представление позволяет выбрать только те поля, которые интересны для анализа. Для выявления того, кто первым положил трубку, следует анализировать поля origCause_value и destCause_value, которые выделены на рисунке. Значение 0 в полях означает что, либо сторона создала вызов (origCause_value), или сторона, принявшая вызов (destCause_value) первой положила трубку. При этом в противоположном поле, при нормальном завершении вызова будет значение 16. По кодам завершения вызовов смотри статью.
Но это представление может быть не всегда удобным, потому что оно не содержит информации по абоненту, который есть в обычном представлении для вызовов. В Tariscope существует возможность объединить необходимую информацию по предоставлению по деталям вызова с обычным представлением. Обычное представление по вызовам содержит достаточно большой набор полей, который все не используется для каждой из телефонных систем, которые поддерживаются. Давайте, например, будем выводить название Number A или Number B, в зависимости от того абонент с каким номером инициировал окончания разговора, в поле предназначенного для кода проекта.
Для этого надо выполнить следующий SQL запрос:
ALTER VIEW dbo.viCalls as SELECT C.ID, PBXID, NodeID, RecType, CallDirection, CallType, Originator, OriginatorAuxId, Terminator, TerminatorAuxId, CONVERT(datetime2(0), CallDateTime) AS CallDateTime, CallSeconds, AccessCode, OriginalDialnumber, Dialnumber, OriginalCLID, CLID, DNIS, RingTimeSeconds, HoldTimeSeconds, ReleaseCause, NoAnswerReasonID, AuthCode, (CASE WHEN CCM.destCause_value = 0 THEN (CASE WHEN CCM.origCause_value = 0 THEN '' ELSE 'Number A' END) ELSE (CASE WHEN CCM.origCause_value = 0 THEN 'Number B' ELSE '' END) END) as ProjectCode, FromAbonentID, FromAbonentPlaneID, ToAbonentID, ToAbonentPlaneID, FromTelephoneID, ToTelephoneID, CategoryID, ParentCallID, Tarif, Cost, Cost2, FromDepartmentID, FromDepartment, ToDepartmentID, ToDepartment, FromTelephone, ToTelephone, CONVERT(datetime2(0), EndDateTime) AS EndDateTime, CallDate, CONVERT(datetime2(0), CallTime) AS CallTime, CallDuration, CallDurationDays, RingTime, HoldTime, NumberA, NumberB, FromAbonent, ToAbonent, ISNULL(ISNULL(FromAbonent, FromTelephone), NumberA) AS CallingParty, ISNULL(ISNULL(ToAbonent, ToTelephone), NumberB) AS CalledParty
FROM dbo.viCallsInternal AS C
left join dbo.CallsCCM as CCM on C.ID = CCM.CallID
GO
Красным цветом выделена та часть SQL запроса, которая была добавлена.
Этот запрос можно выполнить, выбрав в меню: Дополнительные опции → SQL-запросы и ставившим вышеприведенный запрос, как показано на рисунке 3.
Рисунок 3
Щелкните по кнопке Выполнить.
Все. После этого создайте новое представление, или в существующее представление для вызовов добавьте поле Код проекта. После чего представление будет иметь вид, подобный тому, который показан на рисунке 4.
Рисунок 4
Как видите на этом рисунке отображается информация по той стороне, которая первая положила трубку. В связи с тем, что мы использовали поле "Код проекта" для отображения этой информации, то остается предыдущий заголовок столбца. Его можно изменить на любой, например, "Кто завершил". Для этого в Проводнике Windows отыщите файл, который соответствует этому представлению. Файлы представлений находятся в папке:
... \ SoftPI \ Tariscope \ Views \ [user name] \, где [user name] - имя пользователя Tariscope, который создавал это представление.
В файлы представления, для которого нужно изменить название столбца "Код проекта", найдите теги <DisplayName>Код проекта</ DisplayName>, которые находятся после тегов <FullName>ProjectCode</ FullName> и замените значение в теге <DisplayName>, например на "Кто завершил". После этого обновите представление, и оно будет выглядеть, как показано на рисунке 5.
Рисунок 5
При необходимости можно создавать отчеты, которые будут содержать эту информацию, но это уже тема другой статьи.
Tariscope и Cisco Unified Communications Manager
Преимущества Tariscope для сбора и анализа данных CDR из CUCM
Обработка CDR от CUCM в Tariscope
Контроль качества VoIP вызовов через CUCM, используя Tariscope
Конфигурация функции ограничения в Tariscope при работе с CUCM