Тарификация стоимости звонка для оператора осуществляется во время тарификации звонка клиента. Для этого используется узел тарифа
, в котором указывается ссылка на тариф оператора. Из него извлекается подходящая цена и правила округления.Чтобы разделить тарификацию на разных операторов используется узел
. Операторы задаются в конфигурации модуля:#Название operator.1.title=VTK #Код(id) договора-оператора operator.1.cid=135121 #Наработку по оператору c кодом услуги 813 класть в наработку договора с кодом услуги 813 operator.1.account.813=813 operator.2.title=Совинтел operator.2.cid=135122 #Всю наработку по оператору класть в наработку договора с кодом услуги 4 operator.1.account.4=all
import bitel.billing.server.radius.*; prefix = "remote-media-address"; length = prefix.length(); attributes = request.getVendorAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair ); if( attributes != null ) for( it = attributes.iterator(); it.hasNext(); ) { ra = it.next(); value = ra.getStringValue(); if( value.startsWith( prefix ) ) { if( value.endsWith( "77.82.17.33" ) ) { request.setOption( "operator", 1 ); break; } else if( value.endsWith( "172.36.104.61" ) ) { request.setOption( "operator", 2 ); break; } } }
Т.е. в зависимости от содержимого пакета нужно установить
.Также следует учитывать, что скрипт предобработки запроса отрабатывает на каждом запросе, при этом установка кода оператора отрабатывает на запросе аутентификации и на Stop-пакете. Если установка произойдет оба раза, то запомнится значение обработки Stop-пакета.
Код оператора сохраняется в звонке, так что при переобсчете ветка Оператор также будет учитываться.
Построение тарифа для оператора почти не отличается от построения тарифа для абонента, за тем исключением, что в тарифе оператора необязательно указывать направление.
Для создания наработки на операторских договорах необходимо в конфигурации модуля указать привязку: код договора - услуги, которые принадлежат этому оператору и указать код услуги модуля, на который будет ложиться наработка в договоре оператора.
#Пример конфигурации для договора оператора с кодом (id договора) 455 #Код договора, на который будет ложиться наработка operator.1.cid=455 #Коды абонетских услуг, наработка по которым будет суммироваться и ложится в наработку с кодом 4 operator.1.account.4=10,11 #Или же можно указать звонки оператора с любым кодом услуги #operator.1.account.4=all
Для того чтобы наработка на договоре оператора обсчитывалась нужно настроить задачу планировщика
. В параметрах задачи должно быть указано =<код экземпляра модуля VoiceIP>. При выполнении задача берет месяц предыдущего от текущего часа и производит установку балансов на этот месяц.