I've understood masterSlaveDetermination procedure goes as follows:
- EP1 sends mSD message with a value specific to it and also the random
number. 2. EP2 sends back an mSDAck with slave/master info (after comparing its own and EP1's related info). 3. EP1 yet sends mSDAck to EP2 with slave/master info.
Question: Could someone try to explain the reasoning behind the "third message", that is, what is it needed for?
Manoj wrote
Step 3 is needed because EP2 needs to know if the result of the present instance of MSD procedure is known to EP1. EP2 can not initiate those procedures which rely on the knowledge of the MSD result, until it has received confirmation that EP1 terminal also has knwoledge of the result of the current MSD Preocedure. That's why Step 3 is required.
If the MSDAck doesn't reach EP1, EP1 will send MSDRelease to EP2.
In Terminal Capability exchange also we can not initiate those procedures which rely on Terminal Capability. We don't have step 3 there. Then Why a special 3rd step in MSD?
regards Bose