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

[РЕШЕНО] Сессии дублируються
http://forum.bitel.ru/viewtopic.php?f=44&t=8058
Страница 1 из 1

Автор:  zavndw [ 21 май 2013, 09:40 ]
Заголовок сообщения:  [РЕШЕНО] Сессии дублируються

Как правильно распорядиться с опцией radius.connection.checkDuplicate=0 что бы сессии не дублировались?
ConID разный

Автор:  Amir [ 21 май 2013, 12:03 ]
Заголовок сообщения:  Re: Сессии дублируються

А каким образом они дублируются?

Автор:  zavndw [ 21 май 2013, 13:52 ]
Заголовок сообщения:  Re: Сессии дублируються

просто висит 2 сессии

Вложения:
21.05.2013.jpg
21.05.2013.jpg [ 109.41 КБ | Просмотров: 3394 ]

Автор:  Amir [ 21 май 2013, 14:13 ]
Заголовок сообщения:  Re: Сессии дублируються

А время активности у одной старое? Если так - то одна из них подвисшая, т.е. стоп пакет не пришел/не обработался.
Она закроется через connection.close.timeout после последнего полученного update-пакета.

radius.connection.checkDuplicate=0 нужен, когда на сервисе (логине) стоит ограничение на количество сессий в одну. В этом случае, если сессия подвисла, то пользователя не пустит, т.к. биллинг думает, что у него уже есть одна сессия. При radius.connection.checkDuplicate, попытке подключения и ошибке ограничения количества сессий дополнительно среди активных сессий происходит поиск сессии с таким же callingStationId и дальше по документации:
Цитата:
1 - осуществляется попытка закрытия старой сессии (connectionClose), 2 - попытка закрытия сессии (connectionClose) и завершение ее в базе, не дожидаясь стоп пакета, 3 - завершение в базе.

Дополнительно, при закрытии сессии по таймауту connection.close.timeout и connection.close.timeout.forceClose=1 происходит попытка (на всякий случай) сбросить сессию на NAS'е.

Автор:  zavndw [ 21 май 2013, 16:50 ]
Заголовок сообщения:  Re: Сессии дублируються

да она зависшая т/к/ время активности старое
поставил connection.close.timeout поменьше посмотрю что получиться

Автор:  Amir [ 21 май 2013, 17:00 ]
Заголовок сообщения:  Re: Сессии дублируються

Главное - не меньше, чем Acct-Interim-Interval :)
Мы рекомендуем ставить от двух Acct-Interim-Interval плюс ~1 минута.

Автор:  snark [ 03 июн 2013, 13:50 ]
Заголовок сообщения:  Re: Сессии дублируються

Amir писал(а):
При radius.connection.checkDuplicate, попытке подключения и ошибке ограничения количества сессий дополнительно среди активных сессий происходит поиск сессии с таким же callingStationId и дальше по документации:
Цитата:
1 - осуществляется попытка закрытия старой сессии (connectionClose), 2 - попытка закрытия сессии (connectionClose) и завершение ее в базе, не дожидаясь стоп пакета, 3 - завершение в базе.

Можно ли сделать так, что если в конфиге стоит 1, то сначала пытаемся закрыть сессию, если сессию закрыть не удалось (такой сессии нет, она зависшая, но механизм таймаута еще не отработал) - срабатывает 2?
Т.е. типа:
Код:
if (1 = error) {
    if (2 = error) {
        if (3 = error) {
            sendError("c'est la vie");
        }
    }
}

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