{toc:maxLevel=3}
h1. Описание возможностей
В *Carbon Billing 5* возможно тарифицировать несколько видов взаиморасчетов:
* Начисления по агентской схеме входящего и исходящего трафика
* Расчет завершения вызова и расчет инициирования вызова
* Транзитный трафик
h1. Настройка услуг операторов
Оператор связи для обсчета звонка выбирается по транкам.
Если транк у звонка задан, но оператор не найден - звонок считается ошибочным.
Если транк в звонке не задан, это вызовет некритичную ошибку операторских взаиморасчетов.
Чтобы начать обсчет звонков на оператора связи, нужно:
# Создать операторов в папке "Операторы связи"
\\
\\ !telephony_partner_isp_list.png|border=1!\\
\\
# Создать услуги необходимых типов
# [Загрузить в них цены|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен] на направления
# Подключить операторам
{info}Если требуется разделить в акте направления звонков по нескольким услугам (например, междугородний или международный трафик) , это можно сделать по статье "[CarbonBilling:Местная связь, Внутризоновая связь, Междугородняя и международная (дальняя) связь]"{info}
h2. Начисления по агентской схеме, расчет завершения вызова и расчет инициирования вызова
+Исходящие вызовы абонентов+ прошедшие с Вашей [номерной ёмкости|Пулы телефонных номеров] на транк другого оператора учитываются как +исходящие по агентской схеме+, а так же для расчета +инициирования вызова+
+Входящие вызовы абонентов+ прошедшие на Вашу [номерную ёмкость|Пулы телефонных номеров] с транка другого оператора учитываются как +входящие по агентской схеме+, а так же для расчета +завершения вызова+
{note}Услугу с типом "*Входящий*" необходимо создать и заполнить в ней встречающиеся в _CDR_ направления даже если вы не тарифицируете завершение вызова{note}
# Создайте услуги IP телефонии по инструкции "[CarbonBilling:Услуги. IP Телефония]", необходимо создать +две услуги+: с типом трафика "Исходящий"и "Входящий" (статья "[CarbonBilling:Тип трафика]")
#* *Исходящий*: необходима для расчетов по агентской схеме и расчета инициирования вызова
#* *Входящий*: необходима для расчета завершения вызова
# [Загрузите в них цены на направления|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен]
# Подключить эти услуги оператору, указав маску транка или несколько масок через запятую.
Имя транка может содержать любой текст, но если в нем задано 2 целых числа через дефис, то при поиске транк будет проверяться на вхождение в этот промежуток.
Транк может содержать и произвольные символы, не только числа.
\\
\\ !telephony_partner_ist_edit_trunk.png|border=1,width=1000!\\
\\
Пример:
{code}100-200,301,#01{code}
В диапазон будут попадать транки с 100 по 200 (включительно), 301 и #01
{info}
Вы так же можете указать маску транка, используя регулярное выражение из двух знаков (точка и звездочка). Например:
{code}
RTK-.*
{code}
Для данной маски транка подойдут все значения, начинающиеся с *RTK-*
{info}
\\
\\
{info}
Если в качестве транка написать слово *default* , то это будет оператор по умолчанию для всех остальных транков не отнесенных к кому-либо из операторов.
{info}
{note}
В звонке обязательно должны быть заполнены поля SRC_CHAN и DST_CHAN. При пустых полях звонок не будет посчитан у оператора связи.
{note}
#* Ваши услуги телефонии
\\
\\ !telephony_partner_ist_services.png|border=1,width=1000!\\
\\
#* Услуги телефонии партнера
\\
\\ !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].
!1.png|border=1,width=400!
# Загрузить в операторскую услугу [цены на направления|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=52789510].
h3. Подключите их операторам
# Подключите услугу оператору связи. Заполните поле *"Маска 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. Отладка интеграции
h3. Как понять, что звонок был посчитан по агентской схеме или как транзитный?
Необходимо проверить поля в таблице VOIP_LOG по конкретному звонку.
При агенстской схеме звонок одновременно считается у двух операторов связи. В таблице VOIP_LOG задействованы поля:
* SRC_OPERATOR_ - сторона источника - Оператор стороны A
* OPERATOR_ - сторона назначения - Оператор стороны B
h4. Исходящие вызовы и инициирование вызова
В таблице VOIP_LOG будут заполнены поля тарификации:
# Оператор стороны *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: стоимость шага тарификации услуги оператора-партнёра
# V_TYPE_ID: 2 - ID типа направления - Исодящий
В логе проводок ARCH_ACCOUNT_STACK должны быть две записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По оператору-партнёру
# По вашему оператору
h4. Входящие звонки и завершение вызова
В таблице VOIP_LOG будут заполнены поля тарификации:
# Оператор стороны *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: стоимость шага тарификации услуги вашего оператора
# V_TYPE_ID: 2 - ID типа направления - Входящий
В логе проводок ARCH_ACCOUNT_STACK должны быть записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По вашему оператору
# По оператору-партнёру
h4. Транзит
В таблице VOIP_LOG должны быть заполнены поля тарификации оператора:
# Оператор стороны *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: стоимость шага тарификации услуги оператора, в сеть которого ушел вызов
# V_TYPE_ID: 3 - ID типа направления - Транзит
В логе проводок ARCH_ACCOUNT_STACK должны быть две записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По оператору из сети которого пришел вызов
# По оператору в чью сеть ушел вызов
h4. Особенности проводок
Если вы тарифицируете и минуты и факт завершения звонка, то по одному звонку будет четыре проводки. По две у каждого оператора связи. Типы проводок:
* Стоимость вызова
* Инициирование вызова
h1. Описание возможностей
В *Carbon Billing 5* возможно тарифицировать несколько видов взаиморасчетов:
* Начисления по агентской схеме входящего и исходящего трафика
* Расчет завершения вызова и расчет инициирования вызова
* Транзитный трафик
h1. Настройка услуг операторов
Оператор связи для обсчета звонка выбирается по транкам.
Если транк у звонка задан, но оператор не найден - звонок считается ошибочным.
Если транк в звонке не задан, это вызовет некритичную ошибку операторских взаиморасчетов.
Чтобы начать обсчет звонков на оператора связи, нужно:
# Создать операторов в папке "Операторы связи"
\\
\\ !telephony_partner_isp_list.png|border=1!\\
\\
# Создать услуги необходимых типов
# [Загрузить в них цены|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен] на направления
# Подключить операторам
{info}Если требуется разделить в акте направления звонков по нескольким услугам (например, междугородний или международный трафик) , это можно сделать по статье "[CarbonBilling:Местная связь, Внутризоновая связь, Междугородняя и международная (дальняя) связь]"{info}
h2. Начисления по агентской схеме, расчет завершения вызова и расчет инициирования вызова
+Исходящие вызовы абонентов+ прошедшие с Вашей [номерной ёмкости|Пулы телефонных номеров] на транк другого оператора учитываются как +исходящие по агентской схеме+, а так же для расчета +инициирования вызова+
+Входящие вызовы абонентов+ прошедшие на Вашу [номерную ёмкость|Пулы телефонных номеров] с транка другого оператора учитываются как +входящие по агентской схеме+, а так же для расчета +завершения вызова+
{note}Услугу с типом "*Входящий*" необходимо создать и заполнить в ней встречающиеся в _CDR_ направления даже если вы не тарифицируете завершение вызова{note}
# Создайте услуги IP телефонии по инструкции "[CarbonBilling:Услуги. IP Телефония]", необходимо создать +две услуги+: с типом трафика "Исходящий"и "Входящий" (статья "[CarbonBilling:Тип трафика]")
#* *Исходящий*: необходима для расчетов по агентской схеме и расчета инициирования вызова
#* *Входящий*: необходима для расчета завершения вызова
# [Загрузите в них цены на направления|Использование экспорта и импорта csv и xlsx файлов с тарифами VOIP. Загрузка цен]
# Подключить эти услуги оператору, указав маску транка или несколько масок через запятую.
Имя транка может содержать любой текст, но если в нем задано 2 целых числа через дефис, то при поиске транк будет проверяться на вхождение в этот промежуток.
Транк может содержать и произвольные символы, не только числа.
\\
\\ !telephony_partner_ist_edit_trunk.png|border=1,width=1000!\\
\\
Пример:
{code}100-200,301,#01{code}
В диапазон будут попадать транки с 100 по 200 (включительно), 301 и #01
{info}
Вы так же можете указать маску транка, используя регулярное выражение из двух знаков (точка и звездочка). Например:
{code}
RTK-.*
{code}
Для данной маски транка подойдут все значения, начинающиеся с *RTK-*
{info}
\\
\\
{info}
Если в качестве транка написать слово *default* , то это будет оператор по умолчанию для всех остальных транков не отнесенных к кому-либо из операторов.
{info}
{note}
В звонке обязательно должны быть заполнены поля SRC_CHAN и DST_CHAN. При пустых полях звонок не будет посчитан у оператора связи.
{note}
#* Ваши услуги телефонии
\\
\\ !telephony_partner_ist_services.png|border=1,width=1000!\\
\\
#* Услуги телефонии партнера
\\
\\ !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].
!1.png|border=1,width=400!
# Загрузить в операторскую услугу [цены на направления|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=52789510].
h3. Подключите их операторам
# Подключите услугу оператору связи. Заполните поле *"Маска 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. Отладка интеграции
h3. Как понять, что звонок был посчитан по агентской схеме или как транзитный?
Необходимо проверить поля в таблице VOIP_LOG по конкретному звонку.
При агенстской схеме звонок одновременно считается у двух операторов связи. В таблице VOIP_LOG задействованы поля:
* SRC_OPERATOR_ - сторона источника - Оператор стороны A
* OPERATOR_ - сторона назначения - Оператор стороны B
h4. Исходящие вызовы и инициирование вызова
В таблице VOIP_LOG будут заполнены поля тарификации:
# Оператор стороны *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: стоимость шага тарификации услуги оператора-партнёра
# V_TYPE_ID: 2 - ID типа направления - Исодящий
В логе проводок ARCH_ACCOUNT_STACK должны быть две записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По оператору-партнёру
# По вашему оператору
h4. Входящие звонки и завершение вызова
В таблице VOIP_LOG будут заполнены поля тарификации:
# Оператор стороны *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: стоимость шага тарификации услуги вашего оператора
# V_TYPE_ID: 2 - ID типа направления - Входящий
В логе проводок ARCH_ACCOUNT_STACK должны быть записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По вашему оператору
# По оператору-партнёру
h4. Транзит
В таблице VOIP_LOG должны быть заполнены поля тарификации оператора:
# Оператор стороны *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: стоимость шага тарификации услуги оператора, в сеть которого ушел вызов
# V_TYPE_ID: 3 - ID типа направления - Транзит
В логе проводок ARCH_ACCOUNT_STACK должны быть две записи с ARCH_ACCOUNT_STACK.LOG_ID=VOIP_LOG.ID
# По оператору из сети которого пришел вызов
# По оператору в чью сеть ушел вызов
h4. Особенности проводок
Если вы тарифицируете и минуты и факт завершения звонка, то по одному звонку будет четыре проводки. По две у каждого оператора связи. Типы проводок:
* Стоимость вызова
* Инициирование вызова