Общие сведения о рейтинге и выставлении счетов

Общие сведения о рейтинге и выставлении счетов
S
Автор Sergiiy
Обновлено 1 год назад

Возможность оценивать звонки и выставлять счета Аккаунтам, Клиентам и Поставщикам за них — ключевая функциональность системы, поэтому полное понимание того, как она работает, действительно важно. В этой главе подробно рассматривается этот вопрос.

Как оцениваются и оплачиваются звонки


Когда вызов проходит через Softswitch, в системе есть как минимум 2 объекта, за которые будет выставлен счет: Аккаунт и один или несколько Клиентов. Все соответствующие Счета и Клиенты оплачиваются в соответствии с правилами, определенными Тарифом, связанным с каждым из них.

Алгоритм работает следующим образом:

  • Когда системе необходимо сначала оценить или выставить счет за вызов, она определяет, какой Аккаунт его совершает. После этого он находит Тариф для этого Аккаунта и выбирает наиболее подходящий Тариф для номера назначения, как описано выше. Поскольку могут быть вложенные клиенты, он проверяет, не является ли Клиент, которому принадлежит этот Аккаунт, Корневым клиентом, и выбирает наиболее подходящий Тариф в соответствии с соответствующим Тарифом для этого Клиента, если нет.
  • Он перебирает цепочку клиентов, пока не будет достигнут корневой клиент. Это может показаться сложным процессом, но на самом деле это не так. Ставки индексируются сервером БД, а на практике действительно глубокая вложенность встречается редко, поэтому выбор наиболее подходящей в большинстве случаев происходит очень быстро, всего за 1-2 итерации.
  • ВНИМАНИЕ: В случае, если одно из звеньев в цепочке от Аккаунта до Корневого клиента не имеет Тариф, совпадающий с номером назначения, вызов не будет пропущен, так как это будет означать, что кто-то в цепочке не платит для этого звонка. При обходе цепочки Softswitch также записывает разницу между Балансом и Кредитным лимитом для каждого объекта, а также отклоняет вызов, если обнаруживает, что для некоторых из них Баланс уже превышает соответствующий Кредитный лимит, тем самым не позволяя клиентам перерасходовать свои кредиты.
  • Вызов также будет отклонен, если система обнаружит Rate с включенным параметром Forbidden. Такие Тарифы предназначены для того, чтобы упростить блокировку определенного префикса (например, префикса бесплатных звонков или номеров с поминутной оплатой).
  • Эта процедура вызывает несколько наборов различных параметров выставления счетов для учетной записи и одного или нескольких клиентов. Эти параметры и их значение подробно описаны ниже.


Из Тарифа система получает следующие параметры:

FreeSeconds - в секундах

ConnectFee - в денежных единицах

PostCallSurcharge - в процентах (0,01 означает 1%)

GracePeriod - в секундах

Из Rate система получает:

Цена1 - в денежных единицах за минуту

PriceN - в денежных единицах за минуту

Интервал1 - в секундах

ИнтервалN - в секундах

Самыми простыми параметрами являются ConnectFee, представляющая собой фиксированную сумму денег, взимаемую за каждый успешный вызов независимо от его продолжительности, и PostCallSurcharge, применяемая дополнительная плата, которая рассчитывается в процентах от взимаемой суммы, то есть если стоимость звонка составляет 1 доллар и PostCallSurcharge составляет 0,01, фактическая взимаемая сумма составит 1,01 доллара.

На следующем рисунке показано, как тарифицируются звонки. Процесс начинается со сравнения значения параметра GracePeriod с длительностью звонка. Параметр GracePeriod определяет минимальную продолжительность вызова, за который будет взиматься плата. Звонки длительностью меньше этого значения вообще не тарифицируются. Значения GracePeriod, равные 0 секундам и 1 секунде, обеспечивают почти одинаковое поведение, за исключением того, что когда GracePeriod равен 1 секунде, за подключенные вызовы с нулевой продолжительностью не будет взиматься плата за соединение.

Плата за соединение взимается сразу после соединения, а все вызовы короче, чем Interval1, будут округлены до Interval1 секунд. FreeSeconds предоставляются после Interval1, поэтому эта часть вызова не тарифицируется, поэтому вызовы короче (Interval1 + FreeSeconds) будут округлены до Interval1 секунд. Если вызов длиннее (Interval1 + FreeSeconds), оставшаяся часть будет округлена до нескольких секунд IntervalN. После этого PostCallSurcharge применяется к общей списанной сумме.

Оцените эту статью