3.14 Setting Announcement Receiver Details

 After the Remote Assistance session has begun, settings concerning the Remote Assistance session can be exchanged with the remote computer. The expert SHOULD initiate an exchange of settings by sending out the local value for a setting that is considered relevant to the Remote Assistance session that has begun. The novice SHOULD send the local value of a setting in response to receiving a setting announcement.

Based on the setting that was changed, the expert and the novice MAY send additional messages or update their internal state. If a session was initiated using PNRP (as specified in [MS-RAIOP] sections 3.1, 3.2, 3.3, and 3.4), in version 3, the expert MUST announce their Contact Exchange setting. After the expert receives the novice's Contact Exchange setting, the expert MUST compare the local and remote values for this setting. If they are both set to "1", the expert MUST initiate an internal data transfer (see file transfer (section 3.9)) of their contact information (as specified in section 2.2.5). After the novice has received the expert's contact information, the novice MUST send their contact information to the expert as an internal data transfer.

When generating contact information, version 3 creates a peer identity, a public/private key pair, as specified in [RFC8017]. Then, the peer identity is converted into a peer name as specified in [MS-PNRP] section 1.3.1.1. "RAContact" is used as the classifier. The peer name is used to populate the ADDRESS attribute of the RAINVITATIONITEM node. The image used for the contact and the public key from peer identity are converted from binary into base64 strings and used to populate AVATAR and PUBLICKEY respectively.