Нормализация параметра Acct-Session-Id у маршрутизатора Cisco

Материал из BiTel WiKi

Версия от 14:56, 25 июня 2010; Max (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Столкнулся с такой проблемой:
Цыска не поддерживает PoD, а Биллинг почему то не сбрасывает клиентские сессии ПППоЕ по SNMP.
После детальных разборов стало ясно что цыска шлёт атрибут Acct-Session-Id=000000000000135B в таком формате, хотя на самой Cisco идентификатор сессиии был 135B. Попытался решить проблему поставив в конфигурации НАСа session.mode=hex12 (http://bgbilling.ru/v5.0/doc/ch03s08.html) однако идентификатор сессии на Cisco оказался плавающим и может составлять не 4 знака, а 5 или даже 6! Поэтому пришлось написать скрипт передобработки для радиус пакета
[code] import bitel.billing.server.radius.*;

acctSessionId = request.getStringAttribute(RadiusStandartAttributes.Acct_Session_Id); if( acctSessionId != null && acctSessionId.startsWith( "0" ) ) {

 request.setStringAttribute( RadiusStandartAttributes.Acct_Session_Id, acctSessionId.replaceFirst( "^[0]++", "" ) );

}

[/code]

Личные инструменты