3.1.5.5 Receiving IDENTIFY TIP Command

When the TIP transaction manager facet receives an IDENTIFY TIP command object, it MUST contain the following parameters in its Parameter List:

  • lowest protocol version

  • highest protocol version

  • primary transaction manager address

  • secondary transaction manager address

Upon receipt, the TIP transaction manager facet MUST perform the following actions:

  • Test whether the receiving TIP connection object meets the following conditions:

    • The Connection Type field is set to Secondary.

    • The State field is set to Initial.

  • If the receiving TIP connection does not satisfy these conditions, signal the Invalid TIP Command event (section 3.1.7.1) and terminate the processing of this event.

  • If the provided primary transaction manager address is not set to "-":

    • Set the Partner Transaction Manager Address field of the receiving TIP connection to the provided primary transaction manager address.

    • If the value of the Allow Different Partner Address flag is set to FALSE and the provided primary transaction manager address does not match the address from which the connection originated, signal the Invalid TIP Command event (section 3.1.7.1) and terminate the processing of this event.

    • If Allow Non-Default Port is set to FALSE and the sender's Port referenced by the Transport Connection is not set to 3372, signal the Invalid TIP Command event (section 3.1.7.1) and terminate the processing of this event.

  • Test whether the provided values meets one of the following conditions:

    • The provided lowest protocol version is set to a value less than or equal to the maximum supported TIP Protocol version of the Local TIP transaction manager facets.<5>

    • The provided highest protocol version is set to a value greater than or equal to the minimum supported TIP Protocol version of the local TIP transaction manager facets.<6>

  • If the provided values do not satisfy one of the conditions:

  • Set the State field of the receiving TIP connection object to Idle.

  • Send an IDENTIFIED (as specified in [RFC2371] section 13) TIP command with the following argument:

    • The lesser between the provided highest protocol version and the maximum supported TIP Protocol version of the local TIP transaction manager facets.