BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 04:24

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 21 авг 2015, 18:10 
Не в сети

Зарегистрирован: 15 фев 2011, 14:35
Сообщения: 172
Откуда: STAVROPOL
Карма: 5
Раньше работало dClips
и что самое интересное работало
Сейчас пробую настроить nondhcp
и как говориться держаться нету больше сил

то работает то не работает то какие-то ошибки то их нет то меняю скорость то нет
Код:
connection 08-21/15:00:07 ERROR [sa-p-13-t-1] AcknowledgeConsumer - Error on device:122 - java.lang.NullPointerException
ru.bitel.bgbilling.common.BGException: Error on device:122 - java.lang.NullPointerException
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:495)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:211)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:201)
        at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:83)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:176)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:109)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:245)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:151)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: java.lang.NullPointerException
        at java.nio.CharBuffer.wrap(CharBuffer.java:487)
        at java.nio.charset.Charset.encode(Charset.java:863)
        at ru.bitel.bgbilling.kernel.network.radius.info.StringInfo.wrapValue(StringInfo.java:56)
        at ru.bitel.bgbilling.kernel.network.radius.info.StringInfo.wrapValue(StringInfo.java:11)
        at ru.bitel.bgbilling.kernel.network.tlv.Tlv.<init>(Tlv.java:36)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute.<init>(RadiusAttribute.java:39)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusAttribute.<init>(RadiusAttribute.java:51)
        at ru.bitel.bgbilling.modules.inet.dyn.device.radius.AbstractRadiusServiceActivator.prepareRequest(AbstractRadiusServiceActivator.java:333)
        at ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeServiceActivator.connectionModify(SmartEdgeServiceActivator.java:347)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connectionModify(ServiceActivatorSet.java:278)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:528)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:491)


А теперь внимание вопрос:

-Дорогие знатоки, КАК его настроить, уже
какие команды слать таки и т.д.

Код:
#порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
radius.port=3799
#идентификатор - Nas-Identifier (по умолчанию - значение из поля Идентификатор параметров устройства)
#radius.identifier=<идентификатор устройства>
#используемый secret для общения по radius-протоколу (по умолчанию - значение из поля Community/secret параметров устройства)
#radius.secret=<community/sercret устройства>

radius.password.verification=0

radius.servSearchMode=7

# При выдаче Access-Accept добавлять запись в базу.
# Создавать соединение сразу после отправки Access-Accept
# Hеобходимо, если используется Reject-To-Accept и по Start-пакету нельзя определить в каком состоянии соединение
connection.start.fromAccept=1

# Бывают ситуации, когда Start-пакет не дошел до Accounting-сервера. В этом случае, при
# 1 (значение по умолчанию) - сессия создастся от текущего момента,
# 2 - Accounting проверит, что время сессии из Update/Stop пакета не больше, чем значение connection.close.timeout и создаст сессию от ее начала, иначе,
# если время сессии больше чем connection.close.timeout, сессия создастся от текущего момента,
# 0 - сессия без Start-пакета создана не будет.
connection.start.fromUpdate=1

# При создании сессии по Update-пакету нужно ли игнорировать отсутствие IP-адреса сессии (Framed-Ip-Address). По умолчанию сессия
# по Update-пакету без адреса не создается (0).
#connection.start.fromUpdate.ignoreFramedIpLack=1

# При закрытии соединения по таймауту, 0 (по умолчанию) - просто закрыть,
# 1 - попытаться сбросить также на NAS'е (вызвать connectionClose у обработчика активации сервисов)
connection.close.timeout.forceClose=1

# Коды ошибок, при которых отвечать Access-Accept в состоянии disable (rejectToAccept)
radius.disable.accessCodes=1,12,10,11

# Id фиктивного сервиса, к которому будут привязываться сессии, по которым нормальный сервис не был найден (код ошибки: 1, логин не найден).
# Необходим, если в radius.disable.accessCodes присутствует код 1
#radius.disable.servId=3


# Проверка на повторную аутентификацию при Access-Request. Бывает нужна в случаях, когда NAS сбрасывает (теряет) сессию, но
# Stop-пакет не присылает и клиент пытается подключиться повторно, но у него стоит ограничение на максимум одну сессию. При совпадении
# callingStationId с одной из активных сессий и установленным параметром: 1 - осуществляется попытка закрытия старой сессии (connectionClose),
# 2 - попытка закрытия сессии (connectionClose) и завершение ее в базе, не дожидаясь стоп пакета, 3 - завершение в базе.
radius.connection.checkDuplicate=2

# Нужно ли убирать домен перед поиском сервиса по логину из поля User-Name. По умолчанию - да (1).
# Следует отключить, если при посылке CoA и PoD пакетов NAS'у необходим атрибут User-Name.
#radius.username.removeDomain=0
# Нужно ли убирать пробелы из поля User-Name перед поиском логина. По умолчанию - нет (0).
# Следует отключить, если при посылке CoA и PoD пакетов NAS'у необходим атрибут User-Name.
#radius.username.removeWhitespace=0
# Должен ли поиск по логину идти без учета регистра. По умолчанию - нет (0).
#radius.username.ignoreCase=1

# Шаблон вывода ошибки в мониторе с использованием атрибутов из RADIUS-пакета
#radius.accessError.infoPattern=LOGIN:$User-Name

# Атрибуты, которые передаются для всех сессий.
# IP-Interface-Name соответствует интерфейсу в конфиге RedBack, к которому "биндится" абонентская сессия (обязательный параметр).
# DHCP-Max-Leases - обязательный параметр, необходим для получения адреса по DHCP. DHCP-Max-Leases=1;
#Context-Name=CTX1
const.access.attributes=IP-Interface-Name=CLIENTS;Acct-Interim-Interval=900

# Наборы атрибутов для разных опций. В данном случае указываются разные скорости доступа
option.13.attributes=Service-Name:0=RSE-SVC-EXT;Service-Options:0=1;Service-Parameter:0=Rate=10240 Burst=1280000
# Наборы атрибутов для разных опций. В данном случае указываются разные скорости доступа
option.14.attributes=Service-Name:0=RSE-SVC-EXT;Service-Options:0=1;Service-Parameter:0=Rate=20480 Burst=2560000

#атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
radius.realm.default.attributes=
radius.inetOption.13.attributes={@const.access.attributes};{@option.13.attributes}
radius.inetOption.14.attributes={@const.access.attributes};{@option.14.attributes}

const.disable.attributes=IP-Interface-Name=CLIENTS;Acct-Interim-Interval=900;Service-Name:0=RSE-REJECT

# атрибуты, выдаваемые в Accept когда доступ нужно ограничить
radius.disable.attributes={@const.disable.attributes}

# Нужно ли посылать CoA при переводе из disable в enable
sa.radius.connection.coa.onEnable=1

# Не выдаем DHCP NaK, не инициируем разрыв из connectionModify.
sa.radius.connection.withoutBreak=1

# при значении 1 InetAccess при вызове для изменения состояния метода connectionModify из ServiceActivator
# поменяет состояние в БД (вызовет e.setConnectionStateModified( true ))
sa.radius.connection.stateModify=1

# Лог CoA запросов
#sa.radius.log=1
# Параметры обработчика активации сервисов
# добавлять ли при отправке CoA-атрибуты реалма (для default - из radius.realm.default.attributes)
#sa.radius.realm.addAttributes=0
# атрибуты CoA-запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
#sa.radius.disable.attributes=IP-Interface-Name=NOAUTH
# фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
#sa.radius.coa.attributes=TEST1=XXX;TEST2=YYY;
# фиксированные атрибуты, добавляемые в запрос перед отправкой PoD
#sa.radius.pod.attributes=TEST1=XXX;TEST2=YYY;
#атрибуты, посылаемые при закрытии сервисов
#sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT

#----------------------------------------
#параметры обработчика активации сервисов
#----------------------------------------
#откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
sa.radius.option.attributesPrefix=option.
#User-Name, Framed-IP-Address, Acct-Session-Id
#0101FFFFD800266D-55D61088-RSE-SVC-EXT-5730DB7D
sa.radius.connection.attributes=User-Name
#атрибуты CoA запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
#sa.radius.disable.attributes={@redirect.attributes}
radius.serviceName.disable=RSE-REJECT
#фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
sa.radius.coa.attributes=Contex-Name=CTX1
#добавлять ли при отправке CoA атрибуты реалма (для default - из radius.realm.default.attributes)
#sa.radius.realm.addAttributes=1
#атрибуты, посылаемые при закрытии сервисов
# эти атрибуты отправляются в CoA когда происходит смена опций или включение доступа,
# т.е. сначала все деактивируется, с помощью sa.radius.service.closeAttributes, затем активируется с помощью опций
#Deactivate-Service-Name:1=RSE-REJECT
sa.radius.service.closeAttributes=Deactivate-Service-Name:0=RSE-SVC-EXT
#sa.radius.disable.attributes=Deactivate-Service-Name:1=RSE-SVC-EXT
#фиксированные атрибуты, добавляемые в запрос перед отправкой PoD
#sa.radius.pod.attributes=Context-Name=CTX1


перепробовали уже кучу вариантов

пошла вторая неделя
при смене тарифа
кстати опция (скорость) меняется когда ей вздумается иногда надо сервак перегрузить

версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 21 авг 2015, 18:53 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Напомните, чем отличается nondhcp?
В Radius-Accounting приходит атрибут User-Name?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 21 авг 2015, 18:55 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Когда возникает ошибка при синхронизации - он делает паузу и пытается снова несколько раз.
Только потом переходит к следующему заданию - возможно поэтому такое поведение "то меняется, то нет", т.к. иногда возникают какие-то ошибки, как приведенная выше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 21 авг 2015, 19:39 
Не в сети

Зарегистрирован: 15 фев 2011, 14:35
Сообщения: 172
Откуда: STAVROPOL
Карма: 5
Amir писал(а):
Напомните, чем отличается nondhcp?
В Radius-Accounting приходит атрибут User-Name?


В атрибуте User-Name передается ипадрес


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 21 авг 2015, 19:51 
Не в сети

Зарегистрирован: 15 фев 2011, 14:35
Сообщения: 172
Откуда: STAVROPOL
Карма: 5
Amir писал(а):
Напомните, чем отличается nondhcp?
В Radius-Accounting приходит атрибут User-Name?


Отличие в том, что триггером сессии является первый транзитный IP пакет от неизвестног оадреса. В Атрибуте User-Name передается IP address. DHCP или статика здесь не важно.

Поэтому план такой:
1. dhcp (BGAccess) дает адрес из некоторого пула (белые и серые для нат) абоненту всегда один и тот же без деления есть доступ или нет.
2. А вот уже радиус должен регулировать есть доступ или нет (меняя сервис на сервис с редиректом) и менять скорость.
И все ...

Вроде так просто.

К вопросу о скорости меняем тариф и ждем, что смениться скорость

Вложение:
Комментарий к файлу: В тарифе скорость поменяли
Tariff.png
Tariff.png [ 28.38 КБ | Просмотров: 3436 ]


но к удивлению замечаем, что нет не меняется ... ингода это происходит потом иногда только после перезапуска сервера

Вложение:
Комментарий к файлу: А вот в сервисе она меняется иногда, а иногда нет (в основном нет) и соответственно CoA идут но со старыми настройками
Service.png
Service.png [ 45.59 КБ | Просмотров: 3436 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 25 авг 2015, 16:31 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Я бы попросил доступ, но пока загружены сильно, не уверен когда и во сколько появится время посмотреть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 31 авг 2015, 13:34 
Не в сети

Зарегистрирован: 15 фев 2011, 14:35
Сообщения: 172
Откуда: STAVROPOL
Карма: 5
Вообщем суммируя можно вкратце описать ситуацию так:
Дано:
Два сервиса
1. RSE-SVC-EXT -доступ открыт
2. RSE-REJECT -доступ закрыт
3. ИП адреса всегда одни и те же. DHCP выдает отдельно от радиуса привязывать не нужно пусть висят в мониторе двумя сессиями. (И тут кстати проблема иногда в CoA вижу Acct-Session-Id не той сессии где SE, а другой где dhcp).
Ручками работает такая схема
1.Выключить сервис RSE-SVC-EXT
Команда 1:(Деактивируем сервис RSE-SVC-EXT) Acct-Session-Id =...., Deactivate-Service-Name=RSE-SVC-EXT
Команда 2:(Активируем сервис RSE-REJECT) Acct-Session-Id =...., Service-Name=RSE-REJECT,Sevice-Action=1
2. Включить сервис RSE-SVC-EXT
Команда 1:(Деактивируем сервис RSE-REJECT) Acct-Session-Id =...., Deactivate-Service-Name=RSE-REJECT
Команда 2:(Активируем сервис RSE-SVC-EXT) Acct-Session-Id =...., Service-Name=RSE-SVC-EXT,Sevice-Action=1, +Параметры
Причем работает как часы

Если использую SmartEdgeServiceActivator, точно предсказать результат работы оказывается очень сложнo,
иногда сработает иногда нет, иногда висят два сервиса и RSE-SVC-EXT, RSE-REJECT


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пытаюсь настроить SE100 + dhcp
СообщениеДобавлено: 03 сен 2015, 19:23 
Не в сети

Зарегистрирован: 15 фев 2011, 14:35
Сообщения: 172
Откуда: STAVROPOL
Карма: 5
Коллеги !!! Есть у кого-нибудь предположения ... или надо свой клаcc писать вместо SmartEdgeServiceActivator


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.041s | 34 Queries | GZIP : On ]