3.2.7.1 Session Timeout Timer

  1. If the Session Timeout Timer expires and "disconnect on session timeout" is configured at the RDG server, then review the following.

    1. If the ADM element Negotiated Capabilities contains TSG_NAP_CAPABILITY_IDLE_TIMEOUT, then the RDG server MUST disconnect the session by sending the final response of the TsProxySetupReceivePipe method with the HRESULT_CODE(E_PROXY_SESSIONTIMEOUT) error code.

    2. If the ADM element Negotiated Capabilities doesn't contain TSG_NAP_CAPABILITY_IDLE_TIMEOUT, then the RDG server MUST disconnect the session by sending the final response of the TsProxySetupReceivePipe method with the HRESULT_CODE(E_PROXY CONNECTIONABORTED) error code.

  2. Otherwise, if this timer expires and "reauthentication on session timeout" is configured at the RDG server, the RDG server MUST initiate the reauthentication connection as follows:

    1. The RDG server MUST set the ADM element Reauthentication Status to None.

    2. The RDG server MUST start the Reauthentication Timer.

    3. If there is no waiting TsProxyMakeTunnelCall call, do nothing.

    4. If there is a waiting TsProxyMakeTunnelCall call:

      1. The RDG server MUST set the packetId member of the TSGPacketResponse out parameter of TsProxyMakeTunnelCall to TSG_PACKET_TYPE_MESSAGE_PACKET.

      2. The RDG server MUST set TSGPacketResponse->packetMsgResponse->msgType to TSG_ASYNC_MESSAGE_REAUTH.

      3. The RDG server MUST initialize TSGPacketResponse->packetMsgResponse->messagePacket.reauthMessage->tunnelContext by the ADM element Reauthentication Tunnel Context.

      4. The RDG server MUST complete the waiting TsProxyMakeTunnelCall with error code ERROR_SUCCESS.