1.3.3.1 Host Migration
Host migration enables a set of voice clients to elect and create a new voice server to replace a voice server that has become unavailable.
A voice server can become unavailable either because connectivity is lost or because the voice server has chosen to be shut down. If the voice server chooses to shut down, it informs all clients that a host migration needs to take place. The DirectPlay layer is responsible for determining when connectivity has been lost. In either case, the voice clients run a host migration election to determine who will create the new voice server.
Each voice client is assigned a host order ID, which indicates its priority in determining who creates the new voice server. The voice client that has the lowest host order ID is elected to create the new voice server. The lowest host order ID typically belongs to the oldest voice client in the game session, and is therefore most likely to have the most up-to-date list of voice clients. This algorithm enables each voice client to run the algorithm separately. However, all come up with the same answer.
The elected voice client immediately creates the new voice server and initializes it by using the voice client list from the voice client. This new voice server informs everyone that it is ready to accept voice clients. Through the use of host migration, each voice client updates its Current Voice Server DVID (section 3.1.1) value to equal the DVID of the new voice server.
The following illustration shows the typical message flow of a successful host migration when the voice server has chosen to shut down.

Figure 2: Successful host migration sequence
Host migration needs to be enabled when the protocol is initialized. Voice clients determine that host migration is in use if the peer voice session subprotocol is being used and the SessionFlags field in the Connect Accept Message (section 2.2.3.2) does not contain the DVSESSION_NOHOSTMIGRATION (0x00000001) flag.