Всем привет.
Пытаюсь перенести учётки абонентов в модуль Inet.
По примеру с wiki
http://wiki.bitel.ru/index.php/%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B5%D1%80:_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BD%D1%8B_Dialup_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B_inet набросал следующее:
Код:
private final int INET_MID = 17;
private final int INET_SERVICE_TYPE_ID = 3;
private final int PPPoE_DEVICE_ID = 1;
....
wsServ = context.getService( InetServService.class , INET_MID );
....
InetServ inetServ = new InetServ();
inetServ.setContractId( cid );
inetServ.setDateFrom( date1 );
inetServ.setDateTo( date2 );
inetServ.setLogin( userMap.get( ip ).getLogin() );
inetServ.setPassword( userMap.get( ip ).getPasswd() );
inetServ.setTypeId( INET_SERVICE_TYPE_ID );
inetServ.setDeviceId( PPPoE_DEVICE_ID );
inetServ.setStatus( 0 );
inetServ.setSessionCountLimit( 1 );
int serviceId = wsServ.inetServUpdate( inetServ, new ArrayList<InetServOption>(), false, false, 0 );
wsServ.inetServUpdate( inetServ, getServiceOptionsByIp( serviceId, date1, date2, ip ), false, false, 0 );
.....
Всё как бы не плохо, добавил группу сервисов, начали переключать абонентов и вылезла следующая проблема:
Часть абонентов (сервисов в договорах) начинает работать нормально - появляется сессия в мониторе, всё хорошо,
а часть сервисов при попытке подключения получает от радиуса Reply-Message=10, в итоге серый ip и редирект на страницу
с ошибкой.
Собственно запрос и ответ.
Код:
Time: 20.10.2016 09:59:13
Packet type: Access-Request
Identifier: 187
Authenticator: {59 C2 5F 99 A8 78 BC 06 3C 30 41 E1 AF CF E1 28}
Attributes:
User-Name=oooxxxxx
NAS-Identifier=ASR-01.xxxx.ru
NAS-Port-Id=0/0/0/3011
CHAP-Password={01 56 3C 40 28 D5 11 42 D7 31 9D B1 E1 CD E7 77 45}
Event-Timestamp=1476943153
NAS-IP-Address=10.63.7.250
NAS-Port=589
Service-Type=2
Framed-Protocol=1
Acct-Session-Id=0/0/0/3011_0A3F07FA0000024D
NAS-Port-Type=33
Calling-Station-Id=0002.cfc3.1ff5
cisco-avpair=client-mac-address=0002.cfc3.1ff5
Time: 20.10.2016 09:59:13
Packet type: Access-Accept
Identifier: 187
Authenticator: {E2 42 9D 72 9F E8 02 30 2C 2B EC 04 12 C8 F1 31}
Attributes:
Reply-Message=10
Framed-IP-Address=10.77.77.204
cisco-SSG-Account-Info=ATRUST-PPPOE-SERVICE
cisco-SSG-Account-Info=ARDR-PPPOE-SERVICE
cisco-SSG-Service-Info=NTRUST-PPPOE-SERVICE
cisco-SSG-Service-Info=NRDR-PPPOE-SERVICE
Process time auth: 0
Time: 20.10.2016 09:59:13
Packet type: Accounting-Request
Identifier: 93
Authenticator: {9C 14 6F 7D 0C DD 2F 7F 35 EB 18 7E 62 C7 AB 25}
Attributes:
User-Name=oooxxxxx
NAS-Identifier=ASR-01.xxxxx.ru
NAS-IP-Address=10.63.7.250
NAS-Port=589
Service-Type=2
Framed-Protocol=1
Acct-Status-Type=1
Acct-Delay-Time=0
Acct-Session-Id=0/0/0/3011_0A3F07FA0000024D
Acct-Authentic=1
NAS-Port-Id=0/0/0/3011
Event-Timestamp=1476943153
Calling-Station-Id=0002.cfc3.1ff5
NAS-Port-Type=33
cisco-avpair=connect-progress=Call Up
cisco-avpair=client-mac-address=0002.cfc3.1ff5
cisco-SSG-Service-Info=NRDR-PPPOE-SERVICE
cisco-SSG-Service-Info=NTRUST-PPPOE-SERVICE
Сброс сессии через монитор не помогает.
Решается проблема открытием проблемного сервиса на договоре и его пересохранением (т.е. ни какие правки в него не вносятся).
После этого порой даже не требуется сброс сессии в мониторе (иногда всё же нужно) и сервис начинает подключаться нормально.
Ни какой разницы, между сервисом созданным программно и сервисом, созданным через интерфейс - не нашёл
(смотрел и как запись в базе, и выводом из java кода параметров созданного сервиса и параметров сервиса пересохранённого вручную).
Уважаемые разработчики, подскажите, что не так делаю при создании сервисов. Где косяк?
Клиент: вер. 6.0 сборка 1396 от 15.04.2016 23:41:35
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
Сервер: вер. 6.0 сборка 1878 от 28.09.2016 15:23:51
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
inet вер. 6.0 сборка 1519 от 28.09.2016 15:24:04