Class RadiusPacket
java.lang.Object
ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
ru.bitel.bgbilling.kernel.network.radius.RadiusPacket
- All Implemented Interfaces:
Cloneable
Радиус пакет. Этот класс расширяет набор атрибутов
RadiusAttributeSet
.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Класс, объекты которого используются для установкиsetOption(RadiusPacketOption, Object)
и для полученияgetOption(RadiusPacketOption)
. -
Field Summary
Modifier and TypeFieldDescriptionstatic final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
protected byte[]
Для пришедшего запроса это authenticator который хранится в запросе,
для создаваемого запроса - null.static final byte
static final byte
static final byte
static final byte
static final byte
static final byte
final byte
Идентификатор пакета.protected final byte[]
Атрибут для подписи пакетаRadiusDictionary.Message_Authenticator
.
Используется в EAP.static final byte
static final byte
static final byte
protected final byte[]
Для создаваемого ответа - это authenticator запроса.static final byte
static final byte
Fields inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
standartAttributes, vendorAttributes
-
Constructor Summary
ModifierConstructorDescriptionRadiusPacket
(byte code, byte identifier) Создание радиус пакета (запрос).protected
RadiusPacket
(byte code, byte identifier, byte[] requestAuthenticator, byte[] authenticator, byte[] messageAuthenticator, Map<Integer, List<RadiusAttribute<?>>> standartAttributes, Map<Integer, Map<Integer, List<RadiusAttribute<?>>>> vendorAttributes, Map<String, Object> optionMap) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addOptions
(RadiusPacket request) clone()
Создание пакета-ответа из пакета-запроса.void
fromPacket
(RadiusPacket lastResponsePacket) byte[]
byte
getCode()
Получение типа пакета (например,ACCESS_REQUEST
ACCOUNTING_REQUEST
).Deprecated.<O> O
getOption
(RadiusPacket.RadiusPacketOption<O> option) Получение опции(атрибута) из пакета.<O> O
getOption
(RadiusPacket.RadiusPacketOption<O> option, O value) Получение опции(атрибута) из пакета.Получение названия типа radius-пакетаgetTrace()
boolean
static RadiusPacket
parse
(ByteBuffer bb) Парсинг пакета из ByteBuffer.static RadiusPacket
parse
(ByteBuffer byteBuffer, boolean move) Парсинг пакета из ByteBuffer.void
setCode
(byte code) Установка типа пакета.void
Deprecated.<O> void
setOption
(RadiusPacket.RadiusPacketOption<O> option, O value) Установка опции в пакет.toString()
void
write
(ByteBuffer bb, byte[] key) Сериализация пакета в ByteBuffer.Methods inherited from class ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet
addAttribute, addAttributes, contains, equals, getAttribute, getAttributes, getAttributeValue, getAttributeValue, getByteAttribute, getIntAttribute, getRadiusAttributeSet, getRadiusAttributeSet, getStringAttribute, getStringAttribute, isEmpty, newRadiusAttributeRealmMap, newRadiusAttributeSet, newRadiusAttributeSet, newRadiusAttributeSetMap, newRadiusAttributeSetRealmMap, removeAttributes, setAttribute, setAttributes, setAttributes, setByteAttribute, setIntAttribute, setStringAttribute, toString
-
Field Details
-
ACCESS_REQUEST
public static final byte ACCESS_REQUEST- See Also:
-
ACCESS_ACCEPT
public static final byte ACCESS_ACCEPT- See Also:
-
ACCESS_REJECT
public static final byte ACCESS_REJECT- See Also:
-
ACCOUNTING_REQUEST
public static final byte ACCOUNTING_REQUEST- See Also:
-
ACCOUNTING_RESPONSE
public static final byte ACCOUNTING_RESPONSE- See Also:
-
ACCOUNTING_STATUS
public static final byte ACCOUNTING_STATUS- See Also:
-
PASSWORD_REQUEST
public static final byte PASSWORD_REQUEST- See Also:
-
PASSWORD_ACCEPT
public static final byte PASSWORD_ACCEPT- See Also:
-
PASSWORD_REJECT
public static final byte PASSWORD_REJECT- See Also:
-
ACCOUNTING_MESSAGE
public static final byte ACCOUNTING_MESSAGE- See Also:
-
ACCESS_CHALLENGE
public static final byte ACCESS_CHALLENGE- See Also:
-
STATUS_SERVER
public static final byte STATUS_SERVER- See Also:
-
STATUS_CLIENT
public static final byte STATUS_CLIENT- See Also:
-
DISCONNECT_REQUEST
public static final byte DISCONNECT_REQUEST- See Also:
-
DISCONNECT_ACK
public static final byte DISCONNECT_ACK- See Also:
-
DISCONNECT_NAK
public static final byte DISCONNECT_NAK- See Also:
-
CoA_REQUEST
public static final byte CoA_REQUEST- See Also:
-
CoA_ACK
public static final byte CoA_ACK- See Also:
-
CoA_NAK
public static final byte CoA_NAK- See Also:
-
ACCOUNTING_STATUS_START
public static final byte ACCOUNTING_STATUS_START- See Also:
-
ACCOUNTING_STATUS_STOP
public static final byte ACCOUNTING_STATUS_STOP- See Also:
-
ACCOUNTING_STATUS_UPDATE
public static final byte ACCOUNTING_STATUS_UPDATE- See Also:
-
identifier
public final byte identifierИдентификатор пакета. -
requestAuthenticator
protected final byte[] requestAuthenticatorДля создаваемого ответа - это authenticator запроса. -
authenticator
protected byte[] authenticatorДля пришедшего запроса это authenticator который хранится в запросе,
для создаваемого запроса - null. -
messageAuthenticator
protected final byte[] messageAuthenticatorАтрибут для подписи пакетаRadiusDictionary.Message_Authenticator
.
Используется в EAP.
-
-
Constructor Details
-
RadiusPacket
-
RadiusPacket
public RadiusPacket(byte code, byte identifier) Создание радиус пакета (запрос).- Parameters:
code
- - тип пакета (например, 0x28)identifier
- - идентификатор пакета.
-
-
Method Details
-
getCode
public byte getCode()Получение типа пакета (например,ACCESS_REQUEST
ACCOUNTING_REQUEST
).- Returns:
-
setCode
public void setCode(byte code) Установка типа пакета.- Parameters:
code
-
-
isRequest
public boolean isRequest() -
write
Сериализация пакета в ByteBuffer.- Parameters:
bb
- - буферkey
- - секрет наса.- Throws:
InvalidKeyException
NoSuchAlgorithmException
-
parse
Парсинг пакета из ByteBuffer.- Parameters:
bb
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
parse
public static RadiusPacket parse(ByteBuffer byteBuffer, boolean move) throws ru.bitel.bgbilling.common.BGException Парсинг пакета из ByteBuffer.- Parameters:
byteBuffer
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
createResponse
Создание пакета-ответа из пакета-запроса.- Returns:
-
getOption
Получение опции(атрибута) из пакета. Если такая опция не была установлена - метод вернет null.- Parameters:
option
-- Returns:
- See Also:
-
setOption(RadiusPacketOption, Object)
VoiceIpNas.CALL_TYPE
VoiceIpNas.OPERATOR
RadiusPacket.RadiusPacketOption
-
getOption
Получение опции(атрибута) из пакета. Если такая опция не была установлена - метод вернет value.- Parameters:
option
-value
- - значение по умолчанию- Returns:
- See Also:
-
setOption(RadiusPacketOption, Object)
VoiceIpNas.CALL_TYPE
VoiceIpNas.OPERATOR
RadiusPacket.RadiusPacketOption
-
setOption
Установка опции в пакет.- Parameters:
option
-value
-- See Also:
-
VoiceIpNas.CALL_TYPE
VoiceIpNas.OPERATOR
RadiusPacket.RadiusPacketOption
-
toString
- Overrides:
toString
in classRadiusAttributeSet
-
getPacketTypeString
Получение названия типа radius-пакета- Returns:
- тип пакета
-
fromPacket
-
getTrace
-
getOption
Deprecated.Для обратной совместимости со скриптами- Parameters:
option
-- Returns:
-
setOption
Deprecated.Для обратной совместимости со скриптами- Parameters:
option
-value
-
-
clone
-
getAuthenticator
public byte[] getAuthenticator() -
addOptions
-