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

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

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

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


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

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) пользователя. \\
Команда убирает с сессии политику перенаправления на страницу отрицательного баланса. \\
Если оборудование без сессий, то удаляются блокировка по ACL. |
| user_auth \\ | Авторизовать сессию в сети \\ | Пользователь авторизован, через радиус или веб-авторизацию \\ | Убирается правило редиректа noauth для схем HotSpot \\ |
| user_disconnect | Сброс сессии на оборудовании | Используется в двух случаях:
* для сброса авторизации - кнопка "Отключить" в карточке абонента;
Может использоваться для ручного сброса сессии при необходимости, если сессия на оборудовани есть. \\ |

h3. Рекомендумее Рекомендумые дополнительные команды

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

h3. Дополнительные команды, для специфичных действий

|| OSS команда синхронизации || Для чего нужна команда || Что происходит в биллинге \\ || Состояние на оборудовании ||
| user_auth \\ | Авторизовать сессию в сети \\ | Пользователь HotSpot авторизован через радиус или веб-авторизацию \\ | Убирается правило редиректа noauth для схем HotSpot \\ |
| own_disabled | Применить правила добровольной блокировки \\ | Абонент активировал добровольную блокировку, вызывается при любом стостоянии авторизации и прочих блокировках | На оборудовании должна быть сессия(subscriber) пользователя. \\
Используйте это событие, если в Вашей схеме при добровольной бловкировке нужно выполнить какие-то особые действия и user_drop (тоже вызывается при добровольной блокировке) недостаточно. \\ |
| 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#Какзаблокироватьилиразблокироватьабонента-Бессрочнаядобровольнаяблокировка] или по просьте абонента её установил администратор в интерфейсе, поле "Заблокировать с даты (отпуск)" \\ Используйте эту команду, если при такой блокировке требуется выполнить какие-то специфичные действия, недостаточные в общей команде user_drop |
Опишите действия обратные команде 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могут быть зависания сессий абонентов и нужно убедиться что они сброшены, или после завершения сессии необходимо произвести какие-то дополнительные действия. \\ |


* gpon_modem_port - GPON-порт на приставке

h2. Какие "состояния" должны быть у абонента чтобы интернет работал или наоборот не работал?

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

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

*Физическое отключение, не будет работать Ping, PPPoE, VPN, DHCP, при наборе состояний:* "Удален"

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 для отправки политики по каждой услууге трафика: ограничение шейпера на ресурсы интернет и отсутствие органичения на локальные ресурсы.