Перейти к содержимому

Записи о звонках (CDR)

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Запись о звонке (CDR) создаётся для каждого тарифицируемого плеча звонка: одна для клиента аккаунта, по одной для каждого реселлера над ним, по одной на каждую попытку через вендора и по одной на каждое начисление за DID. Панель показывает их на отдельных экранах, и у всех них одинаковая панель фильтров, одинаковые варианты экспорта и одинаковая страница деталей звонка. Calls (звонки) объединяет их в одно представление для каждого звонка, чтобы упростить поиск проблем.

Все экраны находятся в группе Reports (отчёты) боковой панели:

Экран URL Что показывает
Call Records (CDRs) (записи о звонках) /cdrs_customer.php Звонки ваших аккаунтов и ваших субклиентов, тарифицированные для них
Vendors Call Records (записи о звонках вендоров) /cdrs_vend.php Каждая попытка через вендора со стоимостью терминации. Нужны права на управление системой
DIDs Call Records (записи о звонках DID) /cdrs_dids.php Начисления за звонки, поступившие на DID. Нужен пул DID
Calls /calls.php Одна строка на звонок, где стороны клиента, вендора и DID собраны вместе. Для корневого клиента с включённой агрегацией статистики

CDRs в меню Actions (действия) аккаунта или реселлера открывает Call Records (CDRs) с фильтром по нему; Open CDRs (открыть CDR) на подключении открывает для него Vendors Call Records. Время показано в часовом поясе вашего веб-пользователя. В режиме обслуживания CDRs Update (обновление CDR) экраны недоступны никому, кроме пользователя root.

Screenshot "admin-panel/cdrs" has not been generated yet — see scripts/screenshots/screens.yml.

Панель фильтров содержит быстрый выбор дат Today (сегодня), Yesterday (вчера), а в More (ещё) - недели и месяцы, селектор Show Call Records (показывать записи о звонках), поле Caller (абонент) и быстрый поиск по CLD. Filters (фильтры) открывает полный набор:

Фильтр Значение
Start Date/Time (дата/время начала), End Date/Time (дата/время конца) Время установления звонка. Начало по умолчанию берётся из Default Start Date (дата начала по умолчанию) в системных параметрах; конец - конец сегодняшнего дня
CLI, CLD Номера с типом совпадения is like (похоже на), is not like (не похоже на), matches any of (совпадает с любым из) или matches none of (не совпадает ни с одним из). % и _ - символы подстановки, и ничего не добавляется автоматически: 38044% находит префикс, 38044 - только этот точный номер. Несколько шаблонов можно разделять запятыми или пробелами; два режима matches принимают альтернативы, например 38044%|38050%
Show Call Records Non-zero Duration & Errors (ненулевая длительность и ошибки, по умолчанию), Non-zero Duration (ненулевая длительность), Complete (завершённые), All (все), Incomplete (незавершённые) или Errors (ошибки)
Result (результат) Any (любой), OK, Any SIP Response Code (любой код ответа SIP), конкретный SIP Response Code 486 или внутренняя ошибка коммутатора
Caller All, All Accounts (все аккаунты), All Customers (все клиенты) или один аккаунт либо клиент
Currency (валюта) Валюта, в которую пересчитываются суммы
Batch Tag (тег партии), Account Class (класс аккаунта) Сужают All Accounts по тегу или классу; для других значений Caller игнорируются
Call-Id SIP Call-ID, с % для частичного совпадения

Vendors Call Records заменяет Caller и Result на Vendor (вендор) и Connection (подключение); DIDs Call Records добавляет DID и Charge is Applied to (к кому применено начисление). Значения быстрых фильтров каждого экрана запоминаются для каждого браузера; Clear Filters (очистить фильтры) сбрасывает их.

Неправильный шаблон в двух режимах matches отбрасывается с баннером Filter ignored: (фильтр проигнорирован) и причиной; остальная часть фильтра всё равно применяется.

Столбец Значение
(статус) Зелёная галочка для соединённого звонка; красный значок с кодом для ошибки SIP или внутренней ошибки; Timeout (тайм-аут) для звонков, которые так и не получили окончательного ответа
Caller Аккаунт Acct. или субклиент Cust., со ссылкой на его форму
CLI, CLD Номер звонящего и вызываемый номер, как они тарифицированы. На экране вендора это номера, отправленные вендору
Country (страна), Description (описание) Определение направления по вызываемому номеру
Setup Time (время установления) Начало звонка в вашем часовом поясе
Duration (длительность), Billed Dur. (тарифицированная длительность) Реальная и тарифицированная длительность в формате h:mm:ss
Charged (начислено) Цена в выбранной валюте

Строка статистики над списком суммирует Calls, Duration и Charged для выборки. Строки идут от самых новых, по 50 на страницу.

При первом открытии без фильтров экран ищет самые новые звонки во всё более широких окнах, от последних пяти минут до всего периода, и заполняет итоги после этого. Любой явно заданный фильтр ищет по всему периоду.

Стрелка в начале строки, доступная администраторам, открывает маршрутизацию звонка через вендоров: каждое подключение, которое пробовалось, с временем, стоимостью и результатом, а также Play recording (воспроизвести запись), когда включён модуль записи звонков, Extract SIP Log (извлечь SIP-лог) и Test Dial plan (проверить план набора) с уже подставленными номерами и IP звонка. Меню Options (параметры) строки содержит Call Details (детали звонка) и, для пользователя root, Queue SIP Log Extraction (поставить извлечение SIP-лога в очередь).

Call Details показывает каждое поле записи в виде таблицы параметров: идентификаторы и Call-Id, исходные и тарифицированные CLI и CLD, результаты LRN, Remote IP (удалённый IP), время установления, соединения и разъединения, длительности, использованные параметры ставки (Price 1 (цена 1), Price N (цена N), интервалы, Connect Fee (плата за соединение), Free Seconds (бесплатные секунды), Grace Period (льготный период), Post Call Surcharge (доплата после звонка)), Result с описанием, PDD и источник завершения звонка, а затем по одной строке на каждую доплату. Под ней SDP Records (записи SDP) показывают согласование медиа для каждого плеча, а Call Authentication (аутентификация звонка) показывает, какое правило или какие digest-учётные данные аутентифицировали звонок. Именно туда стоит смотреть в первую очередь, когда звонок тарифицирован не на тот аккаунт. Запись вендора добавляет использованное медиа-реле и Remote Port (удалённый порт); запись DID - это одна таблица. Back to CDRs (назад к CDR) возвращает к списку с сохранёнными фильтрами.

Reports → Calls ищет все записи звонка одновременно и быстрее всего отвечает на вопрос «что случилось с этим звонком». Фильтр добавляет Duration, sec (длительность, с) от и до, Rows per page (строк на странице) и такой же синтаксис шаблонов для CLD и CLI. У каждой строки есть стрелка, которая открывает карточку с Diagnosis (диагноз) простым языком (например, Destination is busy (486)., All 3 vendor attempt(s) failed., Slow to answer: post-dial delay 8.2 s.), стороной клиента, стороной DID и, для администраторов, каждой попыткой через вендора с IP, PDD, стоимостью и тем, кто завершил звонок. Markers (отметки) в строке показывают количество попыток через вендоров, Inbound via DID (входящий через DID) и Recording available (запись доступна). У этого экрана нет экспорта.

Export (экспорт) в заголовке предлагает Download CSV (выгрузить CSV) и Send by E-Mail. Загрузка использует формат файла из настройки загрузки вашего веб-пользователя, CSV или Excel, и называется Call Records from <start> to <end>. Файл содержит абонента, исходные и тарифицированные номера, префикс тарификации и направление, время установления, соединения и разъединения, длительности, стоимость и валюту, результат, удалённый IP, номера LRN, источник завершения звонка, Call-ID и сообщение об ошибке. Загрузка останавливается на лимите строк, если вы не использовали Generate Full Report; у Send by E-Mail нет лимита, файл упаковывается в zip, а очень большие экспорты Excel разбиваются на части. Диалог электронной почты принимает Send To (кому), Subject (тема) с заполнителями ${DATE_FROM} и ${DATE_TO}, Zip the Report (упаковать отчёт в zip) и Message (сообщение).

Tools & Debugs (инструменты и отладка) → Rerate CDRs (пересчитать CDR) (только root) пересчитывает уже тарифицированные звонки реселлера, аккаунта или набора подключений вендоров за период, используя файл со ставками, который вы загружаете в задачу, а не текущий тариф. Балансы меняются соответственно, а отменить это невозможно, поэтому сначала скачайте затронутые CDR. См. Перерасчёт CDR после исправления ставок.