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

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

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

просмотр истории страницы
Оператор связи для обсчета звонка выбирается по исходящему транку. Если транк у звонка задан, но оператор не найден - звонок считается ошибочным.
{toc:maxLevel=3}

Чтобы начать обсчет звонков на оператора связи, нужно:
h1. Описание возможностей

1. Создать оператора связи (абонента с типом "оператор связи")
В *Carbon Billing 5* возможно тарифицировать несколько видов взаиморасчетов:
* Начисления по агентской схеме входящего и исходящего трафика
* Расчет завершения вызова и расчет инициирования вызова
* Транзитный трафик

2. Создать услугу voip с ценами этого оператора связи
h1. Настройка услуг операторов

3. Подключить эту услугу(услуги) оператору, указав при подключении маску для транка (см. описание этого поля далее).
Оператор связи для обсчета звонка выбирается по транкам.
Если транк у звонка задан, но оператор не найден - звонок считается ошибочным.
Если транк в звонке не задан, это вызовет некритичную ошибку операторских взаиморасчетов.

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

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

Имя транка может содержать любой текст, но если в нем задано 2 целых числа через четрочку, то при поиске транк будет проверяться на вхождение в этот промежуток.
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}
#* Ваши услуги телефонии
\\
\\ !telephony_partner_ist_services.png|border=1,width=1000!\\
\\
#* Услуги телефонии партнера
\\
\\ !telephony_partner_neighbor_services.png|border=1,width=1000!

100-200,301,#01
h2. Транзитный трафик

Будут попадать транки с 100 по 200 (включительно), 301 и #01 (транк может содержать и произвольные символы, не только числа)
Транзитным считается трафик прошедший через Вашу сеть, но не относящийся к Вашей номерной ёмкости.
Прохождение через Вашу сеть определяется по транкам, которые должны быть настроены в услугах телефонии у операторов-партнёров (от кого и кому идет транзитный звонок).
Вызовы пришедшие на транки Ваших партнёров, отразятся у них в расходе.

Запуск в продакшен:
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. Как понять, что звонок был посчитан по агентской схеме или как транзитный?

h4. Исходящие вызовы и инициирование вызова
# В таблице VOIP_LOG должны быть заполнены поля тарификации оператора:
#* OPERATOR_ID: ID оператора-партнёра, в расходе которого будет посчитан вызов
#* OPERATOR_USLUGA_ID: ID услуги, по которой считается расход оператора за исходящие вызовы по агентской схеме и инициирование вызова
#* OPERATOR_STEP_PRICE: стоимость шага тарификации услуги оператора-партнёра
#* V_TYPE_ID: 2
# В логе проводок ARCH_ACCOUNT_STACK должны быть записи с LOG_ID=VOIP_LOG.ID:
#* Одна по стоимости вызова
#* Одна за инициирование вызова
# Проводка будет одна, если Вы считаете только завершение вызова или только стоимость по времени

h4. Входящие звонки и завершение вызова
# В таблице VOIP_LOG должны быть заполнены поля тарификации оператора:
#* OPERATOR_ID: ID оператора-партнёра, в расходе которого будет посчитан вызов
#* OPERATOR_USLUGA_ID: ID услуги, по которой считается расход оператора за входящие вызовы по агентской схеме и завершение вызова
#* OPERATOR_STEP_PRICE: стоимость шага тарификации услуги оператора-партнёра
#* V_TYPE_ID: 1
# В логе проводок ARCH_ACCOUNT_STACK должны быть записи с LOG_ID=VOIP_LOG.ID:
#* Одна по стоимости вызова
#* Одна за завершение вызова
# Проводка будет одна, если Вы считаете только завершение вызова или только стоимость по времени

h4. Транзит
# В таблице VOIP_LOG должны быть заполнены поля тарификации оператора:
#* V_TYPE_ID: 3
#* OPERATOR_ID: ID оператора, в сеть которого ушел вызов
#* OPERATOR_USLUGA_ID: ID услуги, по которой считается расход этого оператора за транзит
#* OPERATOR_STEP_PRICE: стоимость шага тарификации в этой услуге
#* SRC_OPERATOR_ID: ID оператора, из сети которого ушел вызов
#* SRC_OPERATOR_USLUGA_ID: ID услуги, по которой считается расход этого оператора за транзит
#* SRC_OPERATOR_STEP_PRICE: стоимость шага тарификации в этой услуге
# В логе проводок ARCH_ACCOUNT_STACK должны быть две записи с LOG_ID=VOIP_LOG.ID:
#* Одна по услуге оператора и сети которого ушел вызов
#* Одна по услуге оператора в чью сеть ушел вызов
# Проводка будет одна, у кого-то из операторов не настроена услуга транзита или не указана стоимость направление, либо оно бесплатно (стоимость 0)