Рубрика:
Администрирование /
Инструменты
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ВЛАДИМИР НЕФЕДОВ, ведущий специалист отдела сетевых технологий компании ООО «Группа Ренессанс Страхование», VNefedov@renins.com
Настройка протоколирования CDR на сервере RADIUS и программа обработки CDR-записей
В статье кратко рассмотрена настройка сервера FreeRADIUS и маршрутизатора Cisco 2811 для записи информации о телефонных звонках на сервер, а также программа обработки данных записей
Часто возникает необходимость в более наглядном представлении файлов, полученных от RADIUS-сервера, в которые записывается детализация звонков (CDR или Call Detail Record) [1]. Возможно, конечно, использовать коммерческие биллинговые системы, например, Tariscope 3.5 от компании SoftPI, но если нет лишних средств или в офисе небольшие объемы звонков, то легче самому написать маленькую программку, которая бы приводила данные записи в удобный для анализа вид.
В статье описана настройка RADIUS-клиента на маршрутизаторе Cisco Systems и сервера FreeRADIUS [2] под управление ОС FreeBSD 8.2, а также простой скрипт, который написан на VBScript. Это скриптовый язык программирования, интерпретируемый компонентом Windows Script Host, он широко используется при создании скриптов в операционных системах семейства Microsoft Windows, который преобразует текстовые файлы RADIUS [3] сервера в таблицу Excel.
Описание используемых полей CDR
CDR, или Call Detail Record (подробная информация о вызовах), нужен для биллинга телефонных вызовов, а также анализа отказов, возникающих в процессе эксплуатации телефонных соединений. CDR содержит большое количество полей, но мы настроим следующие поля (см. таблицу 1).
Таблица 1. Поля CDR-записей
Наименование поля |
Описание поля |
h323-gw-id |
Идентификатор голосового шлюза |
h323-call-origin |
Поведение шлюза в зависимости от соединения, которое является активным для этой ветви соединения |
h323-call-type |
Тип вызова |
h323-setup-time |
Время установления вызова |
h323-connect-time |
Время соединения |
h323-disconnect-time |
Время разъединения |
voice-tx-duration |
Продолжительность вызова, в мс |
tx-duration |
Продолжительность, в мс, ветви передачи вызова, открытой от этого устройства к голосовому шлюзу |
h323-remote-address |
IP -адрес удаленного шлюза |
h323-voice-quality |
Величина, отображающая фактор ухудшения/расчетного планируемого ухудшения (impairment/calculated planning impairment factor – ICPIF) качества голоса на соединении, обеспечиваемого драйверами низкого уровня (например, таким, как цифровой сигнальный процессор). Более низкая величина указывает на лучшее качество |
h323-disconnect-cause |
Код причины разъединения согласно протоколу Q.931, получаемый от прикладного программного интерфейса управления вызовом Cisco iOS |
disconnect-text |
Описание причины окончания вызова в ASCII-формате |
session-protocol |
Протокол сессии (Session protocol), используемый для вызовов между локальным и удаленным маршрутизаторами через IP-магистраль |
remote-media-address |
IP-адрес удаленного шлюза |
subscriber |
Т1/внутриканальная сигнализация (channel associated signaling – CAS) или E1/R2 сигнальная информация о заказчике |
acom-level |
Средний ACOM уровень, в дБ, для вызова (ACOM – это комбинированные потери, достигнутые эхокомпенсатором). «1» показывает, что уровень не может быть определен или что обнаружение уровня отключено |
noise-level |
Средний уровень шума для вызова, в дБ |
receive-delay |
Средняя FIFO задержка + задержка декодера во время голосового вызова |
round-trip-delay |
Задержка на подтверждение приема голосового пакета, в мс, между локальным и удаленным устройствами во время вызова |
ontime-rv-playout |
Продолжительность, в мс, голосовой полезной нагрузки |
gapfill-with-silence |
Продолжительность, в мс, голосового сигнала, замененного сигналом, воспроизведенным во время тишины, поскольку голосовые данные не были получены во время (или потеряны) от голосового шлюза |
gapfill-with-prediction |
Продолжительность, в мс, воспроизведения голосового сигнала с сигналом, синхронизируемым от параметров или шаблонов данных, предшествующих во времени (или потерянных) от голосовых шлюзов |
gapfill-with-interpolation |
Продолжительность, в мс, голосового сигнала, воспроизводимого с сигналом, синтезированным из параметров или образцов данных, предшествующих или следующих во времени, так как голосовые данные не получены вовремя (или потеряны) от голосового шлюза |
gapfill-with-redundancy |
Продолжительность, в мс, голосового сигнала, воспроизводимого с сигналом, синтезированным из избыточных параметров, так как голосовые данные не получены вовремя (или потеряны) от голосового шлюза |
lost-packets |
Число потерянных голосовых пакетов во время вызова |
early-packets |
Количество полученных голосовых пакетов, которые прибыли слишком рано на хранение в джиттер буфер (jitter buffer) во время вызова |
late-packets |
Количество полученных голосовых пакетов, которые прибыли слишком поздно для воспроизведения с кодеком во время вызова |
dsp-id |
Идентификатор цифрового сигнального процессора, используемого для текущего вызова |
out-carrier-id |
Идентификатор несущей транковой группы, через которую вызов покинул шлюз или идентификатор голосового сервис-провайдера – партнера, для исходящего VoIP-вызова |
in-intrfc-desc |
Описание голосового порта для входящего вызова |
out-intrfc-desc |
Описание голосового порта для исходящего вызова |
Статью целиком читайте в журнале «Системный администратор», №10 за 2014 г. на страницах 40-43.
PDF-версию данного номера можно приобрести в нашем магазине.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|