BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 07 июл 2025, 19:50

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




Начать новую тему Ответить на тему  [ Сообщений: 28 ] 
Автор Сообщение
СообщениеДобавлено: 03 июн 2014, 13:47 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
У нас реализована схема подключения абонентов с использованием Opt82.
Для идентификации используется Идентификатор устройства и порт на устройстве.
Если заранее создать устройство и интерфейсы на устройстве и соответственно завести договор с сервисом то авторизация проходит.
В настоящий момент, для автоматизации этого процесса мы пишем специальный скрипт, который по приходу пакета авторизации автоматически
создает Устройство (если оно отсутствует), порт (если отсутствует), договор и сервис на договоре.
Скрипт отрабатывает верно, то есть Устройство+Порт+Договор+Сервис в BGBilling создаются верно, но не удается авторизоваться на этом договоре.
Сервис упорно находится в состоянии "удалено".
Однако! Если перегрузить биллинг, то на этом же договоре авторизация проходит.
Ну куда копать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 13:55 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
А скрипт как создает все это ? через наши Web-сервисы или напрямую в БД пишет ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:04 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
В функции protected void setAgentOptions( RadiusPacket request ) анализируется MAC адрес устройства
Если МАС устройства совпадает с заданным (это специальная коробка, выдаваемая инженеру, который ее будет втыкать в кабель у клиента)
то производится комплекс операций по автосозданию устройства порта договора и сервиса
(Отправил скрипт в личку)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:45 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Нужно посмотреть в логи access-а какие события туда приходят и в каком порядке . Возможно, например, что событие создание сервиса приходит, например, раньше события создания устройства.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:48 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Я сейчас обнаружил, что на строке
servService.inetServUpdate( serv, new ArrayList<InetServOption>(), false, false, 0 );
возникает NullPointerExeption


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:51 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Угрюмов Роман писал(а):
Я сейчас обнаружил, что на строке
servService.inetServUpdate( serv, new ArrayList<InetServOption>(), false, false, 0 );
возникает NullPointerExeption

покажите его.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:56 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Она сейчас стала 451 строкой
Код:
at ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.inetServUpdate(InetServServiceImpl.java:462)
        at custom.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsProtocolHandler.CreateTemporaryContract(SmartEdgeClipsProtocolHandler.java:451)
        at custom.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsProtocolHandler.setAgentOptions(SmartEdgeClipsProtocolHandler.java:94)
        at ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsProtocolHandler.preprocessAccessRequest(SmartEdgeClipsProtocolHandler.java:219)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.preprocessAccessRequest(InetRadiusProcessor.java:352)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.preprocessAccessRequest(InetRadiusProcessor.java:1)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:382)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:59)
        at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:228)
        at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:147)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:58 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
а версия какая у вас ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 14:59 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Информация о версии:

Клиент: вер. 6.0 сборка 1314 от 14.04.2014 19:58:50
os: Windows Vista; java: Java HotSpot(TM) Client VM, v.1.6.0_07
ВНИМАНИЕ: Необходимо обновить таймзоны
Сервер: вер. 6.0 сборка 1725 от 14.04.2014 19:59:03
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_21
ВНИМАНИЕ: Спецификация версии 1.7 не рекомендуется

bill вер. 6.0 сборка 343 от 12.03.2014 19:11:40
card вер. 6.0 сборка 226 от 05.02.2014 15:53:15
inet вер. 6.0 сборка 1370 от 14.04.2014 16:39:50
npay вер. 6.0 сборка 224 от 10.04.2014 19:28:32
ru.bitel.bgbilling.plugins.cladr вер. 6.0 сборка 121 от 05.02.2014 15:55:14


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 15:14 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Проблема ваша в том, что вы договор создаете в другом соединении к базе. А текущая транзакция, в которой создается сервис эти данные не считывает, не находит договора. Лучше используйте то же самое соединение к базе. Ну и в случае ошибки можно вызывать rollback и откатывать изменения (но это уже по желанию).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 15:27 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Возьмите соединение так
Код:
context.getConnectionSet().getConnection()


Но только его нельзя закрывать .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 16:13 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Эту часть победили, сервис стал нормально создаваться, но он все равно в находится в состоянии "удален"
Код:
Packet type: Access-Request
Identifier: 191
Authenticator: {C9 4F AF BF EC 5F 41 5F 85 EE 13 55 C2 02 9F 61}
Attributes:
  User-Name=d4:ca:6d:7b:c9:8a
  NAS-Port-Id=3/3 vlan-id 100 clips 264128
  NAS-Identifier=RedBack
  User-Password=Redback
  NAS-IP-Address=172.16.98.7
  NAS-Port=50528256
  Service-Type=5
  Calling-Station-Id=Vlan100+Ethernet1/5#\0x00\0x1f\0xffx\0xff\0xff
  NAS-Port-Type=5
  Platform-Type=6
  Medium-Type=11
  Agent-Remote-Id={00 1F CE 78 F5 B6}
  UNKNOWN[2352-202]={3D 3D 07 01 D4 CA 6D 7B C9 8A}
  UNKNOWN[2352-202]={0C 0C 07 46 6F 78 32 30 31 31}
  Agent-Circuit-Id={56 6C 61 6E 31 30 30 2B 45 74 68 65 72 6E 65 74 31 2F 35}
  OS-Version=11.1.2.7p2
  Mac-Addr=d4-ca-6d-7b-c9-8a
  NAS-Real-Port=855638116
  UNKNOWN[3561--1]={02 08 00 1F CE 78 F5 B6}
  UNKNOWN[3561--1]={01 15 56 6C 61 6E 31 30 30 2B 45 74 68 65 72 6E 65 74 31 2F 35}

06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - Start setAgentOptions
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - Parse as Qtech SWITCH bytes (setAgentOptions)
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - deviceIdString   001FCE78F5B6
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - devicePort   5
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - deviceMAC d4-ca-6d-7b-c9-8a
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - AutoCreate routine started!
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - CreateTemporaryContract started!
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - GetDeviceId: -1
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - CreateDevice started!
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - IsPortExists: 0
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - CreatePort started!
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] CommonKernelEventProcessor - Process event cid:0; event:Event[ru.bitel.bgbilling.kernel.event.events.system.ContractCreateEvent] moduleId: 0; pluginId: no; cid: 0; scid: -1; userId: 0; timestamp: 1401790114620
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] CommonKernelEventProcessor - Process event cid:90225; event:Event[ru.bitel.bgbilling.kernel.event.events.system.ContractCreateEvent] moduleId: 0; pluginId: no; cid: 90225; scid: -1; userId: 0; timestamp: 1401790114714
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - inetServUpdate! deviceId:61 cid: 90225
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - inetServUpdate Ok!
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - Set Group - Tehnological!
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - SetContractTimeStamp!90225 :  03.05.2014  14:08:34
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] SmartEdgeClipsProtocolHandler - AutoCreate routine finished! 90225
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 191
Authenticator: {C9 4F AF BF EC 5F 41 5F 85 EE 13 55 C2 02 9F 61}
Attributes:
  User-Name=001fce78f5b6:566c616e3130302b45746865726e6574312f35
  NAS-Port-Id=3/3 vlan-id 100 clips 264128
  NAS-Identifier=RedBack
  User-Password=Redback
  NAS-IP-Address=172.16.98.7
  NAS-Port=50528256
  Service-Type=5
  Calling-Station-Id=d4ca6d7bc98a
  NAS-Port-Type=5
  Platform-Type=6
  Medium-Type=11
  Agent-Remote-Id={00 1F CE 78 F5 B6}
  UNKNOWN[2352-202]={3D 3D 07 01 D4 CA 6D 7B C9 8A}
  UNKNOWN[2352-202]={0C 0C 07 46 6F 78 32 30 31 31}
  Agent-Circuit-Id={56 6C 61 6E 31 30 30 2B 45 74 68 65 72 6E 65 74 31 2F 35}
  OS-Version=11.1.2.7p2
  Mac-Addr=d4-ca-6d-7b-c9-8a
  NAS-Real-Port=855638116
  UNKNOWN[3561--1]={02 08 00 1F CE 78 F5 B6}
  UNKNOWN[3561--1]={01 15 56 6C 61 6E 31 30 30 2B 45 74 68 65 72 6E 65 74 31 2F 35}
Common options: {agentRemoteId=001FCE78F5B6, interfaceId=5, deviceState=1}
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] InetNas - AgentDevice not found.
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] InetNas - Search serv on deviceId=2; interfaceId=5
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - [username=001fce78f5b6:566c616e3130302b45746865726e6574312f35] InetServ not found.
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - [username=001fce78f5b6:566c616e3130302b45746865726e6574312f35] Authenticated as inetServId:3
06-03/14:08:34  INFO [rdsLstnr-p-9-t-1] InetNas - AgentDevice not found.
06-03/14:08:36  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - Write new waiting connection to DB
06-03/14:08:36  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - New connection id=40991
06-03/14:08:36  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - Return code=0
06-03/14:08:36  INFO [rdsLstnr-p-9-t-1] InetConnectionKeyMap - interfaceId not set
06-03/14:08:36  INFO [rdsLstnr-p-9-t-1] InetDhcpHelperProcessor - Put auth accept 2:0:5:D4CA6D7BC98A
06-03/14:08:36  INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Accept
Identifier: 191
Authenticator: {}
Attributes:
  Reply-Message=1
  Framed-IP-Address=192.168.172.2
  DHCP-Max-Leases=1
  Service-Name:1=RSE-SVC-EXT
  Service-Options:1=1
  Service-Parameter:1=Rate=1000 Burst=250000
  IP-Interface-Name=NOAUTH

Process time auth: 2045


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 16:35 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Но! Если перегрузить bgbilling и bginet_access то он переходит в состояние "включен"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 16:45 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Угрюмов Роман писал(а):
06-03/14:08:34 INFO [rdsLstnr-p-9-t-1] InetNas - AgentDevice not found.
06-03/14:08:34 INFO [rdsLstnr-p-9-t-1] InetNas - Search serv on deviceId=2; interfaceId=5
06-03/14:08:34 INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - [username=001fce78f5b6:566c616e3130302b45746865726e6574312f35] InetServ not found.


У вас не находит устройство и сервис . Попробуйте вызвать в конце

Код:
context.getConnectionSet().commit();


Вообще обработчик протокола не задумывался для таких действий. Могут вылезти еще всякие проблемы типа deadlock-ов и т.п.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 16:48 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
stark писал(а):
Вообще обработчик протокола не задумывался для таких действий. Могут вылезти еще всякие проблемы типа deadlock-ов и т.п.

А у меня два имбицила монтажника которые при обжимке пары путают не говоря уже о номерах портов на свичах. Это жизненная необходимость и поверьте мне не только моя.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 16:52 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Так работать не будет. Вы же устройство добавляете . Даже если его создавать вручную, access его не подцепит , пока вы не нажмете конопку "Перечитать конфигурацию на серверах".
Это нужно вызвать
Код:
InetDeviceService.deviceReload();

после добавления устройства.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:00 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
В общем скорее всего без помощи с нашей стороны это все равно работать не будет. Там все происходит асинхронно. Напишите лучше в helpdesk.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:05 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
И еще можно экспериментировать. Вызывать Thread.sleep после каждой операции типа создание устройства и т.п.

И еще желательно знать если просто зайти в сервис и пересохранить, то он меняет состояние?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:08 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
stark писал(а):
И еще желательно знать если просто зайти в сервис и пересохранить, то он меняет состояние?

Нет, сервис упорно в состоянии "удален"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:17 
Не в сети
Разработчик
Аватара пользователя

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

Например, настраивается radius.disable.accessCodes=1, radius.disable.servId=<servId> для того, чтобы если сервис не найден, абонент все равно мог подключиться, например, с серым IP с ограниченным доступом только к ЛК.
Далее заходим в ЛК договора, там доступно "Дополнительное действие" - "Подключиться", которое по IP-адресу, с которого зашли в ЛК находит активную сессию, в которой есть информация об устройстве (agentDeviceId), порте/VLAN (circuitId). На основе этой информации дополнительное действие создает сервис (и сбрасывает сессию).

Вариант если договора нет: монтажник заходит сначала не в ЛК, а в создание договора по карточке модуля Card и по логину паролю карточки (которые, например, просто могут быть перечислены на бумажке) сначала создает договор.

Немного не то, но похоже:
http://wiki.bitel.ru/index.php/DHCP82_% ... 1%81%D1%83


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:22 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Хочется сделать без всякой ручной работы. Вставили коробочку с известным MAC в порт у клиента и все что нужно создано. Монтажники настолько тупые, что им ничего доверить нельзя


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:28 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
И не страшно что по первому пакету нет авторизации! Это не важно, главное что все создается, и какими-то манипуляциями два раза мне удалось перевести сервис в состояние "включен". Типа перезагрузкой, нажатием на кнопки перечитать на серверах, включить, синхронизировать. Пару раз мне это удавалось и тогда авторизайия идет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:33 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте найти в каком случае срабатывает. Например, попробуйте после срабатывания скрипта нажать Перечитать конфигурацию и посмотреть, не переключится ли состояние в течении минуты. Если не переключится - попробуйте пересохранить сервис.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:51 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Amir писал(а):
Попробуйте найти в каком случае срабатывает.

1) Если нет устройства и скриптом создано устройство, порт, договор, сервис
./bgbilling restart
./bginet_access restart
И больше не нажимал вообще никаких кнопок, сервис стал "включен" авторизация прошла
2) Если после этого на другом порту попробовать авторизовываться то создается порт договор сервис и авторизация проходит со второй попытки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 17:57 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте при создании устройства сразу после добавления в БД вызвать commit и только после этого послать InetReloadEvent.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июн 2014, 18:59 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Нет, помогает только перезагрузка


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июн 2014, 10:39 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Ну попробуйте тогда только создание устройства сделать через скрипт, а остальное все вручную. В этом варианте будет работать ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июн 2014, 12:48 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Общем проблему решили таким костылем.
1) Руками создали специальное устройство с идентификатором AUTOCREATE , для него договор и сервис в состоянии ОТКЛЮЧЕН
2) При приходе пакета авторизации если нет такого устройства то создаю новое устройство и авторизую его с AUTOCREATE.
Поскольку сервис на договоре находится в статусе ОТКЛЮЧЕН, то radius выдает Reject
3) Приходит второй пакет авторизации. Поскольку для него устройство уже создано, то создается порт+договор+ сервис и перебрасывается авторизация опять на AUTOCREATE.
Соответственно radius выдает Reject
4) Приходит третий пакет на авторизацию. Поскольку Устройство+порт+договор+ сервис созданы то авторизация проходит успешно.
Технически схема работает, но не красивая, хотелось бы сразу же в первом пакете все создать и получить Accept


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

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