|
static fm.liveswitch.stun.FingerprintAttribute | readValueFrom (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.DataBuffer messageBuffer) |
| Initializes a new instance of the fm.liveswitch.stun.FingerprintAttribute class. More...
|
|
static int | getAlternateServerType () |
| Gets the ALTERNATE-SERVER type. More...
|
|
static int | getChannelNumberType () |
| Gets the CHANNEL-NUMBER type. More...
|
|
static int | getConnectionIdType () |
| Gets the CONNECTION-ID type. More...
|
|
static int | getControlledType () |
| Gets the CONTROLLED type. More...
|
|
static int | getControllingType () |
| Gets the CONTROLLING type. More...
|
|
static int | getDataType () |
| Gets the DATA type. More...
|
|
static int | getDontFragmentType () |
| Gets the DONT-FRAGMENT type. More...
|
|
static int | getErrorCodeType () |
| Gets the ERROR-CODE type. More...
|
|
static int | getEvenPortType () |
| Gets the EVEN-PORT type. More...
|
|
static int | getFingerprintType () |
| Gets the FINGERPRINT type. More...
|
|
static int | getLifetimeType () |
| Gets the LIFETIME type. More...
|
|
static int | getMappedAddressType () |
| Gets the MAPPED-ADDRESS type. More...
|
|
static int | getMessageIntegrityType () |
| Gets the MESSAGE-INTEGRITY type. More...
|
|
static int | getNonceType () |
| Gets the NONCE type. More...
|
|
static int | getPriorityType () |
| Gets the PRIORITY type. More...
|
|
static int | getRealmType () |
| Gets the REALM type. More...
|
|
static int | getRequestedAddressFamilyType () |
| Gets the REQUESTED-ADDRESS-FAMILY type. More...
|
|
static int | getRequestedTransportType () |
| Gets the REQUESTED-TRANSPORT type. More...
|
|
static int | getReservationTokenType () |
| Gets the RESERVATION-TOKEN type. More...
|
|
static int | getSoftwareType () |
| Gets the SOFTWARE type. More...
|
|
static int | getTransactionTransmitCounterType () |
| Gets the comprehension-optional TRANSACTION_TRANSMIT_COUNTER type defined in RFC 7982. More...
|
|
static int | getUnknownAttributesType () |
| Gets the UNKNOWN-ATTRIBUTES type. More...
|
|
static int | getUseCandidateType () |
| Gets the USE-CANDIDATE type. More...
|
|
static int | getUsernameType () |
| Gets the USERNAME type. More...
|
|
static int | getXorMappedAddressType () |
| Gets the XOR-MAPPED-ADDRESS type. More...
|
|
static int | getXorPeerAddressType () |
| Gets the XOR-PEER-ADDRESS type. More...
|
|
static int | getXorRelayedAddressType () |
| Gets the XOR-RELAYED-ADDRESS type. More...
|
|
static int | nextLength (fm.liveswitch.DataBuffer buffer, int offset) |
| Reads the length of the next attribute from a data buffer, including header and padding. More...
|
|
static fm.liveswitch.stun.Attribute | readFrom (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.IntegerHolder offsetPlus, fm.liveswitch.DataBuffer transactionId, fm.liveswitch.DataBuffer messageBuffer) |
| Reads an fm.liveswitch.stun.Attribute from a data buffer. More...
|
|
static fm.liveswitch.stun.Attribute | readFrom (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.DataBuffer transactionId, fm.liveswitch.DataBuffer messageBuffer) |
| Reads an fm.liveswitch.stun.Attribute from a data buffer. More...
|
|
|
int | getValueLength () |
| Gets the length of the attribute value. More...
|
|
void | writeValueTo (fm.liveswitch.DataBuffer buffer, int offset) |
| Writes the attribute value to a data buffer. More...
|
|
| Attribute () |
|
void | writeIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType, String ipAddress) |
| Writes an IP address. More...
|
|
void | writePort (fm.liveswitch.DataBuffer buffer, int offset, int port) |
| Writes a port. More...
|
|
void | writeXorIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType, String ipAddress, fm.liveswitch.DataBuffer transactionId) |
| Writes an XOR'd IP address. More...
|
|
void | writeXorPort (fm.liveswitch.DataBuffer buffer, int offset, int port, fm.liveswitch.DataBuffer transactionId) |
| Writes an XOR'd port. More...
|
|
|
static fm.liveswitch.AddressType | readAddressType (fm.liveswitch.DataBuffer buffer, int offset) |
| Reads an address type. More...
|
|
static String | readIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType) |
| Reads an IP address. More...
|
|
static int | readPort (fm.liveswitch.DataBuffer buffer, int offset) |
| Reads a port. More...
|
|
static String | readXorIPAddress (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType, fm.liveswitch.DataBuffer transactionId) |
| Reads an XOR'd IP address. More...
|
|
static int | readXorPort (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.DataBuffer transactionId) |
| Reads an XOR'd port. More...
|
|
static void | writeAddressType (fm.liveswitch.DataBuffer buffer, int offset, fm.liveswitch.AddressType addressType) |
| Writes an address type. More...
|
|
The FINGERPRINT attribute MAY be present in all STUN messages.
The value of the attribute is computed as the CRC-32 of the STUN message up to (but excluding) the FINGERPRINT attribute itself, XOR'ed with the 32-bit value 0x5354554e (the XOR helps in cases where an application packet is also using CRC-32 in it). The 32-bit CRC is the one defined in ITU V.42 [ITU.V42.2002], which has a generator polynomial of x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1. When present, the FINGERPRINT attribute MUST be the last attribute in the message, and thus will appear after MESSAGE-INTEGRITY.