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

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

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

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

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

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

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

Оператор связи для обсчета звонка выбирается по транкам. В звонке должны быть заполнены поля:
Если транк у звонка задан, но оператор не найден - звонок считается ошибочным.
Если транк в звонке не задан, это вызовет некритичную ошибку операторских взаиморасчетов.
* *SRC_CHAN* \- транк источника
* *DST_CHAN* \- транк назначения

{note}
При пустых полях SRC_CHAN и DST_CHAN звонок не будет посчитан у оператора связи.
{note}

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

{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}
{note}
В звонке обязательно должны быть заполнены поля SRC_CHAN и DST_CHAN. При пустых полях звонок не будет посчитан у оператора связи.
{note}
# Набор услуг телефонии будет выглядеть так:
#* Ваши услуги телефонии
!telephony_partner_neighbor_services.png|border=1,width=1000!

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

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

Транзитным считается трафик прошедший через Вашу сеть, но не относящийся к Вашей [номерной ёмкости|Пулы телефонных номеров]. Прохождение через Вашу сеть определяется по транкам, которые должны быть настроены в услугах телефонии у операторов-партнёров (от кого и кому идет транзитный звонок). Вызовы пришедшие на транки Ваших партнёров, отразятся у них в расходе.

h3. Настройте оборудование

По статье [Настройка VOIP NAS] в настройках NAS [включите опцию|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=52789501#НастройкаVOIPNAS-Дополнительно] "*Через АТС проходят транзитные звонки*"

h3. Настройте услуги

# Для тарификации транзитного трафика абонентов необходимо [создать услугу телефонии с типом "Транзит"|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087067].
# Настройте оборудование. В настройках NAS [включите опцию|Настройка VOIP NAS#Дополнительно] "*Через АТС проходят транзитные звонки*"
# Настройте услуги. Для тарификации транзитного трафика абонентов необходимо [создать услугу телефонии|Услуги. IP Телефония] с типом "[Транзит|Тип трафика]".
!1.png|border=1,width=400!
# Загрузить в операторскую услугу [цены на направления|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=52789510].
# Загрузите в услугу [цены на направления|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен].
# Подключите услуги операторам-партнёрам. Заполните поле *"Маска trunk"*, значение соответствует маске оператора из CDR.
Пример cdr:
{code}
h3. Подключите их операторам
71110000001;72220000002;2018-02-12 10:00:00;2018-02-12 10:04:08;248;248;subscribers;Operator1
{code}
# Подключите услугу оператору связи. Заполните поле *"Маска trunk"*, значение соответствует маске оператора из CDR.
Пример cdr:
{code}71110000001;72220000002;2018-02-12 10:00:00;2018-02-12 10:04:08;248;248;subscribers;Operator1{code}
!2.png|border=0,width=600!
# Затем нажмите кнопку "Сохранить"
# Также сделайте для второго оператора указав второй транк.

{info}
Важно: биллинг работает только с диапазонами чисел. Если маска указана в формате символ+число, транк будет отображаться некорректно.
{info}
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. Алгоритм расчёта звонка

Звонок рассчитывается по следующему алгоритму:
# Поиск оператора связи
Звонок считается одновременно у двух оператор связи. Звонок приходит от источника - "Оператора стороны *A*" к назначению "Оператору стороны *B*". Поиск оператора происходит с помощью сопоставления маски транка с полями SRC_CHAN и DST_CHAN соответственно.
# Поиск оператора связи. Ядро биллинга формирует набор из всех маскок транка оператора связи, независимо от [типа трафика|Тип трафика] в услугах. Маска транка может соответствовать только одному оператору.
{note}
Маска транка может соответствовать только одному оператору. Хотя маска транка указывается в услуге телефонии, при поиске оператора связи будут учтены маски транка из всех услуг оператора, независимо от направления звонка. Например, вы указали маску транка 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. Особенности проводок

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