4.4 Terminating a Session
Terminating a session follows a similar protocol handshake as that of establishing a session (see section 4.1).
A session is terminated by the primary partner sending a TearDownContext call to the secondary partner. In response, the secondary partner sends a TearDownContext call to the primary partner. When the primary partner returns success to the TearDownContext call from the secondary partner, the secondary partner returns success to the primary partner's TearDownContext call. Because the first TearDownContext call in the sequence originates from the primary partner, the secondary partner is only allowed to initiate teardown of a session with the primary partner by calling BeginTearDown, which instructs the primary partner to send a TearDownContext call to the secondary partner.