When a initiates or accepts a connection, the state field of the connection MUST be set to the Idle (section or section ) state. When the connection is disconnected, the state of the connection MUST be set to the Ended (section or section ) state. If a connection enters the Ended state and the connection is not disconnected, it MUST be disconnected. The preceding rules apply as specified in [MS-CMP] section 3.1.4, which provides more details about connection disconnection. Timers None. Initialization Related to protocol versioning, when a is initialized, it MUST do the following: Set the value of the Minimum Level 3 Version Number data field of the underlying transports protocol implementation to 1, as specified in section 3.2.3.1. If the protocol role implements version 1.0 of this protocol: The sets the Maximum Level 3 Version Number data field of the underlying transports protocol implementation to either 1 or 2. Both values have the same interpretation, as specified in . The sets the Maximum Level 3 Version Number of the underlying transports protocol to 1. Otherwise, if the role implements version 1.1 of this protocol: Set the Maximum Level 3 Version Number data field of the underlying transports protocol implementation to 4, 5, or 6. All three values have the same interpretation, as specified in Versioning Negotiation (section 3.1.8). All roles MUST satisfy the following set of rules regarding the initiation of a , as specified in : Both the initiator and the acceptor of a connection MUST follow the steps that are specified in section 3.1.4.2 to establish the connection. To initiate a connection between the , a MUST already be established between them, as specified in [MS-CMPO] section 3.4.6.1. When a new connection object is created (either for the initiator or for the acceptor): If the negotiated protocol version, as specified in Versioning Negotiation (section 3.1.8), version 1.0 of this protocol: The UsesVersion11 field of the connection MUST be set to FALSE. Otherwise, if the negotiated version of this protocol 1.1: The UsesVersionV11 field of the connection MUST be set to TRUE. Higher-Layer Triggered Events There are no common higher-layer triggered events.
A . If the Pull TIP Transaction event is signaled, the MUST perform the following actions: If the durable log of the is too full<8> to accept the provided transaction object: Signal the event on itself by using the following arguments: The transaction object The error reason code Using implementation-specific functionality, perform the of the that is identified by the that is specified by the RemoteTipTransactionUrl field of the transaction. If the TIP pull propagation operation is successful: Create a new enlistment object (as specified in section 3.1.3.1) by using the following values: TIP interoperability provider role as the Transaction Manager Facet, as specified in section . The transaction object. A null object. Signal the Create Transaction event (as specified in [MS-DTCO] section 3.2.7.13) on the Core Transaction Manager Facet using the following arguments: The Enlistment object. Otherwise, if the TIP pull propagation operation fails: Signal the TIP pull failure event on itself using the following arguments: The transaction object. A reason code that matches the cause of the failure, as follows: TIP Connect Error: If the failure was caused by a connectivity issue. Not Pulled: If the against which the pull was performed, replied with NOTPULLED. (For more information, see section 13.) TIP Error: If any other failure occurred. Push TIP Transaction The Push TIP Transaction event MUST be signaled by using the following arguments: A . An object that contains the contact information of the against which to push the . If the Push TIP transaction event is signaled, the interoperability provider MUST perform the following actions: Construct an object from the Identifier field of the transaction for which the was requested, and set the OurTipTxId field of the transaction object to be the OLETX_TIP_TX_ID object. The format of the szTxId field in the OLETX_TIP_TX_ID structure SHOULD be the nonstandard form of TIP transaction identifier formats specified in section 8. Optionally, the TIP Interoperability Provider
Index A Abstract data model - TIP interoperability application role 28 32 overview ( 28, 31) 28 provider role connection 28 39 38 overview ( 28, 38) 28 15 B 12 C 16 60 18 Connection types 20 18 18 D Data model - abstract - TIP interoperability application role 28 32 overview ( 28, 31) 28 provider role connection 28 39 38 overview ( 28, 38) 28 E Examples 52 propagation pull - TIP 52 52 53 52 push - TIP 54 54 55 54 F 16 G 7 H Higher-layer triggered events - TIP interoperability application role overview ( 30, 34) sending request 35 35 provider role ( 30, 42) 12 I 57 57 10 Initialization - TIP interoperability application role ( 29, 34) provider role 29 41 42 7 L Local events - TIP interoperability application role 30 overview ( 30, 38) provider role 30 overview ( 30, 45) M Message processing - TIP interoperability application role 36 30 provider role 42 30 Messages 18 connection types 20 18 18 18 18 17 17
17 17 17 17 17 18 N 10 O 18 19 11 P 57 15 15 58 18 Protocol Details 28 R 10 10 10 15 28 S Security 57 57 57 Sequencing rules - TIP interoperability application role 36 30 provider role 42 30 16 18 T Timer events - TIP interoperability application role ( 30, 38) provider role ( 30, 45) Timers - TIP interoperability application role ( 29, 34) provider role ( 29, 41) TIP interoperability application role abstract data model 28 32 overview ( 28, 31) 28 higher-layer triggered events overview ( 30, 34) sending request 35 35 initialization ( 29, 34) local events 30 overview ( 30, 38) message processing 36 30 overview ( 11, 28) sequencing rules 36 30 timer events ( 30, 38) timers ( 29, 34) 31 interoperability provider role abstract data model connection 28 39 38 overview ( 28, 38) 28 higher-layer triggered events ( 30, 42) initialization 29 41 42 local events 30 overview ( 30, 45) message processing 42 30 overview ( 11, 28) sequencing rules 42 30 timer events ( 30, 45) timers ( 29, 41) 31 11 11 pull propagation 52 52 53 52 push propagation 54 54 55 54 60 17 17 17 17 17