Object/Trait

spinoco.protocol.stun

StunAttribute

Related Docs: trait StunAttribute | package stun

Permalink

object StunAttribute

Source
StunAttribute.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StunAttribute
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class AlternateServer(address: InetSocketAddress) extends StunAttribute with Product with Serializable

    Permalink

    The alternate server represents an alternate transport address identifying a different STUN server that the STUN client should try.

    The alternate server represents an alternate transport address identifying a different STUN server that the STUN client should try.

    https://tools.ietf.org/html/rfc5389#section-15.11

    address

    Address of the alternate server. Family must match the source request family.

  2. case class ErrorCode(cause: ErrorCause.Value, phrase: String) extends StunAttribute with Product with Serializable

    Permalink

    The ERROR-CODE attribute is used in error response messages.

    The ERROR-CODE attribute is used in error response messages.

    https://tools.ietf.org/html/rfc5389#section-15.6

    cause

    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].

    phrase

    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).

  3. case class FingerPrint(crc32: Long) extends StunAttribute with Product with Serializable

    Permalink

    The FINGERPRINT attribute MAY be present in all STUN messages.

    The FINGERPRINT attribute MAY be present in all STUN messages.

    https://tools.ietf.org/html/rfc5389#section-15.5

    crc32

    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).

  4. case class IceControlled(rnd: BigInt) extends StunAttribute with Product with Serializable

    Permalink

    The ICE-CONTROLLED attribute is present in a Binding request and indicates that the client believes it is currently in the controlled role.

    The ICE-CONTROLLED attribute is present in a Binding request and indicates that the client believes it is currently in the controlled role.

    https://tools.ietf.org/html/rfc5245#section-19.1

    rnd

    The content of the attribute is a 64-bit unsigned integer in network byte order, which contains a random number used for tie- breaking of role conflicts.

  5. case class IceControlling(rnd: BigInt) extends StunAttribute with Product with Serializable

    Permalink

    The ICE-CONTROLLING attribute is present in a Binding request and indicates that the client believes it is currently in the controlling role.

    The ICE-CONTROLLING attribute is present in a Binding request and indicates that the client believes it is currently in the controlling role.

    https://tools.ietf.org/html/rfc5245#section-19.1

    rnd

    The content of the attribute is a 64-bit unsigned integer in network byte order, which contains a random number used for tie- breaking of role conflicts.

  6. case class MappedAddress(address: InetSocketAddress) extends StunAttribute with Product with Serializable

    Permalink

    The MAPPED-ADDRESS attribute indicates a reflexive transport address of the client.

    The MAPPED-ADDRESS attribute indicates a reflexive transport address of the client.

    https://tools.ietf.org/html/rfc5389#section-15.1

    address

    Reflective address of the client

  7. case class MessageIntegrity(hash: ByteVector) extends StunAttribute with Product with Serializable

    Permalink

    The MESSAGE-INTEGRITY attribute contains an HMAC-SHA1 [RFC2104] of the STUN message.

    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.

    https://tools.ietf.org/html/rfc5389#section-15.4

    hash

    The key for the HMAC depends on whether long-term or short-term credentials are in use. For long-term credentials, the key is 16 bytes: key = MD5(username ":" realm ":" SASLprep(password)) That is, the 16-byte key is formed by taking the MD5 hash of the result of concatenating the following five fields: (1) the username, with any quotes and trailing nulls removed, as taken from the USERNAME attribute (in which case SASLprep has already been applied); (2) a single colon; (3) the realm, with any quotes and trailing nulls removed; (4) a single colon; and (5) the password, with any trailing nulls removed and after processing using SASLprep. For example, if the username was 'user', the realm was 'realm', and the password was 'pass', then the 16-byte HMAC key would be the result of performing an MD5 hash on the string 'user:realm:pass', the resulting hash being 0x8493fbc53ba582fb4c044c456bdc40eb. For short-term credentials: key = SASLprep(password) where MD5 is defined in RFC 1321 [RFC1321] and SASLprep() is defined in RFC 4013 [RFC4013].

  8. case class Nonce(nonce: String) extends StunAttribute with Product with Serializable

    Permalink

    The NONCE attribute may be present in requests and responses.

    The NONCE attribute may be present in requests and responses.

    https://tools.ietf.org/html/rfc5389#section-15.8

    nonce

    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.

  9. case class Priority(priority: Long) extends StunAttribute with Product with Serializable

    Permalink

    The PRIORITY attribute indicates the priority that is to be associated with a peer reflexive candidate, should one be discovered by this check.

    The PRIORITY attribute indicates the priority that is to be associated with a peer reflexive candidate, should one be discovered by this check.

    https://tools.ietf.org/html/rfc5245#section-19.1

    priority

    Priority of the candidate

  10. case class Realm(realm: String) extends StunAttribute with Product with Serializable

    Permalink

    The REALM attribute may be present in requests and responses.

    The REALM attribute may be present in requests and responses.

    https://tools.ietf.org/html/rfc5389#section-15.7

    realm

    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].

  11. case class Software(description: String) extends StunAttribute with Product with Serializable

    Permalink

    The SOFTWARE attribute contains a textual description of the software being used by the agent sending the message.

    The SOFTWARE attribute contains a textual description of the software being used by the agent sending the message.

    https://tools.ietf.org/html/rfc5389#section-15.10

    description

    Description of the software

  12. case class UnknownAttributes(attributes: Vector[Int]) extends StunAttribute with Product with Serializable

    Permalink

    The UNKNOWN-ATTRIBUTES attribute is present only in an error response when the response code in the ERROR-CODE attribute is 420.

    The UNKNOWN-ATTRIBUTES attribute is present only in an error response when the response code in the ERROR-CODE attribute is 420.

    https://tools.ietf.org/html/rfc5389#section-15.9

    attributes

    The attribute contains a list of 16-bit values, each of which represents an attribute type that was not understood by the server.

  13. case class UserName(authorization: String) extends StunAttribute with Product with Serializable

    Permalink

    The USERNAME attribute is used for message integrity.

    The USERNAME attribute is used for message integrity. It identifies the username and password combination used in the message-integrity check.

    https://tools.ietf.org/html/rfc5389#section-15.3

    authorization

    The value of USERNAME is a variable-length value. It MUST contain a UTF-8 [RFC3629] encoded sequence of less than 513 bytes, and MUST have been processed using SASLprep [RFC4013].

  14. case class XorMappedAddress(port: Int, address: ByteVector) extends StunAttribute with Product with Serializable

    Permalink

    The MAPPED-ADDRESS attribute indicates a reflexive transport address of the client.

    The MAPPED-ADDRESS attribute indicates a reflexive transport address of the client.

    https://tools.ietf.org/html/rfc5389#section-15.2

    port

    Port of Reflective address of the client

    address

    Contains address of the client in raw, xor-ed from. address can be decoded via decode function.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object UseCandidate extends StunAttribute with Product with Serializable

    Permalink

    The USE-CANDIDATE attribute indicates that the candidate pair resulting from this check should be used for transmission of media.

    The USE-CANDIDATE attribute indicates that the candidate pair resulting from this check should be used for transmission of media.

    https://tools.ietf.org/html/rfc5245#section-19.1

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped