forum.bitel.ru
http://forum.bitel.ru/

Создание сервисов модуля Inet в договоре
http://forum.bitel.ru/viewtopic.php?f=19&t=12026
Страница 1 из 1

Автор:  fmaks [ 20 окт 2016, 12:52 ]
Заголовок сообщения:  Создание сервисов модуля Inet в договоре

Всем привет.

Пытаюсь перенести учётки абонентов в модуль 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

Автор:  Artur [ 20 окт 2016, 14:06 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

События какие-нибудь бросаются после создания сервиса в биллинге?

Автор:  fmaks [ 20 окт 2016, 14:39 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

Хороший вопрос. Но теперь логов с момента запуска скрипта боюсь уже нет (по крайней мере в аксес и аккаунтинг серверах уже потёрлось).
В самом биллинге в server.mq.log и в scheduler.log по времени запуска скрипта ни чего подходящего не нашёл.
Я так понимая интересуют mq логи?
Придётся ждать новой партии загрузки в биллинг. Но в дальнейшем ожидается загрузка сразу порядка тысячи абонентов и как-то не впечатляет
мысль о необходимости щёлкать вручную хоть половину из них.
И да, как я понимаю, используя InetServService при создании сервисов на договоре я уже не должен заботится о бросании ивентов руками их
ведь бросает сам сервис?
В общем как только появятся новые данные отпишусь. Ну и может так родятся мысли, куда копать.

Автор:  barguzin2 [ 20 окт 2016, 14:57 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

да, похоже, что с очередью событий что-то не так, логи нужно сразу скопировать для дальнейшего разбора. Если все сервисы прописались в базу, то на крайний случай можно ребутнуть АА-серверы, тогда они уже точно подхватятся.

P.S. Да, сервисы всю кухню сами варят, события кидать не нужно.

Автор:  fmaks [ 20 окт 2016, 15:44 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

АА-серверы передёргивал, ни какого эффекта не дало. Дело в том что они видятся, но авторизуются с ошибкой Reply-Message=10 (что-то типа сервис отключен ).
Нужно новую мелкую заливку, попробую что-нить придумать и зафиксировать логи.
В самом ActiveMQ в логах ни каких подходящих ошибок в момент создания сервисов не нашёл.

Автор:  skyb [ 20 окт 2016, 16:00 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

а если добавить платеж на сумму 0 рублей? или обновить баланс и кинуть событие?

Автор:  Artur [ 20 окт 2016, 17:13 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

Посмотрите еще очередь событий Activemq через веб-консоль.

Автор:  fmaks [ 20 окт 2016, 18:26 ]
Заголовок сообщения:  Re: Создание сервисов модуля Inet в договоре

Очередь ActiveMQ пуста (Queues. Number Of Pending Messages = 0). Завтра попробую сообразить загрузку сервисов и выполнить
финт с обновление баланса. Попутно зафиксирую логи

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/