3.2.5.1 Receiving Allocate Response Messages

This section follows the product behavior as described in product behavior note<31> .

When a protocol client receives an Allocate response message, it MUST follow the procedure specified in [IETFDRAFT-TURN-08] section 8.4, with the following exceptions:

  • The response MUST be verified as specified in section 3.1.10.

  • The response MUST be authenticated as specified in section 3.1.11.

  • The response MUST include the XOR Mapped Address attribute, as specified in section 2.2.2.16.

  • The response SHOULD include the MS-Sequence Number attribute, as specified in section 2.2.2.21.

  • The response SHOULD include the MS-Version attribute, as specified in section 2.2.2.17.<32>

The public transport addresses allocated by the TURN server depend on the values of the MS-Version attribute, specified in section 2.2.2.17, and the Requested Address Family attribute, specified in section 2.2.2.15, in the associated Allocate request message.

  • If the associated Allocate request message did not include the MS-Version attribute, or if it included the MS-Version attribute with a value equal to or less than "0x03" (3), the response SHOULD include a Mapped Address attribute, as specified in section 2.2.2.1. This attribute identifies the IPv4 public transport address allocated by the TURN server.

  • If the associated Allocate request message included the MS-Version attribute with a value equal to or greater than "0x04" (4):<33>

    • If the associated Allocate request message included the Requested Address Family attribute with the Family value set to "0x01" (1) the response MUST include a Mapped Address attribute, as specified in section 2.2.2.1. This attribute identifies the IPv4 public transport address allocated by the TURN server.

    • If the associated Allocate request message included the Requested Address Family attribute with the Family value set to "0x02" (2) the response MUST include a Mapped Address attribute, as specified in section 2.2.2.1. This attribute identifies the IPv6 public transport address allocated by the TURN server.

    • If the associated Allocate request message did not include the Requested Address Family attribute:

      • If the TURN server was configured to support allocation of IPv4 addresses the response MUST include a Mapped Address attribute, as specified in section 2.2.2.1. This attribute identifies the IPv4 public transport address allocated by the TURN server.

      • If the TURN server was configured to support allocation of IPv6 addresses the response MUST include the MS-Alternate Mapped Address attribute, as specified in section 2.2.2.23. This attribute identifies the IPv6 public transport address allocated by the TURN server.

    • If the MS-Version attribute value was equal to or greater than "0x05" (5) and the TURN client is connected to the TURN server over UDP, the response MUST include a Multiplexed TURN Session ID attribute as specified in section 2.2.2.24.

    • If the MS-Version attribute value was equal to or greater than "0x06" (6) and the TURN client is connected to the TURN server over TCP, the response MUST include a Multiplexed TURN Session ID attribute as specified in section 2.2.2.24.

The protocol client can advertise the public transport addresses contained in the Mapped Address and MS-Alternate Mapped Address attributes as destination addresses to receive data over. The protocol client can use the transport address contained in the XOR Mapped Address to identify its public address as seen by the TURN server.