FM.IceLink.Stun Namespace |
Class | Description | |
---|---|---|
AddressFamily |
A STUN address family.
| |
AlternateServerAttribute |
The alternate server represents an alternate transport address
identifying a different STUN server that the STUN client should try.
| |
Attribute |
A STUN attribute.
| |
BadRequestError |
The request was malformed. The client SHOULD NOT
retry the request without modification from the previous
attempt. The server may not be able to generate a valid
MESSAGE-INTEGRITY for this error, so the client MUST NOT expect
a valid MESSAGE-INTEGRITY attribute on this response.
| |
BindingIndication |
A STUN binding indication.
| |
BindingMessage |
A generic STUN binding message.
| |
BindingRequest |
A STUN binding request.
| |
BindingResponse |
A STUN binding response.
| |
Error |
Common functionality of various STUN/TURN server exceptions that occur while processing Allocation and Binding requests.
| |
ErrorCodeAttribute |
The ERROR-CODE attribute is used in error response messages. It
contains a numeric error code value in the range of 300 to 699 plus a
textual reason phrase encoded in UTF-8 [RFC3629], and is consistent
in its code assignments and semantics with SIP [RFC3261] and HTTP
[RFC2616]. The reason phrase is meant for user consumption, and can
be anything appropriate for the error code. Recommended reason
phrases for the defined error codes are included in the IANA registry
for error codes. The reason phrase MUST be a UTF-8 [RFC3629] encoded
sequence of less than 128 characters (which can be as long as 763
bytes).
| |
FingerprintAttribute |
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.
| |
IntegrityCheckFailureError |
431 Integrity Check Failure.
| |
MappedAddressAttribute |
The MAPPED-ADDRESS attribute indicates a reflexive transport address
of the client. It consists of an 8-bit address family and a 16-bit
port, followed by a fixed-length value representing the IP address.
If the address family is IPv4, the address MUST be 32 bits. If the
address family is IPv6, the address MUST be 128 bits. All fields
must be in network byte order.
| |
Message |
A STUN message.
| |
MessageIntegrityAttribute |
The MESSAGE-INTEGRITY attribute contains an HMAC-SHA1 [RFC2104] of
the STUN message. The MESSAGE-INTEGRITY attribute can be present in
any STUN message type. Since it uses the SHA1 hash, the HMAC will be
20 bytes. The text used as input to HMAC is the STUN message,
including the header, up to and including the attribute preceding the
MESSAGE-INTEGRITY attribute. With the exception of the FINGERPRINT
attribute, which appears after MESSAGE-INTEGRITY, agents MUST ignore
all other attributes that follow MESSAGE-INTEGRITY.
| |
MissingUsernameError |
432 Missing username; the username attribute is not present in the request.
| |
NonceAttribute |
The NONCE attribute may be present in requests and responses. It
contains a sequence of qdtext or quoted-pair, which are defined in
RFC 3261 [RFC3261]. Note that this means that the NONCE attribute
will not contain actual quote characters. See RFC 2617 [RFC2617],
Section 4.3, for guidance on selection of nonce values in a server.
| |
RealmAttribute |
The REALM attribute may be present in requests and responses. It
contains text that meets the grammar for "realm-value" as described
in RFC 3261 [RFC3261] but without the double quotes and their
surrounding whitespace. That is, it is an unquoted realm-value (and
is therefore a sequence of qdtext or quoted-pair). It MUST be a
UTF-8 [RFC3629] encoded sequence of less than 128 characters (which
can be as long as 763 bytes), and MUST have been processed using
SASLprep [RFC4013].
| |
ServerError |
500 Server Error. RFC5389. Indicates that the server has suffered a temporary error. The client should try again.
| |
SoftwareAttribute |
The SOFTWARE attribute contains a textual description of the software
being used by the agent sending the message. It is used by clients
and servers. Its value SHOULD include manufacturer and version
number. The attribute has no impact on operation of the protocol,
and serves only as a tool for diagnostic and debugging purposes. The
value of SOFTWARE is variable length. It MUST be a UTF-8 [RFC3629]
encoded sequence of less than 128 characters (which can be as long as
763 bytes).
| |
StaleCredentialsError |
430 Stale Credentials. The shared secret sent in the request is expired; the client should obtain a new shared secret.
| |
StaleNonceError |
438 Stale Nonce. RFC5389. Indicates that the NONCE used by the client was no longer valid. The client should retry, using the
NONCE provided in the response.
| |
TransactionTransmitCounterAttribute |
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved(Padding) | Req | Resp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Transaction Transmit Counter comprehension-optional STUN attribute.
| |
TryAlternateStunError |
The client should contact an alternate server for
this request. This error response MUST only be sent if the
request included a USERNAME attribute and a valid MESSAGE-
INTEGRITY attribute; otherwise, it MUST NOT be sent and error
code 400 (Bad Request) is suggested. This error response MUST
be protected with the MESSAGE-INTEGRITY attribute, and receivers
MUST validate the MESSAGE-INTEGRITY of this response before
redirecting themselves to an alternate server.
Note: Failure to generate and validate message integrity
for a 300 response allows an on-path attacker to falsify a
300 response thus causing subsequent STUN messages to be
sent to a victim.
| |
UnauthorizedStunError |
401 Unauthorized. RFC5389. Indicates that the request did not contain the correct
credentials to proceed. The client should retry the request with proper credentials.
| |
UnknownAttributeError |
420 Unknown Attribute. RFC5389. Indicates that the server received a STUN packet containing a comprehension-required
attribute that it did not understand. The server MUST put this unknown attribute in the UNKNOWN-ATTRIBUTE
attribute of its error response.
| |
UnknownAttributesAttribute |
The UNKNOWN-ATTRIBUTES attribute is present only in an error response
when the response code in the ERROR-CODE attribute is 420.
| |
UsernameAttribute |
The USERNAME attribute is used for message integrity. It identifies
the username and password combination used in the message-integrity
check.
| |
Utility |
STUN-wide methods.
| |
XorMappedAddressAttribute |
The XOR-MAPPED-ADDRESS attribute is identical to the MAPPED-ADDRESS
attribute, except that the reflexive transport address is obfuscated
through the XOR function.
|
Enumeration | Description | |
---|---|---|
MessageType |
The list of valid message types.
|