Поиск по этому блогу

пятница, 25 октября 2013 г.

Типы Call Information Records

В этой главе описывается два типа call information records, генерируемые CUCM

CUCM генерирует два раздельных типа call information records: Call Detail Records (CDR) и Call Management Records (CMR), их также называют диагностические записи вызова. CDRs предоставляет информацию о конечных точках вызова и других аспектах вызова контроль/маршрутизация. CMRs содержит диагностическую информацию о качестве аудио потока вызова. CDR запись может содержать более одного CMR.

CMRs поддерживаются Cisco IP Phones, телефонами серии Cisco 7960 и шлюзами MGCP. Если одна из этих конечных точек принимает участие в вызове, будут сгенерированы CMR записи после завершения вызова.  Каждая конечная точка в вызове создает отдельную CMR запись. Если в вызове участвуют конечные точки, которые не поддерживают диагностику вызова, записи не будут генерироваться для этих конечных точек. Вызов от Cisco 7960 phone к H.323 шлюзу будит генерировать одну CMR запись (от Cisco 7960 phone.)

CDRs с CMRs имеет две общие колонки globalCallID: globalCallID_callManagerId и globalCallId_callId.

Когда параметр Call Diagnostics установлен в True, система генерирует до двух CMRs для каждого вызова. Каждый тип вызова, такой как конференцсвязь, переадресация вызова, переадресованный вызов и вызов, с использованием шлюза, производят множество записей в тестовый (ASCII) файл в конце вызова. CUCM не выполняет никакую постобработку CDR или CMR.

Global Call Identifier (Глобальный идентификатор вызова)
CUCM назначает глобальный идентификатор вызова (GlobalCallID_callId) каждый раз, когда на Cisco IP Phone поднимается трубка или вызов принимается со стороны шлюза. GlobalCallID_callId  назначается последовательно на сервере CUCM, независимо от вызовов работающих (происходящих) на других серверах кластера.  Для каждой тысячи вызовов CUCM фиксирует значение GlobalCallID_callId в файл, который хранится на диске. При любом перезапуске CUCM производится сопоставление тысячного вызова со следующим GlobalCallID_callId.

Например, когда вызов завершен успешно, значение GlobalCallID_callId в CDR устанавливается 1001. При следующем вызове, GlobalCallID_callId значение устанавливается 1002 и т.д. Когда CUCM перезагружается, значения для следующих вызовов в CDR начинается с 2001.  Последовательность продолжается пока CUCM неперезагрузится снова.  При следюющей перезагрузки значение GlobalCallID_callId будит равно 3001.

Максимальное значение, которое будит присвоено GlobalCallID_callId ограничено 24 бит. Когда этот предел достигнут, значение GlobalCallID_callId сбрасывается до 1.

GlobalCallID_callIds в CDR файле может идти не по порядку в текстовом CDR файле. Если вызов с  GlobalCallID_callId = 1 длится долше, чем вызов с GlobalCallID_callId = 2, в CDR файл идентификатор GlobalCallId_callId = 2  запишется раньше GlobalCallId_callId = 1. GlobalCallID_callIds может  полностью отсутствовать в  CDR файле. Если первая CDR запись имеет GlobalCallID_callId = 1, а вторая  GlobalCallID_callId = 3, это не означает, что GlobalCallID_callId = 2 потеряна. GlobalCallID_callId = 2 не соответствует критериям для создания CDR. CDR может отсутсвовать, потому что пока первый и третий вызов были успешно завершены, второй вызов не был завершен, или, GlobalCallID_callId = 2 может быть частью конференции. Каждой участнику конференции (call leg) присваивается свой GlobalCallID_callId, который переписывается в GlobalCallID_callId конференции. Исходный GlobalCallID_callId может не появится в CDR файле.

Если поле GlobalCallID_callId отсутствует в CDR записи, CAR сообщает об ошибке для этой конкретной записи. Дополнительная информация о ошибках CDR доступна в главе "Configuring CDR Error Reports" руководства  the CDR Analysis and Reporting Administration Guide.

Преобразование номера
CUCM может выполнять преобразование цифр, которые набрал пользователь. В CDR появляется номер после преобразования (translated number), а не фактически набранные цифры.
Например, некоторые компании преобразуют вызов «911» в «9-911», таким образом вызывающему не нужно набирать выход на внешнюю линию (в данном примере 9) в экстренных ситуациях. В данном случае CDR содержит «9911» даже если пользователь набрал «911».

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

Партиции и Номера
В пределах CDR, сочетание extension number (номера) и партиций определяет каждый телефон, на который ссылается, если партиции определены.  Когда партиции определены, для полного распознавания телефона требуются оба значения потому, что extension number (номер) может быть не уникальным.

Поле Partition остается пустым, при входящем вызове (call ingresses) со стороны шлюза. При исходящем вызове (call egresses) для шлюза, поле Partition показывает партицию, которой принадлежит шлюз.
Если dial plan позволяет абоненту использовать # для быстрого набора, то # записывается в базу данных при ее использовании. Например, поле Called Party Number может содержать значение, такое как  "902087569174#".

Поле Party Number может содержать SIP URIs вместо обычных номеров вызывающего/вызываемого абонента.
CDRs используется Partition/Extension Numbers, которые представлены в таблице 1.
Таблица 1
Phone Number
Description
callingPartyNumber
Это сторона совершающая вызов. При переадресации вызовов она становится передающей стороной.
originalCalledPartyNumber
Указывает на  первоначально набранный номер, после того как произошло любое преобразование номера.
finalCalledPartyNumber
Для переадресованных вызовов, этот указывается последняя сторона (абонент), которая приняла вызов.
Для нереадресованных вызовов – это  поле показывает первоначальный номер абонента.
lastRedirectDn
Для переадресованных вызовов, это поле обозначает последнюю сторону (абонент), перенаправившую вызов.
Для не переадресованных вызовов, это поле показывает последнюю сторону перенаправившую вызов.
originalCalledPartyNumberPartition
Это поле связывает имя партиции с номером телефона. Оно однозначно определяет этот номер потому, что CUCM поддерживает много Cisco Unified IP Phones, имеющие такой же номер, но в других партициях.
При исходящих вызовах (проходящих через шлюз) – это поле указывает на имя партиции, которое связано с route pattern, который связан со шлюзом.
finalCalledPartyNumberPartition
Это поле связывает имя партиции с номером телефона. Оно однозначно определяет этот номер потому, что CUCM поддерживает много Cisco Unified IP Phones, имеющие такой же номер, но в других партициях.
При исходящих вызовах (проходящих через шлюз) – это поле указывает на имя партиции, которое связано с route pattern, который связан со шлюзом.
lastRedirectDnPartition
Это поле связывает имя партиции с номером телефона. Оно однозначно определяет этот номер потому, что CUCM поддерживает много Cisco Unified IP Phones, имеющие такой же номер, но в других партициях.
При исходящих вызовах (проходящих через шлюз) – это поле указывает на имя партиции, которое связано с route pattern, который связан со шлюзом.
outpulsedCallingPartyNumber
The calling party number outpulsed from the device.
outpulsedCalledPartyNumber
The called party number outpulsed from the device.

Временные отметки
Временные метки в CDR показываются в формате UTC. Это значение остается постоянным при переходе на летнее время.

Беззнаковое 32-разрядное целое число представляет все значения времени. Это значение отображается в базе как одно целое.  Это поле показывает значение time_t, которое было получено от операционной системы.

CDR включает в себя временные метки, которые показаны в таблице 2
Таблица 2
Field
Description
dateTimeOriginatio
Для исходящих вызовов – это поле указывает время, когда на телефоне подняли трубку.
Для входящих вызовов – это поле указывает время, когда было принято сообщение SETUP.
dateTimeConnect
Это поле показывает время, когда соединение установлено и начался разговор. Это поле показывает ноль, если звонок «не прошел».
dateTimeDisconnect
Это поле показывает время, когда соединение было разорвано. Это поле показывает ноль, если звонок «не прошел».

Причины разрыва соединения
CDR включает в себя два кода причины разрыва соединения: OrigCause и DestCause. Когда инициатор вызова завершает вызов – заполняется OrigCause. Когда вызываемая сторона завершает вызов или вызов сброшен – заполняется DestCause.  Когда поля не заполнены, оторбражается ноль.

Для внутренних звонков (On Net call legs) CUCM определяет значение кода причины. Для внешней части соединения (Off Net call legs), значение кода определяется на дальнем конце.
Список кодов завершения вызова согласно спецификации ITU Q.850 представлены в таблице, на странице оф. документации.


P.S. Это перевод части официальной документациисли кто будит пользоваться обратите внимание, что точность и правильность перевода не гарантируется. В тексте могут присутствовать орфографические, пунктуационные и другие ошибки. За более полной информацией необходимо обратится к официальной документации.

Комментариев нет:

Отправить комментарий