Protocol Details The following sections specify details of the Remote Assistance Protocol, including basic Remote Assistance connection establishment, session initialization, file transfer, chat, share control, and voice abstract data models and message processing rules. There are three versions of the Remote Assistance protocol as described in section . Version 1 Version 2<1> Version 3<2> Implementations MUST support version 1 functionality. Implementations MAY<3> also support version 2 functionality with version 1. Implementations SHOULD<4> support the functionality of version 1, 2, and 3. The following table shows the protocol version negotiated based on the highest version supported by the expert and novice. The highest version that is supported by both the expert and novice is chosen. Expert—versions 1, 2, and Expert—version 1 only Expert—versions 1 and 2 3 Protocol is version 1. Expert uses version 1 based Expert uses version 1 based on Remote Assistance on Remote Assistance 1 Connection String 1.Novice Connection String 1.Novice only always uses version 1. always uses version 1. Expert always uses version 1. Expert uses version 2 based Expert uses version 2 on Novice uses version 1 after on Remote Assistance Remote Assistance receiving Connection String 2.Novice Connection String 2. Novice uses version 2 after receiving uses version 2 after receiving from the expert. the the 1 packet from the packet from the and 2 expert. expert. Expert always uses version Expert uses version 2 based Expert uses version 2 based 1.Novice uses version 1 after on Remote Assistance on Remote Assistance receiving Connection String 2.Novice Connection String 2. Novice uses version 2 after receiving uses version 2 after receiving from the expert. the the packet from the packet from the expert. expert. When the novice 1, initiates using Remote version 2, Assistance Initiation over and version PNRP protocol, the expert and 3 novice always use version 3. The novice and expert implementations determine the version of the protocol that will be used on the version(s) supported, the initiation method, and the version message as follows. Novice determination of the protocol version: A novice implementing version 1 only MUST use version 1 of the protocol. A novice implementing version 1 and 2 MUST determine the version of protocol to use based on the Remote Assistance initiation method used and the version message it receives from expert after the Remote Assistance Connection is established:
Protocol Details The following sections specify details of the Remote Assistance Protocol, including basic Remote Assistance connection establishment, session initialization, file transfer, chat, share control, and voice abstract data models and message processing rules. There are three versions of the Remote Assistance protocol as described in section . Version 1 Version 2<1> Version 3<2> Implementations MUST support version 1 functionality. Implementations MAY<3> also support version 2 functionality with version 1. Implementations SHOULD<4> support the functionality of version 1, 2, and 3. The following table shows the protocol version negotiated based on the highest version supported by the expert and novice. The highest version that is supported by both the expert and novice is chosen. Expert—version 1 only Expert—versions 1 and 2 Expert—versions 1, 2, and 3 1 only Protocol is version 1. Expert uses version 1 based on Remote Assistance Connection String 1.Novice always uses version 1. Expert uses version 1 based on Remote Assistance Connection String 1.Novice always uses version 1. 1 and 2 Expert always uses version 1. Novice uses version 1 after receiving from the expert. Expert uses version 2 based on Remote Assistance Connection String 2.Novice uses version 2 after receiving the packet from the expert. Expert uses version 2 on Remote Assistance Connection String 2. Novice uses version 2 after receiving the packet from the expert. 1, version 2, and version 3 Expert always uses version 1.Novice uses version 1 after receiving from the expert. Expert uses version 2 based on Remote Assistance Connection String 2.Novice uses version 2 after receiving the packet from the expert. Expert uses version 2 based on Remote Assistance Connection String 2. Novice uses version 2 after receiving the packet from the expert. When the novice initiates using Remote Assistance Initiation over PNRP protocol, the expert and novice always use version 3. The novice and expert implementations determine the version of the protocol that will be used on the version(s) supported, the initiation method, and the version message as follows. Novice determination of the protocol version: A novice implementing version 1 only MUST use version 1 of the protocol. A novice implementing version 1 and 2 MUST determine the version of protocol to use based on the Remote Assistance initiation method used and the version message it receives from expert after the Remote Assistance Connection is established: