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

Перерасчёт CDR после исправления ставки

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

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

Пример: с аккаунта example-telecom с 3 по 13 мая списывали 0.0500 за минуту вместо 0.0150 за префикс 4420.

  • Вы вошли как корневой клиент с доступом Administrator (администратор). Rerate CDRs (перерасчёт CDR) доступен только корневому клиенту.
  • Вы знаете, чьи звонки нужно пересчитать: одного аккаунта, аккаунтов всех клиентов, одного реселлера или всех реселлеров, либо одного или нескольких подключений вендора.
  • Вы знаете период и правильные Prefix (префикс), Interval 1 (интервал 1), Interval N (интервал N), Price 1 (цена 1) и Price N (цена N).
  • Вы скачали затронутые CDR, чтобы сравнить состояние до и после. Перерасчёт нельзя отменить.

Шаг 1: Исправьте ставку для будущих звонков

Заголовок раздела «Шаг 1: Исправьте ставку для будущих звонков»

Задание перерасчёта использует только ставки, которые вы в него загрузили, а не тариф. Сначала исправьте ставку в тарифе (для вендора - в маршруте терминации), чтобы новые звонки тарифицировались правильно. См. Ставки.

  1. Откройте Tools & Debugs → Rerate CDRs.
  2. Выберите, что пересчитывать. Выбор одного из вариантов очищает остальные:
    • Account (аккаунт): один аккаунт или All (все) для всех аккаунтов. Пересчитывает CDR аккаунтов и балансы аккаунтов.
    • Reseller (реселлер): один реселлер или All для всех реселлеров. Пересчитывает то, что реселлер платит вам, и баланс реселлера.
    • Vendor (вендор), затем одна или несколько записей в Vendor Connection (подключение вендора): пересчитывает CDR вендора для этих подключений и баланс вендора.
  3. Для примера введите example-telecom в поле Account.
  4. Введите Period From (период с) 2026-05-03 00:00 и Period To (период по) 2026-05-14 00:00. Время указывается в часовом поясе вашего веб-пользователя.
  5. Задайте для Recalculate Time (время перерасчёта) время вне пиковой нагрузки, если за период много звонков. now запускает задание сразу после загрузки ставок.
  6. Введите заметку в Notepad (заметки), например Fix 4420 upload of 3 May.
  7. Введите Notification Email List (список адресов для уведомлений) - перечень адресов через запятую, на которые приходит письмо, когда задание начинается и когда завершается.
  8. Нажмите Add (добавить).
Screenshot "tutorials/rerate-cdrs" has not been generated yet — see scripts/screenshots/screens.yml.

Результат: задание появляется в списке с красным статусом Pending, no rates uploaded (ожидает, ставки не загружены). Без ставок задание никогда не запускается.

  1. Нажмите Get Template (получить шаблон) в строке задания. Вы получаете пустой файл Recalculate_Rates со столбцами Action [A|D|U|S|SA], Id, Prefix, Country, Interval 1, Interval N, Price 1 и Price N.

  2. Добавьте по одной строке на каждый префикс с A в столбце действия. Для примера:

    Action [A|D|U|S|SA] Id Prefix Country Interval 1 Interval N Price 1 Price N
    A 4420 60 60 0.0150 0.0150
  3. Нажмите Upload Rates (загрузить ставки) в строке задания и выберите файл.

  4. Проверьте сообщение: Upload has completed successfully с количеством обработанных, распознанных и добавленных строк. Строки с ошибками возвращаются в файле Recalculate Rates errors с сообщением об ошибке для каждой строки.

Результат: статус меняется на Pending (ожидает). Upload Rates теперь неактивна, а Get Rates (получить ставки) скачивает ставки задания. Чтобы изменить их, удалите задание и создайте новое.

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

Пока задание выполняется, его статус - In Progress (выполняется). После завершения статус становится Completed (завершено), а Message (сообщение) показывает итог: сколько аккаунтов (или клиентов, или подключений) пересчитано, общее изменение, минуты и количество звонков.

  1. Откройте Reports → Call Records (CDRs) (записи о звонках) для example-telecom и нужного периода.
  2. Убедитесь, что звонки на 4420… показывают новую цену и стоимость.
  3. Откройте аккаунт и убедитесь, что баланс изменился на сумму из Message.