Взаиморасчеты между операторами, агентская схема телефонии

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (34)

просмотр истории страницы

В *Carbon Billing 5* по оператору связи возможно тарифицировать несколько видов взаиморасчетов:
* Входящий трафик
* Исходящий трафик
* Транзитный трафик
* Факт совершения вызова по всем типам трафика(завершения и инициирования вызова)
* Услуги входящей связи
* Услуги исходящей связи
* Услуги транзита трафика
* Факт совершения вызова по всем типам трафика(инициирования и завершения вызова), количество звонков

{info}
Для расчёта инициирования и завершения вызова по времени звонков, а не по количеству совершенных вызовов воспользуйтесь [конструктором отчётов|Конструктор отчетов].
{info}

h1. Настройка услуг операторов

Оператор связи для обсчета звонка выбирается по транкам. В звонке должны быть заполнены поля:
* *SRC_CHAN* - \- транк источника
* *DST_CHAN* - транк назначени
* *DST_CHAN* \- транк назначения

{note}

Чтобы начать обсчет звонков на оператора связи, нужно:
# Включить [опцию|Глобальные настройки биллинга и оператора#Телефония] "*Взаиморасчеты телефонии: сторона А по DST*"
# Создать [операторов-партнёров|Агентские схемы и ведение филиалов#Создание оператора связи] в папке "Операторы связи"
!telephony_partner_isp_list.png|border=1!
# Подключить услуги вашему оператору и операторам-партнёрам

{info}Если требуется разделить в акте направления звонков по нескольким услугам (например, междугородний или международный трафик) , это можно сделать по статье "[CarbonBilling:Местная связь, Внутризоновая связь, Междугородняя и международная (дальняя) связь|CarbonBilling:Местная связь, Внутризоновая связь, Междугородняя и международная (дальняя) связь]"{info}

h2. Начисления по агентской схеме, расчет завершения вызова и расчет инициирования вызова
+Исходящие вызовы абонентов+ прошедшие с Вашей [номерной ёмкости|Пулы телефонных номеров] на транк другого оператора учитываются как +исходящие по агентской схеме+, а так же для расчета +инициирования вызова+
+Входящие вызовы абонентов+ прошедшие на Вашу [номерную ёмкость|Пулы телефонных номеров] с транка другого оператора учитываются как +входящие по агентской схеме+, а так же для расчета +завершения вызова+
{note}Услугу с типом "*Входящий*" необходимо создать и заполнить в ней встречающиеся в _CDR_ направления даже если вы не тарифицируете завершение вызова{note}
{note}
Услугу с типом "*Входящий*" необходимо создать и заполнить в ней направления, даже если вы не тарифицируете завершение вызова.
{note}

# Создайте услуги IP телефонии по инструкции "[CarbonBilling:Услуги. IP Телефония]", необходимо создать +две услуги+: с [типом трафика|CarbonBilling:Тип трафика] "Исходящий"и "Входящий".
#* *Исходящий*: необходима для расчетов по агентской схеме и расчета инициирования вызова
#* *Входящий*: необходима для расчета завершения вызова
# [Загрузите в них цены на направления|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен]
# Подключить эти услуги оператору, указав маску транка. Можно указать несколько масок транка через запятую.
!telephony_partner_ist_edit_trunk.png|border=1,width=1000!
Варианты масок транка:
#* *default* - под маску попадут все значения не совпавшие с остальными масками. Это будет оператор по умолчанию для всех остальных транков не отнесенных к кому-либо из операторов.
{code}
default
{code}
#* *Строка* - может содержать любые символы
{code}
TestTrunk#
{code}
#* *Диапазон чисел* - диапазон целых чисел, строка должна включать только цифры и символ "*-*"
{code}
100-110
{code}
Если в маске транка есть буквы, то не получится использовать диапазон. Нужно будет перечислить символы через запятую:
{code}
TestTrunk1,TestTrunk2,TestTrunk3
{code}
#* *Строка с регулярным выражением* - допускает использовать конструкцию "*.\**" - любое количество любых символов
{code}
TestTrunk.*
{code}
# Набор услуг телефонии будет выглядеть так:
#* Ваши услуги телефонии
!telephony_partner_neighbor_services.png|border=1,width=1000!

Трафик будет посчитан у оператора-партнёра. В вашем операторе связи расход будет пустым. Настройка услуг телефонии в вашем операторе связи необходима для корректной работы выбора оператора связи для расчёта.

h2. Транзитный трафик

# Загрузите в услугу [цены на направления|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен].
# Подключите услуги операторам-партнёрам. Заполните поле *"Маска trunk"*, значение соответствует маске оператора из CDR.
Пример cdr:
{code}
71110000001;72220000002;2018-02-12 10:00:00;2018-02-12 10:04:08;248;248;subscribers;Operator1
!2.png|border=0,width=600!

h2. Описание опций и параметров

* [Опция|Глобальные настройки биллинга и оператора#Телефония] "*Взаиморасчеты телефонии: сторона А по DST*" - при расчете звонка у оператора стороны *А* цена на направление будет найдена по полю DST, то есть по номеру назначения звонка.
Опция добавлена в биллинг для совместимости со старыми интеграциями агентской схемы. Изначально поиск направления на стороне оператора *А* происходил по номеру источника звонка - SRC. Если вы настраиваете агентскую схему впервые, включите опцию.
* *Маска trunk* \- В поле указываются маски для поиска транка. Можно указать несколько масок транка через запятую. Варианты масок транка:
** *default* \- под маску попадут все значения не совпавшие с остальными масками. Это будет оператор по умолчанию для всех остальных транков не отнесенных к кому-либо из операторов.
{code}
default
{code}
** *Строка* \- может содержать любые символы
{code}
TestTrunk#
{code}
** *Строка с регулярным выражением* \- допускает использовать конструкцию "*.\**" - любое количество любых символов
{code}
TestTrunk.*
{code}
** *Диапазон чисел* \- диапазон целых чисел, строка должна включать только цифры и символ "*\-*"
{code}
100-110
{code}
Если в маске транка есть буквы, то не получится использовать диапазон. Нужно будет перечислить символы через запятую:
{code}
TestTrunk1,TestTrunk2,TestTrunk3
{code}

h2. Алгоритм расчёта звонка

Хотя маска транка указывается в услуге телефонии, при поиске оператора связи будут учтены маски транка из всех услуг оператора, независимо от направления звонка. Например, вы указали маску транка TestTrunk во входящей услуги трафика, а в исходящей оставили маску транка пустой. Теперь звонки всех направлений с маской транка TestTrunk будут учтены по этому оператору.
{note}
Звонок считается одновременно проходит обработку у двух оператор связи. Звонок приходит от источника - "Оператора стороны *A*" к назначению "Оператору стороны *B*". Поиск оператора происходит с помощью сопоставления маски транка с полями SRC_CHAN и DST_CHAN соответственно.
При этом начисления входящий и исходящих звонков проходят по опреатору-партнёру, а у транзитных звонков у обоих операторах.
# Поиск услуги телефонии внутри оператора связи
Услуга телефонии так же будет найдена по маске транка, только внутри оператора связи. На этом этапе будет учтено направление звонка.

При агенстской схеме звонок одновременно считается у двух операторов связи. В таблице VOIP_LOG задействованы поля:
* SRC_OPERATOR\_ - сторона источника - Оператор стороны A
* OPERATOR\_ - сторона назначения - Оператор стороны B

h4. Исходящие вызовы и инициирование вызова
# Оператор стороны *A*
#* SRC_OPERATOR_ID: ID вашего оператора
#* SRC_OPERATOR_USLUGA_ID: ID услуги исходящей связи вашего оператора
#* SRC_OPERATOR_STEP_PRICE: стоимость шага тарификации услуги в вашем операторе
# Оператор стороны *B*
#* OPERATOR_ID: ID оператора-партнёра
#* OPERATOR_USLUGA_ID: ID услуги исходящей связи оператора-партёра
#* OPERATOR_STEP_PRICE: стоимость шага тарификации услуги оператора-партнёра
#* OPERATOR_V: длительность звонка учтённая у оператора-партёра
#* VOIP_OPERATOR_COUNTER_ID: ID счётчика телефонного трафика оператора-партёра
# V_TYPE_ID: 2 - ID типа направления - Исходящий

В логе проводок ARCH_ACCOUNT_STACK должны быть две записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
В логе проводок ARCH_ACCOUNT_STACK должна быть запись с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По оператору-партнёру
# По вашему оператору

h4. Входящие звонки и завершение вызова
#* SRC_OPERATOR_USLUGA_ID: ID услуги исходящей связи оператора-партнёра
#* SRC_OPERATOR_STEP_PRICE: стоимость шага тарификации услуги в операторе-партнёре
#* SRC_OPERATOR_V: длительность звонка учтённая у оператора-партёра
#* SRC_VOIP_OPERATOR_COUNTER_ID: ID счётчика телефонного трафика оператора-партёра
# Оператор стороны *B*
#* OPERATOR_ID: ID вашего оператора
#* OPERATOR_USLUGA_ID: ID услуги исходящей связи вашего оператора
#* OPERATOR_STEP_PRICE: стоимость шага тарификации услуги вашего оператора
# V_TYPE_ID: 2 - ID типа направления - Входящий

В логе проводок ARCH_ACCOUNT_STACK должныа быть записиь с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По вашему оператору
# По оператору-партнёру

#* SRC_OPERATOR_USLUGA_ID: ID услуги оператора, из сети которого пришел вызов
#* SRC_OPERATOR_STEP_PRICE: стоимость шага тарификации услуги оператора, из сети которого пришел вызов
#* SRC_OPERATOR_V: длительность звонка учтённая у оператора, из сети которого пришел вызов
#* SRC_VOIP_OPERATOR_COUNTER_ID: ID счётчика телефонного трафика оператора, из сети которого пришел вызов
# Оператор стороны *B*
#* OPERATOR_ID: ID оператора, в сеть которого ушел вызов
#* OPERATOR_USLUGA_ID: ID услуги оператора, в сеть которого ушел вызов
#* OPERATOR_STEP_PRICE: стоимость шага тарификации услуги оператора, в сеть которого ушел вызов
#* OPERATOR_V: длительность звонка учтённая у оператора, в сеть которого ушел вызов
#* VOIP_OPERATOR_COUNTER_ID: ID счётчика телефонного трафика оператора, в сеть которого ушел вызов
# V_TYPE_ID: 3 - ID типа направления - Транзит

h4. Особенности проводок

Если вы тарифицируете и минуты и факт завершения звонка, то по одному звонку будет четыре проводки. По две у проводки для каждого оператора связи. Типы проводок:
* Стоимость вызова
* Инициирование вызова