Состояния пользователей, услуг и команды управления интернет

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

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

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


h2. Таблица Состояний абонента (subscriber) для услуг трафика
h2. Команды скрипта событий, вызываемые биллингом при изменении состояния абонента

|| Состояние пользователя в БД \\ || Описание \\ || Состояние на оборудовании \\ || OSS команда синхронизации ||
| Создан \\
deleted=0 \\ | Учетка существует в биллинге. \\
\\ | Используется в схемах со статическим IP и без RADIUS. \\
На оборудовании должны быть созданы нужные постоянные \\
 VLAN, ACL, static clips и т.п. | user_add |
| Удален \\
deleted=1 \\ | Учетка удалена в корзину в биллинге. Изменен *ключевой параметр* учетной записи \\ | На оборудовании должны быть удалены все записи о пользователе. \\
 Часто достаточно просто disconnect. \\ | user_del |
| Не заблокирован администратором \\
accept=1 \\ | Есть хоть одна услуга трафика без флага блокировки администратором. \\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Не должно быть redirect на страницу блокировки администратором. \\
Если оборудование без сессий, то добавлено правило в acl_accept | user_accept |
| Заблокирован администратором \\
accept=0 \\ | Все услуги трафика заблокированы администратором \\
или самоблокировкой абонента. \\
\\ | Означает, что пользователю(subscriber) нужно создать redirect на страницу блокировки администратором. \\
\*Не рекомендуется при этом просто запрещать трафик, тк это снижает лояльность абонента. \\ | user_drop |
| Баланс исчерпан \\
redirect=1 \\ | Все услуги трафика исчерпали свой баланс. \\ | Означает, что пользователю(subscriber) нужно создать redirect на страницу превышен лимит. | user_redirect |
| Баланс не исчерпан \\
redirect=0 \\ | Есть хоть одна оплаченная услуга трафика или услуга трафика с постоплатой. \\ | Означает, что пользователю(subscriber) должен быть на оборудовании и у него нет редиректа на превышен лимит. | user_redirect_cancel |
| Авторизован \\
logged=1 \\ | Пользователь авторизован, через радиус или веб-авторизацию \\ | Если для веб-авторизации, чтобы убрать правило редиректа noauth \\ | user_auth \\ |
| Не авторизован \\
logged=0 \\ | Пользователь не авторизован \\ | Используется в двух случаях:
* для сброса авторизации - кнопка "Отключить" в карточке абонента; \\
* чтобы убедиться, что сессия сброшена: когда RADIUS-сервер получил от NAS Accounting-Stop (это можно отключить, включив в настройках NAS опцию "Не посылать user_disconnect при получении Radius Stop") | user_disconnect \\ |
| Активирована добровольная блокировка | Абонент активировал добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | | own_disabled \\ |
| Снята добровольное блокировка | Абонент снял добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | | own_disabled_cancel \\ |
| Изменилась скорость доступа к сети | Изменилась скорость доступа к сети интернет: например, поменяли тариф или включили турбокнопку. | | user_rate_set |
| Услуга активирована | Одна из [услуг подключенных абоненту|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087043#Выбортарифногопланаиуслуг.Добавлениеуслугабоненту-Добавлениеуслуги] была активирована. \\
Если одновременно было активировано несколько услуг, по каждой будет создано отдельно событие. \\
Используется для всех схем [интеграции IPTV|CarbonBilling:Интеграция сервисов интернет-телевидения]. | Зависит от схемы интеграции с телевидением. Для IPTV это управление дополнительными пакетами, в [стандартных схемах|CarbonBilling:Стандартные схемы] интеграции с NAS интернет не используется. | usluga_activated \\ |
| Услуга деактивирована | Одна из [услуг подключенных абоненту|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087043#Выбортарифногопланаиуслуг.Добавлениеуслугабоненту-Добавлениеуслуги] была деактивирована. \\
Если одновременно было деактивировано несколько услуг, по каждой будет создано отдельно событие \\
Используется для всех схем [интеграции IPTV|CarbonBilling:Интеграция сервисов интернет-телевидения]. | Зависит от схемы интеграции с телевидением. Для IPTV это управление дополнительными пакетами, в [стандартных схемах|CarbonBilling:Стандартные схемы] интеграции с NAS интернет не используется. | usluga_deactivated \\ |
h3. Основные команды

|| OSS команда синхронизации || Для чего нужна команда || Что происходит в биллинге \\ || Состояние на оборудовании ||
| user_add | Добавить абонента на NAS | Учетная запись создана и ей назначен NAS или абонент восстановлен из корзины | Обычно используется для IP Static авторизации, если требуется создать на оборудовании какие-то постоянные: VLAN, ACL, static clips и т.п. |
| user_del | Полностью удалить абонента с NAS | Абонент удален в корзину, или изменён *ключевой параметр* учетной записи (например, изменили NAS) \\ {INFO}При изменении любых ключевых параметров учетной записи будет вызвано событие *user_del* 2 раза: Сначала со старыми данными учетной записи а после с измененными.{INFO} | На оборудовании нужно удалить все записи о пользователе, так как он болеене привязан к NAS. \\
Должна использоваться для ВСЕХ видов авторизации. Для RADIUS допустимо из этой функции просто вызывать user_disconnect. \\ |
| user_drop | Максимально ограничить доступ к сети | Все услуги интернет (типы "трафик", "пакет мегабайт", "турбокнопка", "форса") заблокированы администратором (кнопка "Отключить" в карточке абонента) или добровольной блокировкой. \\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Команда создаёт пользователю(subscriber) redirect на страницу блокировки администратором.  |
| user_accept | Разрешить доступ к сети | Абонент авторизовался по RADIUS и с его сессией нужно сделать что-то, что нельзя было отправить в Access-Accept, или ему назначили NAS (для IP Static) и у него есть хотя бы одна услуга трафика, активная и не заблокированная. Последний вариант - он вышел из блокировки, в таком случае это "обратная" команда для user_drop. | На оборудовании должна быть сессия(subscriber) пользователя. \\
Команда снимает redirect на страницу блокировки администратором. \\
Если оборудование без сессий, то добавлено правило в ACL. |
| user_redirect | Перенаправлять абонента на страницу блокировки | Деактивированы услуги трафика по причине блокировки по балансу. \\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Команда добавляет к сессии политику перенаправления на страницу отрицательного баланса. \\
Если оборудование без сессий, то удаляются блокировки по ACL. \\ |
| user_redirect_cancel | Отменить перенаправление на страницу блокировки \\ | Событие вызывается во всех случаях, когда абоненту нужно снять блокировку. Основное назначение - снять блокировку по балансу, то есть команда обратная user_redirect | На оборудовании должна быть сессия(subscriber) пользователя. \\
Команда убирает с сессии политику перенаправления на страницу отрицательного баланса. \\
Если оборудование без сессий, то удаляются блокировка по ACL. |
| user_disconnect | Сброс сессии на оборудовании | Используется в двух случаях:
* для сброса авторизации - кнопка "Отключить" в карточке абонента;
* чтобы убедиться, что сессия сброшена: когда RADIUS-сервер получил от NAS Accounting-Stop (это можно отключить, включив в настройках NAS опцию "Не посылать user_disconnect при получении Radius Stop") | Сессии нет на оборудовании и NAS отправил RADIUS-серверу информации о завершении сессии (Accounting-Stop), биллинг выполняет команду чтобы убедиться что сессия не зависла. \\
Может использоваться для ручного сброса сессии при необходимости, если сессия на оборудовани есть. \\ |

{INFO}
При изменении любых ключевых параметров учетной записи будет вызвано событие *user_del* 2 раза: Сначала со старыми данными учетной записи а после с измененными.
{INFO}
h3. Рекомендумые дополнительные команды

h2. Список ключевых параметров учетной записи
|| OSS команда синхронизации || Для чего нужна команда || Что происходит в биллинге \\ || Состояние на оборудовании ||
| user_info | Узнать состояние абонента на оборудовании | В учётной записи нажали соответствующую кнопку получения информации по сессии с оборудования. \\
Подробней можно узнать из статьи [Команды диагностики пользователей] | Команда служит для получения информации с оборудования: есть сесси, или нет, и возможную статистическую информацию. |
| user_test | Проверить наличие связи у абонента | В учётной записи нажали соответствующую кнопку тестирования абонентской сессии. \\
Подробней можно узнать из статьи [Команды диагностики пользователей] | Команда служит для проверки соеденияния с пользователем средствами, доступными на NAS или коммутаторе: командами ping, tracert или подобными. \\
Если NAS не предоставляет таких инструментов, лучше команду не использовать. |
| users_from_nas | Синхронизация состояний сессий на оборудовании | Служба синхроиназции в автоматическом режиме исправляет возможные проблемы в состоянии сессии - политики доступа и, в перспективе, скорость доступа. \\
Подробней этот механизм описан в статье [CarbonBilling:Синхронизация абонентов на оборудовании] | Сессии абонентов должны существовать. Механизм исправляет возможные ошибки - если не дошла команда по причине временного отсутствия связи или по другой причине |

'ip',
'login',
'mac',
'server' - Опция "У пользователя белый ip"
'snatip',
'deleted' - Флаг, который появляется у учетной записи при удалении в корзину.
'auth_type' - Тип авторизации
'nas_ip',
'router_ip' - IP маршрутизатора
'opt82' -
'switch_port',
'switch_vlan',
'switch_ip',
'nas_id' - ID NAS'a
'psw' - Пароль
'gpon_modem_port' - GPON-порт на приставке
h3. Дополнительные команды, для специфичных действий

h2. Какие "состояния" должны быть у абонента чтобы интернет работал или наоборот не работал?
|| OSS команда синхронизации || Для чего нужна команда || Что происходит в биллинге \\ || Состояние на оборудовании ||
| user_auth \\ | Авторизовать сессию в сети \\ | Пользователь HotSpot авторизован через радиус или веб-авторизацию \\ | Убирается правило редиректа noauth для схем HotSpot \\ |
| own_disabled | Применить правила добровольной блокировки \\ | Абонент активировал добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте это событие, если в Вашей схеме при добровольной бловкировке нужно выполнить какие-то особые действия и user_drop (тоже вызывается при добровольной блокировке) недостаточно. \\ |
| own_disabled_cancel | Снять ограничения добровольной блокировки \\ | Абонент снял добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | На оборудовании должна быть сессия(subscriber) пользователя. \\
Отменяет действие own_disabled, используйте только если user_accept недостаточно. \\ |
| user_rate_set | Обновить параметры шейпера \\ | Изменилась скорость доступа к сети интернет: например, поменяли тариф или включили турбокнопку. \\
Команда так же вызывается при снятии любого вида блокировки. \\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Команда отправит нужную политику по скорости. \\
Если оборудование не использует политики. например Mikrotik с очередям Queue Simple, установленными не по RADIUS, то предварительное наличие сессии необязательно. \\ |
| usluga_activated | Изменить состояние сессии, вызванные активацией услуги \\ | Одна из [услуг подключенных абоненту|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087043#Выбортарифногопланаиуслуг.Добавлениеуслугабоненту-Добавлениеуслуги] была активирована. \\
Если одновременно было активировано несколько услуг, по каждой будет создано отдельно событие. \\
Вызывается при снятии любой блокировки. \\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте если нужно настроить сессию абонента в зависимости от параметров конкретной услуги. \\
Изначально событие содано для схем IPTV, поэтому дополнительные параметры нужно указывать в параметре "Дополнительная срока параметров активации" из настроек услуги (переменная activate_string) \\ |
| usluga_deactivated | Изменить состояние сессии, вызванные деактивацией услуги | Одна из [услуг подключенных абоненту|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087043#Выбортарифногопланаиуслуг.Добавлениеуслугабоненту-Добавлениеуслуги] была деактивирована. \\
Если одновременно было деактивировано несколько услуг, по каждой будет создано отдельно событие \\
Вызывается при назначении любой блокировки. | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте если нужно настроить сессию абонента в зависимости от параметров конкретной услуги. \\
Изначально событие содано для схем IPTV, поэтому дополнительные параметры нужно указывать в параметре Дополнительная срока параметров дективации" из настроек услуги (переменная deactivate_string) |
| b_negbal | Установка финансовой блокировки | Абонент был заблокирован по балансу. | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте эту команду, если при финансовой блокировке требуется выполнить какие-то специфичные действия, недостаточные в общей команде user_redirect |
| u_b_negbal | Снятие финансовой блокировки | Абонент пополнил баланс, или у него был изменен порог отключения, или включена опция "Не отключать при превышении порога".| На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте эту команду, если при снятии финансовой блокировки требуется выполнить какие-то специфичные действия, недостаточные в общей команде user_redirect_cancel |
| b_admin | Установка блокировки администратором | Абонента заблокировлик кнопкой "Заблокировать" в интерфейсе администратора. | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте эту команду, если при блокировке администратором требуется выполнить какие-то специфичные действия, недостаточные в общей команде user_drop |
| u_b_admin | Снятие блокировки администратором | Абоненту сняли блокировку кнопкой "Разблокировать" в интерфейсе администратора. | На оборудовании должна быть сессия(subscriber) пользователя. \\
Опишите действия обратные команде b_admin, если общей команды user_accept в Вашей схеме недостаточно. |
| b_sys | Установка бессрочной добровольной блокировки | Абонент включил в ЛК [бессрочную блокировку|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=167575559#Какзаблокироватьилиразблокироватьабонента-Бессрочнаядобровольнаяблокировка] или по просьте абонента её установил администратор в интерфейсе, поле "Отключить начиная с даты" \\
\\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте эту команду, если при такой блокировке требуется выполнить какие-то специфичные действия, недостаточные в общей команде user_drop |
| u_b_sys | Снятие бессрочной добровольной блокировки | Абонент отколчючил бессрочную блокировку в ЛК или администратор установил текущую дату в поле "Отключен до даты (отпуск)" карточки абонента. \\ | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте чтобы отменить действия user_drop, в случае если в Вашей схеме недостаточно отпрпавить только user_accept |
| rad_acc_stop | Завершилась RADIUS-сессия \\ | RADIUS-сервер в составе биллинга получил от маршрутизатора RADIUS-пакет Accounting-Stop \\ | На оборудовании завершилась сессия(subscriber) пользователя. \\
Используйте в случае если на BRASмогут быть зависания сессий абонентов и нужно убедиться что они сброшены, или после завершения сессии необходимо произвести какие-то дополнительные действия. \\ |

*Полноценный Интернет будет у пользователя при наборе состояний:* "Создан","Не заблокирован администратором","Баланс не исчерпан", "Авторизован".

*Редирект на соответствующие страницы будет при наборе состояний:* "Создан","Заблокирован администратором" или "Баланс исчерпан".
h2. Список ключевых параметров учетной записи и оборудования выбранного в учётной записи

*Физическое отключение, не будет работать Ping, PPPoE, VPN, DHCP, при наборе состояний:* "Удален"
{info}Если поменять настройки оборудования, например IP коммутатора или его VLAN, или IP NAS-сервера - это повлияет на все учетные записи, в которых оно выбрано{info}

* ip - IPv4
* ipv6 - IPv6
* login - логин
* mac - MAC-адрес
* server - опция "У пользователя белый IP-адрес"
* snatip - SNAT IP
* deleted - служебное поле, по-умолчанию = 0, при удалении абонента в корзину = 1
* auth_type - Тип авторизации
* nas_ip - IP NAS-сервера
* opt82 - опция "по OPT82"
* switch_port - выбранный порт коммутатора
* user_vlan - VLAN
* switch_ip - IP коммутатора
* nas_id - ID NAS-сервера
* psw - Пароль
* gpon_modem_port - GPON-порт на приставке

h2. Какие команды будут отправлены в разных случаях


Необходимо обязательно описать команду *user_del*,если самостоятельно внедряете пользовательскую схему, или, если используете подключения по *RADIUS* \- убедитесь, что оборудование отправляет биллингу *Accounting-Stop* пакеты. Удаление сессии с оборудования важно для правильной работы подсистем биллинга - это необходимо для того чтобы биллинг мог освободить занятый абонентом IP-адрес, а так же закрыть период, если абонент был удалён.

h3. Авторизация по RADIUS

Отправляется полный набор команд, отражающих состояние абонента + одна команда rad_acc_start

Если Вы не хотите выполнять какие-либо команды при авторизации, добавьте в session условие в каждую функцию, например:

{code}
user_rate_set(){
if [[ "$owner_script" != 'events.py' ]] && [[ "$owner_function" != 'check_services' ]]; then
...
...команды отправляемые на оборудование
...
fi
}
{code}


h4. rad_acc_start

Если точно, то это команда говорящая о том что с оборудование получе RADIUS-пакет Accounting-Start. Команду можно использовать если нужно выполнить какие-то действия только при авторизации.


h4. user_accept

Состояние абонента разрешающее доступ к сети.


h4. user_rate_set

Отправка скорости. Это используется во всех стандартных схемах Mikrotik.


h4. user_redirect_cancel или user_redirect

В зависимости от состояния абонента, может отправиться либо user_redirect_cancel, если у него нет ни каких блокировок (администратором, по-балансу или добровольной) или user_redirect - если блокировки есть.


h4. usluga_activated по каждой активной услуге интернет

Это используется в стандартной схеме Cisco-ISG-Noshape для отправки политики по каждой услууге трафика: ограничение шейпера на ресурсы интернет и отсутствие органичения на локальные ресурсы.