| FM.IceLink.Stun Namespace | 
 Classes
Classes| 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.
             | 
 Enumerations
Enumerations| Enumeration | Description | |
|---|---|---|
|  | MessageType | 
            The list of valid message types.
             |