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

Тарификация и биллинг

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

Тарификация превращает длительность звонка в цену; биллинг списывает эту цену с баланса. FlySIP делает и то, и другое для каждой сущности, участвующей в звонке: аккаунта, каждого клиента над ним и вендора, по тарифу, назначенному каждому из них. Описанные ниже правила одинаковы для клиентов и вендоров; различается только направление движения денег.

Интервалы тарификации звонка: льготный период, интервал 1, бесплатные секунды, интервал N

Поиск ставки. Для набранного номера коммутатор берёт тариф аккаунта и выбирает ставку с самым длинным совпадающим префиксом. Затем делает то же самое с тарифом клиента, которому принадлежит аккаунт, и так далее вплоть до корневого клиента. Каждое звено цепочки должно иметь ставку, иначе кто-то обслуживал бы звонок бесплатно, поэтому такой звонок отклоняется. Ставка с отметкой Forbidden (запрещено) отклоняет звонок намеренно.

Проверка кредита. Для каждой сущности в цепочке коммутатор сравнивает Balance (баланс) с Credit Limit (кредитный лимит) и вычисляет наибольшую длительность, которую может себе позволить абонент. Самая короткая из этих длительностей становится максимальной длительностью звонка. Аккаунт на предоплате с нулевым балансом не может звонить; клиент на постоплате может звонить, пока отрицательный баланс не достигнет кредитного лимита. Во время звонка коммутатор резервирует баланс частями и продлевает звонок, пока хватает средств; смотрите Максимальная длительность сессии.

Вычисление цены. Тариф задаёт общие параметры, ставка — параметры для конкретного префикса:

Параметр Где Значение
Grace Period, sec тариф Звонки короче этого значения бесплатны. 0 и 1 ведут себя почти одинаково; с 1 соединённый звонок нулевой длительности также не платит плату за соединение
Connect Fee тариф Фиксированная сумма, которая взимается за каждый соединённый звонок
Free Seconds тариф Секунды после первого интервала, за которые не взимается плата
Post Call Surcharge тариф Процент, который добавляется к итоговой сумме: 0.01 добавляет 1%
Interval 1 / Price 1 ставка Длительность в секундах и цена за минуту первого интервала; каждый соединённый звонок оплачивает первый интервал полностью
Interval N / Price N ставка Длительность и цена за минуту каждого следующего интервала; каждый начатый интервал оплачивается полностью

По порядку: звонок короче льготного периода ничего не стоит. В противном случае взимается плата за соединение, первые Interval 1 секунд тарифицируются по Price 1, следующие Free Seconds бесплатны, а остаток округляется вверх до целых интервалов Interval N по Price N. Надбавка применяется к сумме, а результат округляется до Cost Decimal Precision (точность стоимости) тарифа. С интервалами 60/60 вы тарифицируете поминутно, с 60/6 — первую минуту полностью, а дальше по шесть секунд, с 1/1 — посекундно.

Запись. Когда звонок завершается, коммутатор списывает с аккаунта и каждого клиента в цепочке их собственную цену и зачисляет на баланс вендора стоимость терминации. Каждая сущность получает CDR со своей ценой; разница между ними — это ваша маржа. Ежемесячные счета-фактуры и Billing Cycle (биллинговый цикл) тарифного плана работают поверх этих CDR.

  • Tariff (тариф) — именованный набор ставок, который определяет стоимость звонков для клиента (тариф клиента) или вендора (тариф вендора).
  • Rate (ставка) — цена звонков на один префикс направления в пределах тарифа, с интервалами, платой за соединение и датами действия.
  • Billing increment (шаг тарификации) — интервал в секундах (например, 60/1, 1/1, 30/6), по которому округляется длительность звонка при тарификации.
  • Connect fee (плата за соединение) — фиксированная сумма, которая взимается один раз за каждый соединённый звонок.
  • Balance — текущая сумма денег на клиенте или аккаунте. Отрицательные значения означают долг в пределах кредитного лимита.
  • Credit limit — максимально допустимый долг. Когда баланс опускается ниже отрицательного кредитного лимита, звонки блокируются.
  • Prepaid (предоплата) / Postpaid (постоплата) — оплата до использования с нулевым кредитным лимитом или счёт после использования в пределах кредитного лимита.

61-секундный звонок тарифицируется как две минуты

Заголовок раздела «61-секундный звонок тарифицируется как две минуты»

Ставка использует интервалы 60/60: первый интервал охватывает секунды с 1 по 60, а 61-я секунда начинает второй интервал, который оплачивается полностью. Задайте Interval N равным 1 или 6 в розничных тарифах, если вы продаёте не это.

Короткие звонки стоят денег, хотя никто не разговаривал

Заголовок раздела «Короткие звонки стоят денег, хотя никто не разговаривал»

Соединённые звонки оплачивают плату за соединение и весь первый интервал, даже если абонент сразу положил трубку. Задайте Grace Period, sec в несколько секунд, чтобы такие звонки были бесплатными, или установите Connect Fee равным 0.

Вендор тарифицирует те же звонки по собственным интервалам и округлению. Сравните Interval 1 / Interval N и Cost Decimal Precision маршрутов терминации с прайс-листом вендора и проверьте, что вендор и маршруты терминации используют одинаковый Time Zone (часовой пояс), чтобы суточные итоги совпадали. Смотрите Округление и точность стоимости звонков.

Клиент реселлера может звонить, хотя у реселлера нет денег

Заголовок раздела «Клиент реселлера может звонить, хотя у реселлера нет денег»

Авторизация проходит всю цепочку, поэтому для нового звонка это невозможно: отрицательный баланс и кредитный лимит реселлера тоже проверяются. Звонки, которые уже идут, продолжаются до своей заранее вычисленной максимальной длительности.