4.2 Bandwidth Admission Control Message Flow with Sufficient Bandwidth

The following diagram shows the bandwidth admission control message flow for the network deployment described in section 4.1, where WAN Link1, between Network Site1 and Network Site2, has the full 1.54 megabytes of bandwidth available for use. TURN Client1 is attempting to make a voice call to TURN Client2 over WAN link1. The voice call requires between 64 kilobytes and 128 kilobytes of network bandwidth.

Bandwidth admission control message flow when sufficient bandwidth is available

Figure 4: Bandwidth admission control message flow when sufficient bandwidth is available

  1. Client1 allocates a public transport from the TURN server following the procedures described in [MS-TURN] section 3.2.4.1. Client1’s relay transport address allocated by the TURN server is 192.0.2.20:55667. Client1 adds the relay transport address, along with its local transport address 10.0.0.1:12345, to the SDP of the SIP INVITE and sends the SIP INVITE to TURN Client2.

  2. When Client2 receives the SIP INVITE from Client1, it knows both the local transport address and the relay transport address of Client1. Client2 can now do a bandwidth check with the TURN server to verify the availability of network bandwidth between itself and Client1. It follows the procedure specified in section 3.2.4.1 to check for bandwidth admission control. It uses the following attributes in the Allocate Request carrying the Reservation Check message:

    1. Bandwidth Admission Control Message attribute with a value of "Reservation Check".

    2. A Remote Site Address attribute containing Client1’s local transport address XOR’d with the TURN message Transaction ID (specified in [MS-TURN] section 2.2.1).

    3. A Remote Relay Site Address attribute containing Client1’s relay transport address XOR’d with the TURN message Transaction ID (specified in [MS-TURN] section 2.2.1).

    4. A Local Site Address attribute containing Client2’s local transport address XORed with the TURN message Transaction ID (specified in [MS-TURN] section 2.2.1).

    5. A Bandwidth Reservation Amount attribute with a value of 64 kilobytes for the minimum send/receive bandwidth and 128 kilobytes for the maximum send/receive bandwidth.

    6. A MS-Service Quality attribute with a stream type of "Audio" and a service quality of "best effort delivery".

    7. A Location Profile attribute with the Peer-Location set to "Intranet", the Self-Location set to "Intranet" and Federation set to "Not Federated".

  3. When the server (2) receives the Allocate Request message containing the Reservation Check, it follows the procedure specified in section 3.3.5.1 to determine if there is bandwidth available between Client1 and Client2. In this case, Client1’s local transport address maps to network site1, Client1’s relay transport address maps to network site1, Client2’s local transport address maps to network site2, and Client2’s relay transport address maps to network site1.

    1. The server (2) checks the network path for each of the site addresses included in the Reservation Check request:

      1. The server (2) checks the path between the Remote Site Address and the Remote Relay Site Address. Because both of these addresses map into the same network site, there are no bandwidth management constraints on that path and it is considered a valid network path. The server (2) marks the Remote Relay Site Address as valid for the full bandwidth amount, which is 128 kilobytes.

      2. The server (2) checks the path between the Local Site Address and the Local Relay Site Address. In this case, the Local Site Address maps to network site2 but the Local Relay Site Address maps to network site1 and there is a bandwidth managed link, WAN link1, between these sites. The server (2) checks the amount of bandwidth requested in the Bandwidth Reservation Amount attribute against the amount of bandwidth currently available on WAN link1. Because this is the first call over this link there is still 1.54 megabytes available. The bandwidth amount being requested is 64 kilobytes-128 kilobytes, so the server (2) marks the Local Relay Site Address as valid for the full bandwidth amount, which is 128 kilobytes.

      3. The server (2) checks the path between the Local Site Address and the Remote Site Address. In this case, the Local Site Address maps to network site2 but the Remote Site Address maps to network site1 and there is a bandwidth managed link, WAN link1, between these sites. The server (2) checks the amount of bandwidth requested in the Bandwidth Reservation Amount attribute against the amount of bandwidth currently available on WAN link1. Because this is the first call over this link, there is still 1.54 megabytes available. The bandwidth amount being requested is 64 kilobytes-128 kilobytes, so the server (2) marks both the Local Site Address and Remote Site Address as valid for the full bandwidth amount, which is 128 kilobytes.

    2. The server (2) replies to Client2 with an Allocate Response message and includes the following attributes:

      1. A Bandwidth Admission Control Message attribute with a value of "Reservation Check".

      2. A Remote Site Address Response attribute with the Valid flag set (V="1") and a value of 128 kilobytes for the bandwidth amount value.

      3. A Remote Relay Site Address Response attribute with a Valid flag set (V="1") and a value of 128 kilobytes for the bandwidth amount value.

      4. A Local Site Address Response attribute with the Valid flag set (V="1") and a value of 128 kilobytes for the bandwidth amount value.

      5. A Local Relay Site Address Response attribute with the Valid flag set (V="1") and a value of 128 kilobytes for the bandwidth amount values.

  4. When Client2 receives the Allocate Response message with the Reservation Check results, it follows the procedure specified in section 3.2.5.1 to determine which transport addresses can be used for the media stream. Because all network paths between both clients are marked as valid, it includes both its local and relay transport addresses in the SDP included in the SIP 200 OK message sent to Client1. In parallel, Client2 begins to explore the connectivity paths with Client1’s local and relay transport addresses.

  5. When Client1 receives the SIP 200 OK response that includes Client2’s transport addresses, it uses Client2’s transport addresses advertised in the SDP of the SIP 200 OK message to begin checking connectivity. In this example, Client1 and Client2 find that the best connectivity option is over each client’s local transport address. When Client1 finishes checking for connectivity, it sends a SIP re-INVITE to Client2 with SDP containing the local transport address.

  6. When Client2 receives the SIP re-INVITE from Client1, it uses the transport addresses advertised in the SDP along with the local transport addresses that passed the connectivity check to identify the network path over which the media stream will flow. In this example, the network path is between the local transport address of each client. Client2 uses these two transport addresses to do a Reservation Commit with the server (2). It follows the procedure specified in section 3.2.4.2 to commit a bandwidth admission control reservation. It uses the following attributes in the Allocate Request carrying the Reservation Commit message:

    1. A Bandwidth Admission Control Message attribute with a value of "Reservation Commit".

    2. A Remote Site Address attribute containing Client1’s local transport address XORed with the TURN message Transaction ID (specified in [MS-TURN] section 2.2.1).

    3. A Local Site Address attribute containing Client2’s local transport address XORed with the TURN message Transaction ID (specified in [MS-TURN] section 2.2.1).

    4. A Bandwidth Reservation Amount attribute with a value of 128 kilobytes for the minimum and maximum send/receive bandwidths.

    5. A MS-Service Quality attribute with a stream type of "Audio" and a service quality of "best effort delivery".

    6. A Location Profile attribute with the Peer-Location set to "Intranet", the Self-Location set to "Intranet" and Federation set to "Not Federated".

  7. When the server (2) receives the Allocate Request message containing the Reservation Commit, it follows the procedure specified in section 3.3.5.2 to commit the bandwidth reservation against the bandwidth policy for the network path specified by the site address attributes. In this example, the network path between the two clients is identified by the Local Site Address attribute and the Remote Site Address attribute, which map to WAN Link1. The server (2) commits 128 kilobytes, the amount of bandwidth from the Bandwidth Reservation Amount attribute, against the bandwidth policy covering WAN Link1. This leaves 1.412 megabytes (1.54 megabytes –128 kilobytes = 1.412 megabytes) of bandwidth available on WAN Link1. Once the server (2) has finished committing the bandwidth reservation against the bandwidth policy, it replies to Client2 in an Allocate Response message containing the following attributes:

    1. A Bandwidth Admission Control Message attribute with a value of Reservation Commit.

    2. A Bandwidth Reservation Identifier containing the reservation identifier created when the reservation was committed.

    3. A Bandwidth Reservation Amount attribute containing 128 kilobytes for the minimum/maximum send/receive bandwidth values.

  8. When Client2 receives the Allocate Response message with the Reservation Commit results, it follows the procedure specified in section 3.2.5.2 and stores the Reservation ID returned in the Bandwidth Reservation Identifier attribute. The Reservation ID is used in subsequent Reservation Update messages sent to the server (2).

  9. When the Reservation Update timer fires on Client2, it refreshes the bandwidth reservation with the server (2). The refresh follows the procedure specified in section 3.2.4.3. It uses the following attributes in the Allocate Request carrying the Reservation Update message:

    1. A Bandwidth Admission Control Message attribute with a value of "Reservation Update".

    2. A Bandwidth Reservation Identifier attribute with a Reservation ID value that matches the reservation id received in response to the original Reservation Commit message.

    3. A Bandwidth Reservation Amount attribute with the minimum/maximum send/receive bandwidth values set to 128 kilobytes, which is the amount of bandwidth reserved when the reservation was committed.

  10. When the server (2) receives the Allocate Request message containing the Reservation Update, it follows the procedure specified in section 3.3.5.3 to refresh the reservation. When the server (2) has reset the Bandwidth Reservation Lifetime timer, it replies to Client2 with an Allocate Response message containing the following attributes:

    1. A Bandwidth Admission Control Message attribute with a value of "Reservation Update".

    2. A Bandwidth Reservation Identifier containing the reservation identifier created when the reservation was committed.

    3. A Bandwidth Reservation Amount attribute with the minimum/maximum send/receive bandwidth values set to 128 kilobytes, which is the amount of bandwidth reserved when the reservation was committed.