BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 15:04 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
1) В монитор нажатием правой клавиши мыши вызываю "Закрыть соединение"
в mq.log ожидаю увидеть сообщение типа: InetConnectionManager - RemoveConnection: InetConnection [id=....
Такого сообщения нет, сессия не рвется, WiFi - роутер продолжает работать и отдавать клиентам интернет
Смотрю в логи radius.log. Ожидал увидеть пакет на новую авторизацию - пакетов нет.
2) Вызываю собственноручно написанный скрипт вида:
Код:
    public String CloseConnection(int connectionId)
     {
         try
         {
             InetSessionService wsSession = null;
             ServerContext context = ServerContext.get();
             wsSession = context.getService( InetSessionService.class, INET_MODULE_ID );
             wsSession.connectionClose( connectionId );
          }
          catch (Exception ex)
          {
              String errorStr = ex.toString();
              return errorStr;
          }
         return "CloseConnection - Ok!";
     }

с connectionId взятым из монитора. Сессия не рвется, роутер не посылает пакет на реавторизацию.

Ну и как бы в догонку, а что случилось с update.sh? У меня не обновляется
find: './snapshots': Нет такого файла или каталога
Actual snapshot not found!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 15:19 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Если из клиента сессия не завершается, то из своего скрипта тоже не завершится, т.к. по сути это один и тот же вызов. Что за тип подключения и какой ServiceActivator используется ?

Про обновление - сначала нужно сделать снапшот, а потом обновляться.
Цитата:
964 26.09.2014 15:03:35 ДОБАВЛЕНО Скрипт update.sh запрет запуска если нет снапшота не старее суток.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 16:28 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
О как! Запускаю под рутом:
root@billing:/usr/local/BGBillingServer# ./snapshot.sh create
mysqldump: Got error: 1044: Access denied for user 'bill'@'localhost' to database 'installed_modules' when selecting the database


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 16:47 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
По поводу сброса сессии - смотрите в all.log Access, что пишет после того как сбрасываете. Должен поймать событие с этим connectionId, написать Do task и т.д.
Также зависит от того, какая у вас схема.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:04 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Вот нашел! Схема подключения - Opt82
Код:
connection 10-06/15:01:50  INFO [sa-p-14-t-40] ServiceActivatorSet - Connecting to device
connection 10-06/15:01:50  INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 91303; scid: -1; userId: 1; deviceId: 2; inetServId: 290; connectionId: 51980; state: 0; accessCode: 3; timestamp: 1412593310569
connection 10-06/15:01:50  INFO [sa-p-14-t-40] InetApplication - TariffOptionMap: {}
connection 10-06/15:01:50  INFO [sa-p-14-t-40] InetApplication - OptionSet: [12]
connection 10-06/15:01:50  INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12
connection 10-06/15:01:50  INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12
connection 10-06/15:01:50  INFO [sa-p-14-t-40] ServiceActivatorSet - Invoking connectionClose
connection 10-06/15:01:50  INFO [sa-p-14-t-40] SmartEdgeServiceActivator - Connection close
connection 10-06/15:01:50  INFO [sa-p-14-t-40] InetConnectionKeyMap - Remove connection remove 185.23.81.67
connection 10-06/15:01:50  INFO [sa-p-14-t-40] InetDhcpHelperProcessor - Remove connection remove 2:87:3:001FCE5D99A5
connection 10-06/15:01:50  INFO [sa-p-14-t-40] SmartEdgeServiceActivator - Connection disable
connection 10-06/15:01:50  INFO [sa-p-14-t-40] SmartEdgeServiceActivator - Send CoA lock:
Packet type: CoA-Request
Identifier: 63
Authenticator: {8E F0 B9 D0 64 A5 49 CA D8 1F 78 1D 55 75 41 55}
Attributes:
  Acct-Session-Id=0202FFFF78004FD1-5432507C
  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

connection 10-06/15:01:50  INFO [sa-p-14-t-40] RadiusClient - Sending to /172.16.98.7:0
Packet type: CoA-Request
Identifier: 63
Authenticator: {8E F0 B9 D0 64 A5 49 CA D8 1F 78 1D 55 75 41 55}
Attributes:
  Acct-Session-Id=0202FFFF78004FD1-5432507C
  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

connection 10-06/15:01:50 ERROR [sa-p-14-t-40] RadiusClient - Недопустимый аргумент
java.net.SocketException: Недопустимый аргумент
   at sun.nio.ch.DatagramChannelImpl.send0(Native Method)
   at sun.nio.ch.DatagramChannelImpl.sendFromNativeBuffer(DatagramChannelImpl.java:514)
   at sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:491)
   at sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:455)
   at ru.bitel.common.io.DatagramChannelListener.send(DatagramChannelListener.java:275)
   at ru.bitel.bgbilling.kernel.network.radius.RadiusClient.sendAsync(RadiusClient.java:446)
   at ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsServiceActivator.connectionDisable(SmartEdgeClipsServiceActivator.java:134)
   at ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsServiceActivator.connectionClose(SmartEdgeClipsServiceActivator.java:151)
   at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connectionClose(ServiceActivatorSet.java:251)
   at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:532)
   at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:485)
   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:239)
   at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
   at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
   at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
   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)
connection 10-06/15:01:50  INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Process event type[2] result=true


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:06 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Укажите в конфиге устройства порт, на который слать PoD/CoA.
radius.port=
Поправим, чтобы по умолчанию использовал 1700.
Сейчас 0 или -1 похоже - потому возникает ошибка в логах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:13 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Прописал 1700 как висела сессия в активных, так и висит, реавторизации нет
Код:
connection 10-06/15:18:44  INFO [sa-p-14-t-76] ServiceActivatorSet - Connecting to device
connection 10-06/15:18:44  INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 91303; scid: -1; userId: 1; deviceId: 2; inetServId: 290; connectionId: 51980; state: 0; accessCode: 3; timestamp: 1412594324533
connection 10-06/15:18:44  INFO [sa-p-14-t-76] InetApplication - TariffOptionMap: {}
connection 10-06/15:18:44  INFO [sa-p-14-t-76] InetApplication - OptionSet: [12]
connection 10-06/15:18:44  INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12
connection 10-06/15:18:44  INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12
connection 10-06/15:18:44  INFO [sa-p-14-t-76] ServiceActivatorSet - Invoking connectionClose
connection 10-06/15:18:44  INFO [sa-p-14-t-76] SmartEdgeServiceActivator - Connection close
connection 10-06/15:18:44  INFO [sa-p-14-t-76] InetConnectionKeyMap - Remove connection remove 185.23.81.67
connection 10-06/15:18:44  INFO [sa-p-14-t-76] InetDhcpHelperProcessor - Remove connection remove 2:87:3:001FCE5D99A5
connection 10-06/15:18:44  INFO [sa-p-14-t-76] SmartEdgeServiceActivator - Connection disable
connection 10-06/15:18:44  INFO [sa-p-14-t-76] SmartEdgeServiceActivator - Send CoA lock:
Packet type: CoA-Request
Identifier: 2
Authenticator: {9C C9 57 3E 18 27 A7 E8 81 1E 3F BF 89 1E 3F 0C}
Attributes:
  Acct-Session-Id=0202FFFF78004FD1-5432507C
  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

connection 10-06/15:18:44  INFO [sa-p-14-t-76] RadiusClient - Sending to /172.16.98.7:1700
Packet type: CoA-Request
Identifier: 2
Authenticator: {9C C9 57 3E 18 27 A7 E8 81 1E 3F BF 89 1E 3F 0C}
Attributes:
  Acct-Session-Id=0202FFFF78004FD1-5432507C
  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

connection 10-06/15:18:44  INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Process event type[2] result=true
mq 10-06/15:18:47  INFO [event-proc-p-2-t-1] InetConnectionManager - Update connection: InetConnection [id=52000-51999, iface=2:50528256, sessId=0202FFFF78004FC0-54321717-RSE-SVC-EXT-B71AC33EDA6, start=06.10.2014 08:18:29, uname=RSE-SVC-EXT, addr=[IpAddress:null]]
mq 10-06/15:18:47  INFO [event-proc-p-2-t-1] InetConnectionKeyMap - Ip is null [IpAddress:null]
mq 10-06/15:18:47  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - IP is null 2:0:1:VLAN100+ETHERNET1/1#0X000X1F0XFFX0XFF0X06
mq 10-06/15:18:51  INFO [event-proc-p-2-t-1] InetConnectionManager - Update connection: InetConnection [id=52036-52035, iface=2:50528256, sessId=0202FFFF78004FB6-5431A31F-RSE-SVC-EXT-B6AC2AF38BF, start=06.10.2014 00:03:43, uname=RSE-SVC-EXT, addr=[IpAddress:null]]
mq 10-06/15:18:51  INFO [event-proc-p-2-t-1] InetConnectionKeyMap - Ip is null [IpAddress:null]
mq 10-06/15:18:51  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - IP is null 2:0:1:0X000X0E0X00D0X000X010X01QTEC0X130X090X01
connection 10-06/15:18:54  INFO [sa-p-14-t-76] EventWorker - Timeout waiting futures
connection 10-06/15:18:54 ERROR [sa-p-14-t-76] EventWorker - java.util.concurrent.TimeoutException: Timeout waiting for future results will done. Possible answer not recieved.
ru.bitel.bgbilling.common.BGException: java.util.concurrent.TimeoutException: Timeout waiting for future results will done. Possible answer not recieved.
   at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:128)
   at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:239)
   at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
   at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
   at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
   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)
Caused by: java.util.concurrent.TimeoutException: Timeout waiting for future results will done. Possible answer not recieved.
   ... 14 more
connection 10-06/15:18:54  INFO [sa-p-14-t-76] ServiceActivatorSet - Disconnecting from device
connection 10-06/15:18:54  INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:16 
Не в сети
Разработчик
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:32 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Уточню порт на который слать PoD/CoA. это
1) AccessServer - 1812 ?
2) AccountingServer 1813 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:35 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Нет, порт на SE, на котором он слушает CoA/PoD запросы от биллинга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 17:42 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Сказал админу, он проверяет конфигурацию устройства.
Теперь что с обновлением делать?
Угрюмов Роман писал(а):
О как! Запускаю под рутом:
root@billing:/usr/local/BGBillingServer# ./snapshot.sh create
mysqldump: Got error: 1044: Access denied for user 'bill'@'localhost' to database 'installed_modules' when selecting the database


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 18:04 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Похоже криво парсится из data.properties информация о БД.
Попробуйте пока установить/переопределить правильные значения после 32 строки и перед строкой ######## modify on your own risk ###########
Цитата:
# SQL connection data
HOST_SQL=127.0.0.1
USER_SQL=bill
PASSWORD_SQL=bgbilling
DBASE_NAME=bgbilling


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 18:29 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
У меня в нем всего 18 строк и строки ######## modify on your own risk ########### нет в наличии
Дописал в конец файла то что в вашем предыдущем посту - результат не изменился, ошибка 1044


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 06 окт 2014, 19:09 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В snapshot.sh 18 строк?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 11:30 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
со shapshot.sh возможно вот эта проблема

Его вроде недавно меняли. Напишите в ту тему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 11:38 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Прошло обновление, это я по недоумию в data.properties засунул ваши строки. Сейчас все отработало. Накатил последнее обновление.
Теперь по разрыву сессии. Админ дико извиняется и дал мне правильный адрес сервера CoA, прописал. На попытку разрыва сесии из монитора сессия остается активной. В логе all.log вижу:

Код:
connection 10-07/09:30:22  INFO [sa-p-14-t-3] ServiceActivatorSet - Connecting to device
connection 10-07/09:30:22  INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 91303; scid: -1; userId: 1; deviceId: 2; inetServId: 290; connectionId: 52769; state: 0; accessCode: 3; timestamp: 1412659822505
connection 10-07/09:30:22  INFO [sa-p-14-t-3] InetApplication - TariffOptionMap: {}
connection 10-07/09:30:22  INFO [sa-p-14-t-3] InetApplication - OptionSet: [12]
connection 10-07/09:30:22  INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12
connection 10-07/09:30:22  INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12
connection 10-07/09:30:22  INFO [sa-p-14-t-3] ServiceActivatorSet - Invoking connectionClose
connection 10-07/09:30:22  INFO [sa-p-14-t-3] SmartEdgeServiceActivator - Connection close
connection 10-07/09:30:22  INFO [sa-p-14-t-3] InetConnectionKeyMap - Remove connection remove 185.23.81.192
connection 10-07/09:30:22  INFO [sa-p-14-t-3] InetDhcpHelperProcessor - Remove connection remove 2:87:3:001FCE5D99A5
connection 10-07/09:30:22  INFO [sa-p-14-t-3] SmartEdgeServiceActivator - Connection disable
connection 10-07/09:30:22  INFO [sa-p-14-t-3] SmartEdgeServiceActivator - Send CoA lock:
Packet type: CoA-Request
Identifier: 1
Authenticator: {16 4D AB 77 0E E5 2A CE 68 DF 4D 28 8B 8D 59 54}
Attributes:
  Acct-Session-Id=0202FFFF78005117-543375D1
  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

connection 10-07/09:30:22  INFO [sa-p-14-t-3] RadiusClient - Sending to /172.16.98.7:3799
Packet type: CoA-Request
Identifier: 1
Authenticator: {16 4D AB 77 0E E5 2A CE 68 DF 4D 28 8B 8D 59 54}
Attributes:
  Acct-Session-Id=0202FFFF78005117-543375D1
  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

connection 10-07/09:30:22  INFO [sa-p-14-t-3] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok.
connection 10-07/09:30:22  INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 10-07/09:30:22  INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799
Packet type: CoA-NAK
Identifier: 1
Authenticator: {DA 6B F8 92 1C 78 5C E8 61 08 05 96 5B C2 34 D6}
Attributes:
  Error-Cause=401
  Event-Timestamp=1412659566


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 12:35 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Так потому что Coa-NAK пришел в ответ, а должен Coa-ACK, т.е. SE не отработал запрос.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 13:41 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
barguzin2 писал(а):
Так потому что Coa-NAK пришел в ответ, а должен Coa-ACK, т.е. SE не отработал запрос.

Да вижу ошибка 401 - Unsupported Attribute
Вот пытаюсь разобраться какие атрибуты надо отослать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 14:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Кажется теперь понял зачем в wiki в конфиге такая пляска с атрибутами - чтобы не передавать в CoA атрибуты из radius.realm.default.attributes=
Но в SmartEdgeServiceActivator уже есть параметр конфига, который за это отвечает.
Попробуйте указать так:

sa.radius.realm.addAttributes=0
sa.radius.connection.attributes=Acct-Session-Id


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 14:36 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
ВОт сейчас такой ответ на запрос разрыва сессии:
Код:
Packet type: CoA-Request
Identifier: 1
Authenticator: {C9 95 B9 19 B6 9C A2 83 42 0D A1 45 33 E8 F5 40}
Attributes:
  Acct-Session-Id=0202FFFF78005117-543375D1
  DHCP-Max-Leases=1
  IP-Interface-Name=NOAUTH

connection 10-07/12:07:18  INFO [sa-p-14-t-81] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok.
connection 10-07/12:07:18  INFO [sa-p-14-t-81] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 10-07/12:07:18  INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799
Packet type: CoA-NAK
Identifier: 1
Authenticator: {F0 ED CA B1 34 5E B2 E4 9A AA A0 E6 E5 A9 65 C2}
Attributes:
  Error-Cause=401
  Event-Timestamp=1412669382

Это ошибка но стороне CoA сервера походу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 14:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Нет, вроде бы не совсем то отправляется. А какой конфиг устройства у вас сейчас?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 14:40 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
#порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
radius.port=3799

# При выдаче 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=0

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

#атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
radius.realm.default.attributes=Acct-Interim-Interval=9000

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

# Какие адреса выдавать при ответе Access-Accept в состоянии disable:
# 0 (по умолчанию) - из radius.disable.ipCategories, 1 - так же, как если бы не было ошибки (в том числе привязанные к сервису в договоре)
radius.disable.mode=0

radius.disable.ipCategories=5

# Атрибуты, выдаваемые при ответе Access-Accept в состоянии disable (rejectToAccept)
radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;Service-Name:1=RSE-SVC-EXT;Service-Parameter:1=Rate=1000 Burst=250000

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

#атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом)
# Используемый для отключенных пул адресов и параметры http-редиректа.
radius.disable.pattern.attributes=HTTP-Redirect-Profile-Name=ddddddddd;Service-Parameter:1=XXX=111 YYY=radius.disable.pattern.attributes

# Вендор атрибута, где хранится MAC-адрес
#radius.macAddress.vendor=9
# Код атрибута, где хранится MAC-адрес
#radius.macAddress.type=1
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
#radius.macAddress.prefix=client-mac-address=

# Режим поиска сервиса: 0 (по умолчанию) - по логину, 1 - по интерфейсу на устройстве (в предобработке должны быть
# проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или INTERFACE_ID), 2 - по VLAN на устройстве (в предобработке
# должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), 4 - по VLAN на устройстве или
# дочернем устройстве (в предобработке должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID),
# 5 - по MAC-адресу на устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS), 6 - по MAC-адресу на
# устройстве или дочернем устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS).
radius.servSearchMode=1

# Нужно ли проверять пароль: 0 - нет, 1 (по умолчанию) - да.
radius.password.verification=1

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

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

# Привязка кодов опций модуля к атрибутам
# Атрибуты, которые передаются для всех сессий.
# IP-Interface-Name соответствует интерфейсу в конфиге RedBack, к которому "биндится" абонентская сессия (обязательный параметр).
# DHCP-Max-Leases - обязательный параметр, необходим для получения адреса по DHCP.
const.access.attributes=IP-Interface-Name=dhcpclients;DHCP-Max-Leases=1
option.1.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=1000 Burst=250000 XXX=123
option.2.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=2097152 Burst=4096
option.3.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=3145728 Burst=6144
option.4.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=4194304 Burst=8192
option.5.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=5242880 Burst=10240
option.6.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=6291456 Burst=10240
option.7.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=7340032 Burst=14336
option.8.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=8388608 Burst=16384
option.9.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=10000 Burst=2500000
option.10.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=50000 Burst=12500000
option.11.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=100000 Burst=25000000
option.12.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=300000 Burst=75000000

#данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе
radius.inetOption.1.attributes={@const. ... attributes};{@option.1.attributes}
radius.inetOption.2.attributes={@const. ... attributes};{@option.2.attributes}
radius.inetOption.3.attributes={@const. ... attributes};{@option.3.attributes}
radius.inetOption.4.attributes={@const. ... attributes};{@option.4.attributes}
radius.inetOption.5.attributes={@const. ... attributes};{@option.5.attributes}
radius.inetOption.6.attributes={@const. ... attributes};{@option.6.attributes}
radius.inetOption.7.attributes={@const. ... attributes};{@option.7.attributes}
radius.inetOption.8.attributes={@const. ... attributes};{@option.8.attributes}
radius.inetOption.9.attributes={@const. ... attributes};{@option.9.attributes}
radius.inetOption.10.attributes={@const ... attributes};{@option.10.attributes}
radius.inetOption.11.attributes={@const ... attributes};{@option.11.attributes}
radius.inetOption.12.attributes={@const ... attributes};{@option.12.attributes}

# Параметры активации сервисов
# длина паузы, если возникла ошибка
#sa.error.pause=60
# количество заданий за раз
#sa.batch.size=20
# время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
# пауза (сек) после обработки заданий
#sa.batch.pause=0
# время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5


#категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы")
radius.realm.default.ipCategories=3


#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#параметры dhcp
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#настройки DHCP-сервера
dhcp.renew=1
dhcp.option.serverIdentifier=172.16.98.7
dhcp.deviceSearchMode=0
dhcp.servSearchMode=1

radius.agent.option.removeHeader=2
radius.agent.option.remoteId.position=0

dhcp.option82.removeHeader=2
# Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.position=0
dhcp.option82.agentRemoteId.length=0

#dhcp.key.pattern=$circuitId$remoteId
dhcp.key.pattern=$deviceId:$remoteId:$circuitId:$mac

dhcp.option.leaseTime=259200

dhcp.net.option.185.23.81.0:255.255.255.0.gate=185.23.81.1
dhcp.net.option.185.23.81.0:255.255.255.0.dns=185.23.80.2

dhcp.net.option.192.168.172.0:255.255.255.0.gate=192.168.172.1
dhcp.net.option.192.168.172.0:255.255.255.0.dns=185.23.80.02

#----------------------------
#параметры активации сервисов
#----------------------------
#длина паузы, если возникла ошибка
#sa.error.pause=60
#количество заданий за раз
#sa.batch.size=20
#время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
#пауза (сек) после обработки заданий
#sa.batch.pause=0
#время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5

# Параметры обработчика активации сервисов
# добавлять ли при отправке CoA-атрибуты реалма (для default - из radius.realm.default.attributes)
sa.radius.realm.addAttributes=0
# откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
sa.radius.connection.attributes=Acct-Session-Id
# атрибуты CoA-запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;
# фиксированные атрибуты, добавляемые в запрос перед отправкой 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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 14:40 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Код:
#порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
radius.port=3799

# При выдаче 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=0

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

#атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
radius.realm.default.attributes=Acct-Interim-Interval=9000

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

# Какие адреса выдавать при ответе Access-Accept в состоянии disable:
# 0 (по умолчанию) - из radius.disable.ipCategories, 1 - так же, как если бы не было ошибки (в том числе привязанные к сервису в договоре)
radius.disable.mode=0

radius.disable.ipCategories=5

# Атрибуты, выдаваемые при ответе Access-Accept в состоянии disable (rejectToAccept)
radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;Service-Name:1=RSE-SVC-EXT;Service-Parameter:1=Rate=1000 Burst=250000

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

#атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом)
# Используемый для отключенных пул адресов и параметры http-редиректа.
radius.disable.pattern.attributes=HTTP-Redirect-Profile-Name=ddddddddd;Service-Parameter:1=XXX=111 YYY=radius.disable.pattern.attributes

# Вендор атрибута, где хранится MAC-адрес
#radius.macAddress.vendor=9
# Код атрибута, где хранится MAC-адрес
#radius.macAddress.type=1
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
#radius.macAddress.prefix=client-mac-address=

# Режим поиска сервиса: 0 (по умолчанию) - по логину, 1 - по интерфейсу на устройстве (в предобработке должны быть
# проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или INTERFACE_ID), 2 - по VLAN на устройстве (в предобработке
# должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), 4 - по VLAN на устройстве или
# дочернем устройстве (в предобработке должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID),
# 5 - по MAC-адресу на устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS), 6 - по MAC-адресу на
# устройстве или дочернем устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS).
radius.servSearchMode=1

# Нужно ли проверять пароль: 0 - нет, 1 (по умолчанию) - да.
radius.password.verification=1

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

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

# Привязка кодов опций модуля к атрибутам
# Атрибуты, которые передаются для всех сессий.
# IP-Interface-Name соответствует интерфейсу в конфиге RedBack, к которому "биндится" абонентская сессия (обязательный параметр).
# DHCP-Max-Leases - обязательный параметр, необходим для получения адреса по DHCP.
const.access.attributes=IP-Interface-Name=dhcpclients;DHCP-Max-Leases=1
option.1.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=1000 Burst=250000 XXX=123
option.2.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=2097152 Burst=4096
option.3.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=3145728 Burst=6144
option.4.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=4194304 Burst=8192
option.5.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=5242880 Burst=10240
option.6.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=6291456 Burst=10240
option.7.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=7340032 Burst=14336
option.8.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=8388608 Burst=16384
option.9.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=10000 Burst=2500000
option.10.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=50000 Burst=12500000
option.11.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=100000 Burst=25000000
option.12.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=300000 Burst=75000000

#данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе
radius.inetOption.1.attributes={@const.access.attributes};{@option.1.attributes}
radius.inetOption.2.attributes={@const.access.attributes};{@option.2.attributes}
radius.inetOption.3.attributes={@const.access.attributes};{@option.3.attributes}
radius.inetOption.4.attributes={@const.access.attributes};{@option.4.attributes}
radius.inetOption.5.attributes={@const.access.attributes};{@option.5.attributes}
radius.inetOption.6.attributes={@const.access.attributes};{@option.6.attributes}
radius.inetOption.7.attributes={@const.access.attributes};{@option.7.attributes}
radius.inetOption.8.attributes={@const.access.attributes};{@option.8.attributes}
radius.inetOption.9.attributes={@const.access.attributes};{@option.9.attributes}
radius.inetOption.10.attributes={@const.access.attributes};{@option.10.attributes}
radius.inetOption.11.attributes={@const.access.attributes};{@option.11.attributes}
radius.inetOption.12.attributes={@const.access.attributes};{@option.12.attributes}

# Параметры активации сервисов
# длина паузы, если возникла ошибка
#sa.error.pause=60
# количество заданий за раз
#sa.batch.size=20
# время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
# пауза (сек) после обработки заданий
#sa.batch.pause=0
# время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5


#категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы")
radius.realm.default.ipCategories=3


#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#параметры dhcp
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#настройки DHCP-сервера
dhcp.renew=1
dhcp.option.serverIdentifier=172.16.98.7
dhcp.deviceSearchMode=0
dhcp.servSearchMode=1

radius.agent.option.removeHeader=2
radius.agent.option.remoteId.position=0

dhcp.option82.removeHeader=2
# Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.position=0
dhcp.option82.agentRemoteId.length=0

#dhcp.key.pattern=$circuitId$remoteId
dhcp.key.pattern=$deviceId:$remoteId:$circuitId:$mac

dhcp.option.leaseTime=259200
 
dhcp.net.option.185.23.81.0:255.255.255.0.gate=185.23.81.1
dhcp.net.option.185.23.81.0:255.255.255.0.dns=185.23.80.2
 
dhcp.net.option.192.168.172.0:255.255.255.0.gate=192.168.172.1
dhcp.net.option.192.168.172.0:255.255.255.0.dns=185.23.80.02
 
#----------------------------
#параметры активации сервисов
#----------------------------
#длина паузы, если возникла ошибка
#sa.error.pause=60
#количество заданий за раз
#sa.batch.size=20
#время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
#пауза (сек) после обработки заданий
#sa.batch.pause=0
#время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5

# Параметры обработчика активации сервисов
# добавлять ли при отправке CoA-атрибуты реалма (для default - из radius.realm.default.attributes)
sa.radius.realm.addAttributes=0
# откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
sa.radius.connection.attributes=Acct-Session-Id
# атрибуты CoA-запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;
# фиксированные атрибуты, добавляемые в запрос перед отправкой 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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 14:52 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Сейчас при отключении добавляются параметры отсюда:
sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;
Попробуйте изменить, чтобы ответил ACK, например:
sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;

Если как в примере в wiki, то
sa.radius.disable.attributes=Acct-Interim-Interval=900;Forward-Policy=in:NOAUTH-IPOE;HTTP-Redirect-Profile-Name=NOAUTH
Но скорее всего есть несколько способов, потому что есть еще как минимум один - когда при редиректе идет сервисный аккаунтинг, например, с User-Name=NOAUTH. Я обычно рекомендую такой вариант, чтобы биллинг по сервисной сессии узнавал, что сессия в состоянии отключена (доступ ограничен).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 15:20 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Amir писал(а):
sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;

Ничего не изменилось, ошибка 401
Amir писал(а):
sa.radius.disable.attributes=Acct-Interim-Interval=900;Forward-Policy=in:NOAUTH-IPOE;HTTP-Redirect-Profile-Name=NOAUTH

Увидел в мониторе разрыв соединения, в логе ошибка 555:
Код:
connection 10-07/13:11:48  INFO [sa-p-14-t-50] RadiusClient - Sending to /172.16.98.7:3799
Packet type: CoA-Request
Identifier: 1
Authenticator: {EE F9 2F D9 00 1B D1 32 5A 15 37 B8 A6 CB 1F 1C}
Attributes:
  Acct-Interim-Interval=900
  Acct-Session-Id=0202FFFF780051A7-5433AE02
  Forward-Policy=in:NOAUTH-IPOE
  HTTP-Redirect-Profile-Name=NOAUTH

connection 10-07/13:11:48  INFO [sa-p-14-t-50] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok.
connection 10-07/13:11:48  INFO [sa-p-14-t-50] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 10-07/13:11:48  INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799
Packet type: CoA-NAK
Identifier: 1
Authenticator: {B1 74 51 9A E4 B1 0E B0 E9 F6 F7 AC 1A CE 1F 63}
Attributes:
  Error-Cause=555
  Event-Timestamp=1412673252

Роутер, соединение которому я оборвал так и не высылает пакет переавторизации, но интернет пропал, то есть сессия всеже разорвалась.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 15:32 
Не в сети
Разработчик
Аватара пользователя

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

А какой логики хотите добиться? У вас же IPoE через DHCP82, значит авторизация от SE вообще не пойдет пока от абонента не пойдет новый DHCP OFFER.
А DHCP OFFER не пойдет пока не кончится dhcpLease или абонент не переключит соединение.

Когда нужно ограничить доступ - ограничиваем с помощью CoA (чего сейчас и пытаемся добиться), при этом сессия никак не сбрасывается - меняется ее состояние в биллинге на отключен.
У абонента остается какое-то время тот же самый IP, а когда истечет lease - тогда он переполучит серый IP.
Когда абонент заплатит - на SE включаем сервисы с помощью тех же CoA - какое-то время у абонента остается серый адрес.

При этом ставить очень маленький dhcpLease я не рекомендую, т.к. DHCP - не RADIUS - если вдруг перестать на него отвечать, то абонент не сможет работать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 15:37 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
У меня сейчас цель простая, разорвать соединение с клиентом, так что бы его оборудование перезапросило авторизацию по Radius протоколу и DHCP выдал новый адрес.
Алгоритм который пытаюсь реализовать такой.
Используется Opt82 c авторизацией порт:устройство
1) По приходу первого пакета авторизации автоматически создается договор на этом порт:устройство в статусе ПРИОСТАНОВЛЕН
2) RejectToAcept перегнаправляет клиента на локальный ресурс, где он читает страницу с условиями подключения и нажимает кнопку ПОДКЛЮЧИТЬСЯ
3) При нажатии на кнопку ПОДКЛЮЧИТЬСЯ отрабатывает скрипрт, который по текущему IP я находит договор и меняет статус договора на АКТИВЕН
4) РВУ СЕССИЮ
5) Клиент переподключается и DHCP выдает нормальный белый IP и клиент работает

Все это реализовано кроме пункта 4 - разрыв сессии


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 18:28 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Добавил в Access и Accounting в dictionary.xml строку
<attribute name="Deactivate-Service-Name" tag="2" type="string" code="194"/>
Все равно не вставляет
Код:
sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT

Если сделать вот так:
Код:
sa.radius.disable.attributes=Deactivate-Service-Name:1=RSE-SVC-EXT

То получаю вот такой лог:

Код:
connection 10-07/16:23:46  INFO [sa-p-14-t-13] RadiusClient - Sending to /172.16.98.7:3799
Packet type: CoA-Request
Identifier: 2
Authenticator: {AE 2D 04 9B AC 7B B4 62 66 8D 81 7F 7F D3 C9 7E}
Attributes:
  Acct-Session-Id=0202FFFF780051BD-5433CC8C
  Deactivate-Service-Name=RSE-SVC-EXT

connection 10-07/16:23:46  INFO [sa-p-14-t-13] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 10-07/16:23:46  INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799
Packet type: CoA-NAK
Identifier: 2
Authenticator: {2B 03 0C D9 7D E3 4F A5 B1 81 20 BB B4 D2 37 57}
Attributes:
  Error-Cause=404
  Event-Timestamp=1412684770


Из документации 404 Invalid Request


Последний раз редактировалось Угрюмов Роман 07 окт 2014, 18:52, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 18:40 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Господа! В той версии что вы выложили для загрузки: 6.0_83 тоже нет в словаре Deactivate-Service-Name


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с закрытием сессии
СообщениеДобавлено: 07 окт 2014, 19:55 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Покажите лог авторизации и старт пакета этой сессии. Похоже нестыковка настроек биллинга и SE.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2  След.

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


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

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


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

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