Recommendation Q.772
TRANSACTION CAPABILITIES INFORMATION ELEMENT DEFINITIONS
1	General
	This Recommendation describes the individual information elements and parameters used within Transaction Capabilities messages. The encoding and formatting of these elements are shown in Recommendation Q.773.
	The meaning of each information element is described in general terms.
	For TC based upon a connectionless network service, the current TC is equivalent to the Transaction Capabilities Application Part (TCAP).
	The TCAP message format consists of two parts, namely the transaction portion and the component portion. Information in the component portion concerns individual operations and their replies. The transaction portion contains protocol control information for the transaction sub–layer.
	For a more detailed analysis of the architecture, see Figure 3/Q.771, and associated text.
2	Transaction portion
	The transaction portion of a TC message may contain the following information elements, viz:
2.1	Message type
	Five types of messages are defined for the transaction portion as follows:
2.1.1	Unidirectional
	This message is used when there is no need to establish a transaction with another peer TR–User.
2.1.2	Begin
	This message is used to initiate a transaction with another peer TR–User.
2.1.3	End
	This message is used to terminate a transaction with another peer TR–User.
2.1.4	Continue
	This message is used to complete the establishment of a transaction and to continue an established transaction.
2.1.5	Abort
	This message is used to terminate a transaction following an abnormal situation detected by the transaction sub–layer (the service provider), or to abort a transaction by the TR–User (the service user).
2.2	Transaction IDs
	Transaction IDs are independently assigned by each of the two nodes communicating via a transaction, enabling each node to uniquely identify the transaction and associate the entire contents of the message with that particular transaction. There are two types of Transaction IDs, viz:

2.2.1	Originating Transaction ID
	The Originating Transaction ID is assigned by the node sending a message, and is used to identify the transaction at that end.
2.2.2	Destination Transaction ID
	The Destination Transaction ID identifies the transaction at the receiving end. The first Originating Transaction ID value received is reflected as the Destination Transaction ID value.
2.3	P–Abort Cause
	This is used when the transaction sub–layer aborts a transaction.
	P–Abort cause definitions are as follows:
2.3.1	Unrecognized Message Type
	The message type is not one of those defined in §§ 2.1.1 to 2.1.5 above.
2.3.2	Unrecognized transaction ID
	A transaction ID has been received for which a transaction does not exist at the receiving node.
2.3.3	Badly formatted transaction portion
	The transaction portion of the received message does not conform to the X.209 encoding rules as outlined in Recommendation Q.773, § 3.
2.3.4	Incorrect transaction portion
	The elemental structure within the transaction portion of the received message, does not conform to the rules for the transaction portion defined in Recommendation Q.773 § 5.
2.3.5	Resource limitation
	Sufficient resources are not available.
2.4	User abort information
	This is used to pass User Specified Information by the TR–User when it aborts a transaction.
2.5	Component portion
	This contains the component portion. When the component portion is empty this information element is not present.
3	Component Portion
	The Component Portion contains the following types of information elements. They are delivered to the user at the receiving end in the same order in which they were received from the user at the originating end.

3.1	Component type
	There are five types of component that may be present in the Component Portion of a TC message. The four Protocol Data Units (PDUs) defined inRecommendation X.229 are used, viz:

TCAP component	X.229 PDU	
Invoke	ROIV	
Return result (last)	RORS	
Return error	ROER	
Reject	RORJ	
	The remaining component type – Return Result (Not Last) – is defined by TCAP.
	These component types are defined as follows:
3.1.1	Invoke
	The invoke component requests that an operation be performed. It may be linked to another operation invocation previously sent by the other end.
3.1.2	Return result (Not Last)
	When TC uses a connectionless Network Service, it may be necessary for the TC–User to segment the result of an operation. In this case this component is used to convey each segment of the result except the last, which is conveyed in a Return Result (Last) component.
3.1.3	Return result (Last)
	The Return Result (Last) component reports successful completion of an operation. It may contain the last/only segment of a result.
3.1.4	Return error
	The Return Error component reports that an operation has not been successfully completed.
3.1.5	Reject
	The Reject component reports the receipt and rejection of an incorrect component, other than a Reject component. The possible causes for rejecting a component are defined by the Problem Code element in § 3.8.
3.2	Invoke ID
	An Invoke ID is used as a reference number to identify uniquely a request for an operation. It is present in any reply to an Invoke component (Return Result, Return Error or Reject), enabling the reply to be correlated with the invoke.
3.3	Linked ID
	A Linked ID is included in an invoke component by a node when it responds to an operation invocation with a linked operation invocation. The node receiving the Linked ID uses it for correlation purposes, in the same way that it uses the invoke ID in Return Result, Return Error and Reject components.
3.4	Operation code
	The Operation Code element indicates the precise operation to be invoked, and is present in an invoke component type. The operation may be a local operation or a global operation. A local operation can be used in one ASE only. The same global operation can be used in several different ASEs.

	The actual operation codes, the definition of the operations and their associated parameters, are defined in relevant ASE specifications. The component sub–layer does not set or examine the operation code value, nor which parameters are present, nor the parameter values.
3.5	Set (of parameters)
	The Set element is used to contain a set of parameters accompanying a component. It is required in the case of more than one parameter being included in a component. The parameters themselves are defined in relevant ASE specifications.
3.6	Sequence (of parameters)
	The Sequence element is used similarly to the Set element, except that a specific sequence of parameters is included in the component.
3.7	Error code
	The Error Code element contains the reason why an operation cannot be completed successfully. It is present only in a Return Error component. As with operations, errors may be local or global.
	These errors and associated parameters are defined in relevant ASE specifications.
3.8	Problem code
	The Problem code element contains the reason for the rejection of a component, and one such element is present in a Reject component. Four problem code elements are defined, viz:
3.8.1	General problem
	This element contains one of the problem codes which apply to the component sub–layer in general, and which do not relate to any specific component type. All of these are generated by the component sub–layer. They are:
3.8.1.1	Unrecognized component
	The component type is not recognized as being one of those defined in § 3.1.
3.8.1.2	Mistyped component
	The elemental structure of a component does not conform to the structure of that component as defined in Recommendation Q.773 § 6.
3.8.1.3	Badly structured component
	The contents of the component do not conform to the encoding rules defined in Recommendation Q.773 § 3.
3.8.2	Invoke problem
	This element contains one of the problem codes which relate only to the invoke component type. They are:
3.8.2.1	Duplicate invoke ID
	The invoke ID is already in use by a previously invoked operation. This code is generated by the TC–User.
3.8.2.2	Unrecognized operation
	The operation code value is not one of those used by the ASE. This code is generated only by the TC–User.
3.8.2.3	Mistyped parameter
	A parameter tag is not one of those associated with the operation invoked. This code is generated only by the TC–User.

3.8.2.4	Resource limitation
	Sufficient resources are not available to perform the operation requested. This code is generated by the TC–User.
3.8.2.5	Initiating release
	The operation requested cannot be invoked as the dialogue is about to be released. This code is generated only by the TC–User.
3.8.2.6	Unrecognized linked ID
	The linked ID does not correspond to a previously invoked operation. This code is generated only by the component sub–layer.
3.8.2.7	Linked response unexpected
	The operation referred to by the linked ID is not an operation for which linked invokes are allowed. This code is generated only by the TC–User.
3.8.2.8	Unexpected linked operation
	The linked operation is not one of those that the operation referred to by the linked ID allows. This code is generated only by the TC–User.
3.8.3	Return result problem
	This element contains one of the problem codes which relate only to the return result component type. They are:
3.8.3.1	Unrecognized invoke ID
	No operation with the specified invoke ID is in progress. This code is generated by the component sub–layer.
3.8.3.2	Return result unexpected
	The invoked operation does not report success. This code is generated by the component sub–layer.
3.8.3.3	Mistyped parameter
	A parameter tag is not one of those associated with the outcome of the operation. This code is generated only by the TC–User.
3.8.4	Return error problem
	This element contains one of the problem codes which relate only to the return error component type. They are:
3.8.4.1	Unrecognized invoke ID
	No operation with the specified invoke ID is in progress. This code is generated by the component sub–layer.
3.8.4.2	Return error unexpected
	The invoked operation does not report failure. This code is generated by the component sub–layer.
3.8.4.3	Unrecognized error
	The reported error is not one of those defined for the ASE. This code is generated by the TC–User.
3.8.4.4	Unexpected error
	The received error is not one of those which the invoked operation may report. This code is generated by the TC–User.
3.8.4.5	Mistyped parameter
	A parameter tag is not one of those associated with the outcome of the operation. This code is generated only by the TC–User.