stun_rs::attributes

Module turn

source
Expand description

TURN attributes defined for TURN protocol RFC8656

Structs§

  • This attribute is used by clients to request the allocation of an IPv4 and IPv6 address type from a server. The AddtionalAddressFamily attribute MAY be present in the Allocate request. The attribute value of (IPv6 address) is the only valid value in Allocate request.
  • This attribute is used by servers to signal the reason for not allocating the requested address family.
  • The ChannelNumber attribute contains the number of the channel. The value portion of this attribute is 4 bytes long and consists of a 16-bit unsigned integer followed by a two-octet RFFU (Reserved For Future Use) field, which MUST be set to 0 on transmission and MUST be ignored on reception.
  • The DATA attribute is present in all Send indications. If the ICMP attribute is not present in a Data indication, it contains a DATA attribute. The value portion of this attribute is variable length and consists of the application data (that is, the data that would immediately follow the UDP header if the data was sent directly between the client and the peer). The application data is equivalent to the UDP user data and does not include the surplus area defined in Section 4 of UDP-OPT.
  • This attribute is used by the client to request that the server set the DF (Don’t Fragment) bit in the IP header when relaying the application data onward to the peer and for determining the server capability in Allocate requests
  • This attribute allows the client to request that the port in the relayed transport address be even and (optionally) that the server reserve the next-higher port number.
  • This attribute is used by servers to signal the reason a UDP packet was dropped.
  • The LifeTime attribute represents the duration for which the server will maintain an allocation in the absence of a refresh. The TURN client can include the LIFETIME attribute with the desired lifetime in Allocate and Refresh requests. The value portion of this attribute is 4 bytes long and consists of a 32-bit unsigned integral value representing the number of seconds remaining until expiration.
  • This attribute is used in Allocate and Refresh requests to specify the address type requested by the client
  • This attribute is used by the client to request a specific transport
  • The ReservationToken attribute contains a token that uniquely identifies a relayed transport address being held in reserve by the server. The server includes this attribute in a success response to tell the client about the token, and the client includes this attribute in a subsequent Allocate request to request the server use that relayed transport address for the allocation.
  • The XorPeerAddress attribute specifies the address and port of the peer as seen from the TURN server. (For example, the peer’s server- reflexive transport address if the peer is behind a NAT.)
  • The XOR-RELAYED-ADDRESS attribute is present in Allocate responses. It specifies the address and port that the server allocated to the client.

Type Aliases§

  • This type represents the value of the ICMP code. Its interpretation depends on whether the ICMP was received over IPv4 or IPv6. Valid values are in the range from 0 to 511.
  • This type represents the value of the ICMP type. Its interpretation depends on whether the ICMP was received over IPv4 or IPv6. Valid values are in the range from 0 to 127.