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

Создание ресурса при активации карты
http://forum.bitel.ru/viewtopic.php?f=44&t=8088
Страница 1 из 1

Автор:  bgnewbie [ 28 май 2013, 12:47 ]
Заголовок сообщения:  Создание ресурса при активации карты

При активации карты через веб-интерфейс WiFi Agent'а по шаблону создаётся договор и ресурс для дальнейшей повторной авторизации клиента.
Но хочется также создать ресурс "подключения" с именем = IP адресу подключившегося клиента, чтобы потом нормально ложился Netflow на этот IP. IP передаётся через RADIUS-атрибут "Framed-IP-Address" в Access-Request:

Код:
radius 05-28/16:54:27  INFO [rdsLstnr-p-7-t-7] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 30
Authenticator: {D2 93 DB 74 0C 9A 2C 1F A3 3A 04 47 FA D6 5F 78}
Attributes:
  User-Name=12
  NAS-Identifier=wifi_nas
  User-Password=we4234234
  NAS-Port=-1062727646
  Framed-IP-Address=192.168.16.34
  Acct-Session-Id=192.168.16.34_1369720467205


Как можно получить доступ к параметрам Access-Request'а _после_ успешной авторизации?


Клиент: вер. 5.2 сборка 1174 от 27.05.2013 16:17:03
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_26
Сервер: вер. 5.2 сборка 1504 от 27.05.2013 16:58:53
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_26

bill вер. 5.2 сборка 306 от 13.03.2013 15:12:01
card вер. 5.2 сборка 201 от 25.03.2013 14:32:21
inet вер. 5.2 сборка 1179 от 27.05.2013 16:58:50
npay вер. 5.2 сборка 203 от 27.05.2013 16:59:08

Автор:  nik247 [ 28 май 2013, 13:08 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Похожим образом ...
Код:
public void postprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
            throws Exception
{
// Проверяем наличие FRAMED-IP, если есть - делаем дальше обработки
if (response.getAttribute( -1, 8 ) != null )
  {
  String username = request.getStringAttribute( 1 );
   ....

Автор:  bgnewbie [ 29 май 2013, 08:09 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Спасибо. Тогда второй вопрос.
Как правильно создать сервис?
Судя по существованию диапазонов адресов, к которым нужно привязаться, а также по содержимому таблицы inet_serv_N с существующими уже сервисами, создание подобного сервиса - это не просто создание объекта класса InetServ с последующим заполнением параметров.
Копание на форуме, wiki и в документации ничем не помогло.

Автор:  bgnewbie [ 30 май 2013, 06:10 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

up

Автор:  bgnewbie [ 31 май 2013, 10:40 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

С создавать ресурс разобрался (помогла статья в вики wiki)

Теперь другая проблема: при авторизации через веб-интерфейс веб-агента в первый раз, т.е. при активации сервиса, авторизация не проходит. Вот что в radius.log:

Код:
05-31/14:54:18  INFO [rdsLstnr-p-7-t-2] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 3
Authenticator: {03 B9 D8 BC C6 95 4F 4A 00 52 C8 02 B4 73 B3 82}
Attributes:
  User-Name=111
  NAS-Identifier=wifi_nas
  User-Password=666666
  NAS-Port=-1062727646
  Framed-IP-Address=192.168.16.34
  Acct-Session-Id=192.168.16.34_1369972458579

05-31/14:54:18  INFO [rdsLstnr-p-7-t-2] InetNas - Search by username=111
05-31/14:54:18  INFO [rdsLstnr-p-7-t-2] InetRadiusProcessor - [username=111] InetServ not found. Try find in cards...
05-31/14:54:28 ERROR [rdsLstnr-p-7-t-2] InetRadiusProcessor - Answer for CardActivateRequestEvent not recieved for 10
sec.
05-31/14:54:28  INFO [rdsLstnr-p-7-t-2] InetRadiusProcessor - Return code=100
05-31/14:54:28  INFO [rdsLstnr-p-7-t-2] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 3
Authenticator: {6A DA 34 06 EE 87 23 92 01 35 7C 32 D0 29 15 B3}
Attributes:
  Reply-Message=100

Process time auth: 10040


При этом договор и сервис на нём создаются, в "Менеджере карт" модуля Card для карты статус меняется с Pay на Contract. Созданный ресурс находится в состоянии "удалён".

При повторной попытке авторизации по прежнему не авторизует, но уже по причине того что ресурс "удалён":

Код:
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 4
Authenticator: {85 97 DE EE A9 B1 70 45 05 9E 50 25 74 4E 2E 27}
Attributes:
  User-Name=111
  NAS-Identifier=wifi_nas
  User-Password=666666
  NAS-Port=-1062727646
  Framed-IP-Address=192.168.16.34
  Acct-Session-Id=192.168.16.34_1369972613006

05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetNas - Search by username=111
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetRadiusProcessor - [username=111] Authenticated as inetServId:70
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetApplication - inetServ[id=70] deviceState not active (accessCode=0).
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetRadiusProcessor - Return code=10
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 4
Authenticator: {73 EC 9E 38 F7 E5 11 06 E2 81 01 32 78 B9 06 1D}
Attributes:
  Reply-Message=10

Process time auth: 6


Статус ресурса не меняется, пока не будет запущено задание "Inet - активация/деактивация сервисов по периоду".

И только после того как статус меняется, начинает авторизовывать.

Автор:  Amir [ 31 май 2013, 13:42 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Не совсем понимаю.
При http://bgbilling.ru/v6.0/doc/ch18s16.html договор и сервис создавался нормально?
Разве сессия с IP-адресом на ней не появлялась после подключения (при обработке netflow сессия и будет находиться по ее IP-адресу)?

Автор:  bgnewbie [ 03 июн 2013, 10:09 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Сейчас ситуация следующая.
При попытке активации карты через страницу активации создаётся договор, с ресурсом на нём в состоянии "удалён". Никаких ошибок в логах нет.
При попытке активации карты путём логина сразу под именем и паролем (без перехода на страницу активации) - то же самое, при этом в radius.log:
Код:
05-31/14:54:18  INFO [rdsLstnr-p-7-t-2] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 3
Authenticator: {03 B9 D8 BC C6 95 4F 4A 00 52 C8 02 B4 73 B3 82}
Attributes:
  User-Name=111
  NAS-Identifier=wifi_nas
  User-Password=666666
  NAS-Port=-1062727646
  Framed-IP-Address=192.168.16.34
  Acct-Session-Id=192.168.16.34_1369972458579

05-31/14:54:18  INFO [rdsLstnr-p-7-t-2] InetNas - Search by username=111
05-31/14:54:18  INFO [rdsLstnr-p-7-t-2] InetRadiusProcessor - [username=111] InetServ not found. Try find in cards...
05-31/14:54:28 ERROR [rdsLstnr-p-7-t-2] InetRadiusProcessor - Answer for CardActivateRequestEvent not recieved for 10 sec.
05-31/14:54:28  INFO [rdsLstnr-p-7-t-2] InetRadiusProcessor - Return code=100
05-31/14:54:28  INFO [rdsLstnr-p-7-t-2] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 3
Authenticator: {6A DA 34 06 EE 87 23 92 01 35 7C 32 D0 29 15 B3}
Attributes:
  Reply-Message=100

Process time auth: 10040


В результате после любой "активации" создаётся ресурс в состоянии "удалён", по которому нельзя залогиниться. При попытке логина по такому ресурсу в radius.log появляется:

Код:
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 4
Authenticator: {85 97 DE EE A9 B1 70 45 05 9E 50 25 74 4E 2E 27}
Attributes:
  User-Name=111
  NAS-Identifier=wifi_nas
  User-Password=666666
  NAS-Port=-1062727646
  Framed-IP-Address=192.168.16.34
  Acct-Session-Id=192.168.16.34_1369972613006

05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetNas - Search by username=111
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetRadiusProcessor - [username=111] Authenticated as inetServId:70
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetApplication - inetServ[id=70] deviceState not active (accessCode=0).
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetRadiusProcessor - Return code=10
05-31/14:56:53  INFO [rdsLstnr-p-7-t-3] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 4
Authenticator: {73 EC 9E 38 F7 E5 11 06 E2 81 01 32 78 B9 06 1D}
Attributes:
  Reply-Message=10

Process time auth: 6


Создаётся ощущение, что процесс создания договора по шаблону при активации карты не доходит до конца. При этом ресурс создаётся, но не переводится в активное состояние, а в случае активации "при первом заходе" ещё и не происходит логин пользователя, который должен случиться после создания договора с активным сервисом.

Конфигурация модуля Inet то что касается карт:

Код:
serv.login.min=1111111
serv.login.max=9999999
serv.password.length.min=5
serv.password.length.max=16
serv.password.chars=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
serv.password.chars.description=В пароле допустимы только цифры и латинские буквы.
serv.password.length.auto=6

card.moduleId=2
card.activate.serviceIds=0
card.login.min=0
card.login.max=0


Конфигурация модуля Card:

Код:
activate.login.service.1.title=WiFi
activate.login.service.1.sids=0
activate.login.service.1.mid=1
activate.login.service.1.tariffs=20

Автор:  bgnewbie [ 04 июн 2013, 12:11 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

up

Автор:  Amir [ 04 июн 2013, 19:14 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

В логах BGBillingServer нет ошибок?

Автор:  bgnewbie [ 05 июн 2013, 06:56 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

ошибок нет

Ошибки в /usr/local/BGBillingServer/log/server.error.log:

Код:
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'bgbilling.user_login_1' doesn't exist
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.Util.getInstance(Util.java:386)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.call.bean.CardCallUtils.createLogin(CardCallUtils.java:50)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.card.action.pub.ActionCreateContract.createContact(ActionCreateContract.java:568)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.card.action.pub.ActionCreateContract.confirm(ActionCreateContract.java:209)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.card.action.pub.ActionCreateContract.doAction(ActionCreateContract.java:147)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.PublicExecuter.doModule(PublicExecuter.java:146)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.PublicExecuter.doPost(PublicExecuter.java:62)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:48)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
server 06-05/14:39:10 ERROR ["http-bio-/0.0.0.0-8080"-exec-2] LoggingPrintStream -    at java.lang.Thread.run(Thread.java:662)


Интересно что активация то проходит, то не проходит. Думал проблема в лимитах, выставленных для контейнера (биллинг работает внутри OpenVZ контейнера), поставил безлимит на все ресурсы - ситуация такая же. То активация проходит, то нет.

Автор:  bgnewbie [ 05 июн 2013, 10:18 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Хотел вручную создать таблицу user_login_1, но вот беда, посмотреть структуру базы данных в документации не могу, т.к. http://dbinfo.bitel.ru/ отдаёт пустую страницу.

Автор:  bgnewbie [ 06 июн 2013, 04:17 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Таблица user_login_n относится к модулю Dialup, которого нет и при установке не было (ставил сразу 5.2 с Inet). Видимо где-то есть кусок устаревшего кода.

Автор:  bgnewbie [ 07 июн 2013, 06:13 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Создал таблицу user_login_N - не помогло. Обновил биллинг до 6.0 - не помогло.

Автор:  Amir [ 07 июн 2013, 14:59 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Активация через web не будет работать, не сделана для Inet еще.
Активация через авторизацию должна работать. Можно скриншот дерева устройств, типа сервиса, который используется и конфиг inet-access.xml?

Автор:  bgnewbie [ 08 июн 2013, 09:49 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Раз уж я обновился до 6.0, предлагаю обсуждать далее шестую версию.

Клиент: вер. 6.0 сборка 1192 от 05.06.2013 17:34:01
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_26
Сервер: вер. 6.0 сборка 1517 от 05.06.2013 17:34:07
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_26

bill вер. 6.0 сборка 323 от 31.05.2013 13:55:16
card вер. 6.0 сборка 214 от 31.05.2013 13:55:19
inet вер. 6.0 сборка 1182 от 05.06.2013 19:48:50
npay вер. 6.0 сборка 215 от 31.05.2013 13:56:58


Amir писал(а):
Активация через web не будет работать, не сделана для Inet еще.


Речь о странице, которую показывает wifi-агент (висит на порту 9090), и на которую изначально для подключенного неавторизованного клиента делается редирект. Если вдруг на этой странице попытаться ввести логин и пароль, то в биллинге пытается активироваться карточка. При этом процесс не доводится до конца - создаётся сервис в состоянии "закрыт".
Вообще говоря, попытки активации карты здесь быть не должно - для этого есть отдельная страница с капчей, ссылкой на аферту и возможностью заполнения дополнительных полей. Должна быть проверка существования активной карты с введённым паролем/логином и если таковой нет - должна отдаваться ошибка.

Вложения:
Комментарий к файлу: inet-access.xml
inet-access.txt [6.3 КБ]
Скачиваний: 441
Комментарий к файлу: сервис PIN-карты
pin_service.png
pin_service.png [ 40.52 КБ | Просмотров: 14883 ]
Комментарий к файлу: дерево устройств
device_tree.png
device_tree.png [ 21.31 КБ | Просмотров: 14883 ]

Автор:  bgnewbie [ 11 июн 2013, 11:34 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

up

Автор:  Amir [ 11 июн 2013, 16:51 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Попробуйте указать в конфиге устройства
card.activate.serviceIds=0
чтобы попытки активации не было.

Автор:  Amir [ 11 июн 2013, 17:44 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Выложили обновление, ошибки com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'bgbilling.user_login_1' doesn't exist при активации через web быть не должно.

Автор:  bgnewbie [ 13 июн 2013, 11:27 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

card.activate.serviceIds=0 работает для "кабинета WiFi".
Ошибки MySQLSyntaxErrorException теперь нет.
Но проблема с созданием договора при активации карты осталась.

Автор:  Amir [ 13 июн 2013, 17:06 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Т.е. если через web-интерфейс создать договор - сервис в нем остается в состоянии удален?
И в InetAccess ошибок нет?

Автор:  Amir [ 13 июн 2013, 17:54 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Может быть была ошибка как здесь:
viewtopic.php?f=44&t=8145

Автор:  bgnewbie [ 14 июн 2013, 13:22 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Если вы имели в виду стандартную страницу "Активация карты: WiFi" (http://bgbilling:8080/bgbilling/pubexec ... vateType=1), то я как раз о проблеме с ней и пишу. Другие способы активации карты клиентом мне неизвестны.

В том то и дело что никаких ошибок в логах нет. Ни в BGInetAccess, ни в BGBilling. И ресурс создаётся то открытым, то закрытым. Есть ли в этом какая-то закономерность - понять не могу. Но это обстоятельство сводит к нулю полезность механизма активации карты, т.к. с большой вероятностью клиент может не желая того заблокировать карту, если сервис "PIN" останется в состоянии "удалён".

Есть подозрительные сообщения в следующих журналах:

В /usr/local/BGBillingServer/log/server.script.log, /usr/local/BGInetAccess/log/script.log и /usr/local/BGInetAccouting/log/script.log:
Код:
06-14/17:44:59  INFO [main] ScriptEventListener - Skip event type bitel.billing.server.script.bean.event.ContractWebLoginEvent. Class not found for this application.


Может можно куда-то воткнуть обработчик события и продебажить поэтапно с момента создания договора что происходит?
Ещё я заметил что при создании договора при активации карты в случае когда всё проходит нормально страница с сообщением о том что договор успешно создан появляется ощутимо быстрее, чем в случае, когда сервис остаётся в состоянии "удалён". Такое ощущение что нечто отваливается по тайм-ауту. В случае с попыткой активации сразу через ввод логина/пароля в логах было "InetRadiusProcessor - Answer for CardActivateRequestEvent not recieved for 10 sec.". Может быть тут то же самое происходит?

Автор:  Amir [ 14 июн 2013, 13:34 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Попробуйте все-таки обновиться (если еще не). Мне кажется, что то исправление могло и эту ошибку исправить.

Автор:  Amir [ 14 июн 2013, 13:56 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

В конфиге типа сервиса прописан const.device.id=<id устройства?

Автор:  bgnewbie [ 17 июн 2013, 08:26 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Обновился до версии
Клиент: вер. 6.0 сборка 1199 от 13.06.2013 16:43:20
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_26
Сервер: вер. 6.0 сборка 1524 от 14.06.2013 19:20:17
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_26

bill вер. 6.0 сборка 323 от 31.05.2013 13:55:16
card вер. 6.0 сборка 215 от 11.06.2013 17:28:33
inet вер. 6.0 сборка 1191 от 13.06.2013 17:24:27
npay вер. 6.0 сборка 215 от 31.05.2013 13:56:58


В конфиге типа сервиса PIN const.device.id прописан - без этого он вообще не создавался.
Эффекта нет.

Автор:  Amir [ 18 июн 2013, 18:16 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Можете дать доступ?

Автор:  bgnewbie [ 21 июн 2013, 10:17 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

up

Автор:  stark [ 24 июн 2013, 16:06 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

bgnewbie писал(а):
Если вы имели в виду стандартную страницу "Активация карты: WiFi" (http://bgbilling:8080/bgbilling/pubexec ... vateType=1), то я как раз о проблеме с ней и пишу. Другие способы активации карты клиентом мне неизвестны.



А вам точно нужна эта Web-активация ? Недостаточно будет "интеграции с модулем Card для автоматической активации карт при первой авторизации по протоколу RADIUS."
http://bgbilling.ru/v5.2/doc/ch18s16.html
?

Автор:  Amir [ 24 июн 2013, 16:16 ]
Заголовок сообщения:  Re: Создание ресурса при активации карты

Выложили. В последнем билде на тестовом сервере активация через модуль Card и активация через логин/пароль по RADIUS проходит нормально.

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