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