BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 16:16 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
В последнее время начала проявляться проблема с отключением активных сессий абонентов при закрытии договора по балансу.

Например, 14 апреля абонент поднял сессию и благополучно работал. 22 апреля у абонента закончились средства. В час ночи договор был заблокирован задачей по недостаточному балансу. После этого сервис перешёл в состояние "Отключен". Всё бы хорошо, но вот уже 2 часа дня, а сессия абонента всё висит в состоянии "Подключено" и статусе "Активна" и не думает переключаться в состояние "Отключено".
У нас настроен Cisco ISG с посервисным аккаунтингом, при отключении сервиса у сессии обычно отключаются сервисы INTERNET и LOCAL и включается REDIRECT, после чего сессия переходит в состояние "Отключено". Но в данном случае этого не происходит.

Начали разбираться и выяснили, что при закрытии договора вызывается connectionModify, который отправляет на Cisco следующие CoA-запросы:
Код:
connection 04-22/01:12:37  INFO [sa-p-11-t-38] ISGServiceActivator - Send deactivate service CoA:
Packet type: CoA-Request
Identifier: 241
Authenticator: {42 89 0E 27 D6 56 D7 28 1B 00 BD B7 02 0F 9E BA}
Attributes:
  User-Name=XXX
  Acct-Session-Id=0/1/0/2281.1263_03764390
  cisco-avpair=subscriber:service-name=LOCAL_SIMPLE
  cisco-avpair=subscriber:command=deactivate-service

connection 04-22/01:12:37  INFO [sa-p-11-t-38] ISGServiceActivator - Send deactivate service CoA:
Packet type: CoA-Request
Identifier: 242
Authenticator: {F0 BB 8F 2C DF E7 9A 2D A2 9D E7 62 80 A9 EF 6A}
Attributes:
  User-Name=XXX
  Acct-Session-Id=0/1/0/2281.1263_03764390
  cisco-avpair=subscriber:service-name=INTERNET_30mbps
  cisco-avpair=subscriber:command=deactivate-service

connection 04-22/01:12:37  INFO [sa-p-11-t-38] ISGServiceActivator - Send activate service CoA:
Packet type: CoA-Request
Identifier: 243
Authenticator: {E6 22 40 49 35 C4 D5 EC 73 DB 9C A0 25 99 3C 07}
Attributes:
  User-Name=XXX
  Acct-Session-Id=0/1/0/2281.1263_03764390
  cisco-avpair=subscriber:service-name=REDIRECT_SIMPLE
  cisco-avpair=subscriber:command=activate-service


Но ответа на эти запросы никакого нет, лишь через некоторое время появляется следующее:
Код:
connection 04-22/01:12:42  INFO [sa-p-11-t-38] EventWorker - Timeout waiting futures

connection 04-22/01:12:42 ERROR [sa-p-11-t-38] AcknowledgeConsumer - java.util.concurrent.TimeoutException
ru.bitel.bgbilling.common.BGException: java.util.concurrent.TimeoutException
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:181)
        at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:75)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalDoTask(EventWorker.java:177)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:75)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:179)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:113)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:117)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
Caused by: java.util.concurrent.TimeoutException
        ... 18 more

Правда я на 100% не уверен, что это таймаут именно по нужным запросам.

В дебаге на Cisco видно, что запросы приходят, но из подозрительного там только:
Код:
COA: Message Authenticator missing or failed decode

В итоге запросы ушли, на Cisco пришли, но сервисы на Cisco при этом остались и никакого ответа на запросы нет. Очень странная ситуация, особенно если учесть, что большая часть запросов обрабатывается нормально.

Для решения пробовали добавить в запрос Message-Authenticator следующим образом:
Код:
sa.radius.coa.attributes=Message-Authenticator=0x00

Аутентификатор в запрос добавился, но имел неправильную длину и вообще, после такого его добавления радиус пакет очень печально выглядел. Другого способа добавить аутентификатор я не нашёл, да и не уверен, что в нём проблема.

Дальше пробовал отключить сессию, отправляя событие:
Код:
ep.publish(new InetSaStateModifyEvent(moduleId, contractId, userId, deviceId, servId, connectionId, (short) 0, 44));

но ситуация повторилась и сессия не отключилась. В итоге, сессию можно отключить лишь разорвав её.

Проблема вроде как и не связана с биллингом напрямую, но спросить больше негде. Есть ли у кого идеи, с чем всё это может быть связано и куда копать?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 16:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
В дебаге на Cisco видно, что запросы приходят, но из подозрительного там только
Те, на которые биллинг не получил ответа - тоже видно в логах Cisco?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 16:42 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Запросы без ответа тоже в логах видны... Если бы было так просто... Когда аутентификатор добавлял, вот тогда не видны были.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 18:07 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А в InetServiceAccess при этом все нормально, запросы не пропускает? Cisco же с него получает информацию о сервисах ISG?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 19:02 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
InetServiceAccess - это что такое и как посмотреть, всё ли в нём хорошо?

В момент отправки запросов никаких проблем не видно. В tcpdump'е запросы видно, на Cisco тоже видно. Такое ощущение, что Cisco их игнорит по неизвестной причине. Ведь после получения запросов сервисы на Cisco никак не изменяются. Если бы они изменились, а биллинг бы не увидел этих изменения, было бы проще, но это не так.

Биллинг здесь как бы ни при чём. По крайней мере мне так кажется.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 19:10 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
InetServiceAccess - имел ввиду отдельный InetAccess, который отвечает на авторизационные запросы Cisco для сервисов ISG.
Те, у которых User-Name=INTERNET_30mbps, например. Подумал, что может быть Inet на них иногда не очень быстро отвечает.
Видимо у вас этим занимается тот же самый InetAccess, либо параметры сервисов ISG заведены локально на Cisco.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 22 апр 2014, 19:47 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Сервисы типа INTERNET_30mbps авторизуются в биллинге, просто они уже все есть в "кеше" циски и дополнительные запросы не отправляются.

REDIRECT_SIMPLE уже назначен некоторым сессиям, поэтому он не грузится, INTERNET_30mbps и LOCAL_SIMPLE тоже есть. И, опять же, у части абонентов всё нормально проходит, а у маленькой части - проблемы.

Но идея интересная. Попробую понаблюдать за тем, какие сервисы отключаются/включаются. Может быть проблемы с конкретным сервисом.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 23 апр 2014, 12:47 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Проанализировал сервисы у проблемных абонентов и оказалось, что у всех абонентов нет сервисов INTERNET_*, а есть только LOCAL_SIMPLE. При этом по сервисам INTERNET_* не идёт аккаунтинг. На циске все необходимые сервисы на сессии есть и трафик по ним считается. Из странного вот это:
Код:
Configuration Sources:
Type  Active Time  AAA Service ID  Name
SVC   1w1d         4026537347      LOCAL_SIMPLE
SVC   1w5d         2466320359      PORTAL_SIMPLE
SVC   1w1d         4026537347      INTERNET_20mbps
USR   1w5d         -               Peruser
INT   1w5d         -               Virtual-Template2

Видно, что "AAA Service ID" совпадает для LOCAL_SIMPLE и INTERNET_20mbps. я так думаю, от этого все проблемы. Может кто знает, с чем это связано?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [5.2] Проблема с обработкой CoA
СообщениеДобавлено: 17 июл 2014, 18:04 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Обновили циски. Уже больше месяца проблема не повторяется, но пока ждём...

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


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

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


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

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


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

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