Тарификация и биллинг
Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию
Тарификация превращает длительность звонка в цену; биллинг списывает эту цену с баланса. FlySIP делает и то, и другое для каждой сущности, участвующей в звонке: аккаунта, каждого клиента над ним и вендора, по тарифу, назначенному каждому из них. Описанные ниже правила одинаковы для клиентов и вендоров; различается только направление движения денег.
Как это работает
Заголовок раздела «Как это работает»Поиск ставки. Для набранного номера коммутатор берёт тариф аккаунта и выбирает ставку с самым длинным совпадающим префиксом. Затем делает то же самое с тарифом клиента, которому принадлежит аккаунт, и так далее вплоть до корневого клиента. Каждое звено цепочки должно иметь ставку, иначе кто-то обслуживал бы звонок бесплатно, поэтому такой звонок отклоняется. Ставка с отметкой 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.
Счёт вендора не совпадает с CDR вендора
Заголовок раздела «Счёт вендора не совпадает с CDR вендора»Вендор тарифицирует те же звонки по собственным интервалам и округлению. Сравните Interval 1 / Interval N и Cost Decimal Precision маршрутов терминации с прайс-листом вендора и проверьте, что вендор и маршруты терминации используют одинаковый Time Zone (часовой пояс), чтобы суточные итоги совпадали. Смотрите Округление и точность стоимости звонков.
Клиент реселлера может звонить, хотя у реселлера нет денег
Заголовок раздела «Клиент реселлера может звонить, хотя у реселлера нет денег»Авторизация проходит всю цепочку, поэтому для нового звонка это невозможно: отрицательный баланс и кредитный лимит реселлера тоже проверяются. Звонки, которые уже идут, продолжаются до своей заранее вычисленной максимальной длительности.