t-rec-q.774-199706-i!!pdf-e

67
INTERNATIONAL TELECOMMUNICATION UNION ITU-T Q.774 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (06/97) SERIES Q: SWITCHING AND SIGNALLING Specifications of Signalling System No. 7 – Transaction capabilities application part Transaction capabilities procedures ITU-T Recommendation Q.774 (Previously CCITT Recommendation)

Upload: emanuel-petrut

Post on 22-Oct-2014

56 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: T-REC-Q.774-199706-I!!PDF-E

INTERNATIONAL TELECOMMUNICATION UNION

ITU-T Q.774TELECOMMUNICATIONSTANDARDIZATION SECTOROF ITU

(06/97)

SERIES Q: SWITCHING AND SIGNALLING

Specifications of Signalling System No. 7 – Transactioncapabilities application part

Transaction capabilities procedures

ITU-T Recommendation Q.774(Previously CCITT Recommendation)

Page 2: T-REC-Q.774-199706-I!!PDF-E

ITU-T Q-SERIES RECOMMENDATIONS

SWITCHING AND SIGNALLING

For further details, please refer to ITU-T List of Recommendations.

SIGNALLING IN THE INTERNATIONAL MANUAL SERVICE Q.1–Q.3

INTERNATIONAL AUTOMATIC AND SEMI-AUTOMATIC WORKING Q.4–Q.59

FUNCTIONS AND INFORMATION FLOWS FOR SERVICES IN THE ISDN Q.60–Q.99

CLAUSES APPLICABLE TO ITU-T STANDARD SYSTEMS Q.100–Q.119

SPECIFICATIONS OF SIGNALLING SYSTEMS No. 4 AND No. 5 Q.120–Q.249

SPECIFICATIONS OF SIGNALLING SYSTEM No. 6 Q.250–Q.309

SPECIFICATIONS OF SIGNALLING SYSTEM R1 Q.310–Q.399

SPECIFICATIONS OF SIGNALLING SYSTEM R2 Q.400–Q.499

DIGITAL EXCHANGES Q.500–Q.599

INTERWORKING OF SIGNALLING SYSTEMS Q.600–Q.699

SPECIFICATIONS OF SIGNALLING SYSTEM No. 7 Q.700–Q.849

General Q.700

Message transfer part (MTP) Q.701–Q.709

Signalling connection control part (SCCP) Q.711–Q.719

Telephone user part (TUP) Q.720–Q.729

ISDN supplementary services Q.730–Q.739

Data user part Q.740–Q.749

Signalling System No. 7 management Q.750–Q.759

ISDN user part Q.760–Q.769

Transaction capabilities application part Q.770–Q.779

Test specification Q.780–Q.799

Q3 interface Q.800–Q.849

DIGITAL SUBSCRIBER SIGNALLING SYSTEM No. 1 Q.850–Q.999

General Q.850–Q.919

Data link layer Q.920–Q.929

Network layer Q.930–Q.939

User-network management Q.940–Q.949

Stage 3 description for supplementary services using DSS 1 Q.950–Q.999

PUBLIC LAND MOBILE NETWORK Q.1000–Q.1099

INTERWORKING WITH SATELLITE MOBILE SYSTEMS Q.1100–Q.1199

INTELLIGENT NETWORK Q.1200–Q.1999

BROADBAND ISDN Q.2000–Q.2999

Page 3: T-REC-Q.774-199706-I!!PDF-E

ITU-T RECOMMENDATION Q.774

TRANSACTION CAPABILITIES PROCEDURES

Summary

This Recommendation has been revised for some additional clarifications (both in the text as well asthe SDLs) on dialogue control procedures related to normal and abnormal dialogue ending. It alsoamends the SDLs to properly represent the dynamic creation and stopping of procedures.

Source

ITU-T Recommendation Q.774 was revised by ITU-T Study Group 11 (1997-2000) and wasapproved under the WTSC Resolution No. 1 procedure on the 5th of June 1997.

Page 4: T-REC-Q.774-199706-I!!PDF-E

ii Recommendation Q.774 (06/97)

FOREWORD

ITU (International Telecommunication Union) is the United Nations Specialized Agency in the field oftelecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ ofthe ITU. The ITU-T is responsible for studying technical, operating and tariff questions and issuingRecommendations on them with a view to standardizing telecommunications on a worldwide basis.

The World Telecommunication Standardization Conference (WTSC), which meets every four years,establishes the topics for study by the ITU-T Study Groups which, in their turn, produce Recommendationson these topics.

The approval of Recommendations by the Members of the ITU-T is covered by the procedure laid down inWTSC Resolution No. 1.

In some areas of information technology which fall within ITU-T’s purview, the necessary standards areprepared on a collaborative basis with ISO and IEC.

NOTE

In this Recommendation, the expression "Administration" is used for conciseness to indicate both atelecommunication administration and a recognized operating agency.

INTELLECTUAL PROPERTY RIGHTS

The ITU draws attention to the possibility that the practice or implementation of this Recommendation mayinvolve the use of a claimed Intellectual Property Right. The ITU takes no position concerning the evidence,validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or othersoutside of the Recommendation development process.

As of the date of approval of this Recommendation, the ITU had/had not received notice of intellectualproperty, protected by patents, which may be required to implement this Recommendation. However,implementors are cautioned that this may not represent the latest information and are therefore strongly urgedto consult the TSB patent database.

ITU 1998

All rights reserved. No part of this publication may be reproduced or utilized in any form or by any means,electronic or mechanical, including photocopying and microfilm, without permission in writing from the ITU.

Page 5: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) iii

CONTENTS

Page

1 Introduction ................................................................................................................ 1

1.1 Basic guideline ........................................................................................................... 1

1.2 Overview .................................................................................................................... 1

2 Addressing.................................................................................................................. 1

3 Transaction capabilities based on a connectionless network service ......................... 1

3.1 Sub-layering in TCAP................................................................................................ 1

3.2 Component sub-layer procedures............................................................................... 2

3.2.1 Normal procedure.......................................................................................... 2

3.2.2 Abnormal procedures.................................................................................... 13

3.2.3 Compatibility issues...................................................................................... 16

3.3 Transaction sub-layer procedures............................................................................... 17

3.3.1 General .......................................................................................................... 17

3.3.2 Mapping of TR service primitives to message types .................................... 17

3.3.3 Normal procedures........................................................................................ 18

3.3.4 Abnormal procedures relating to transaction control.................................... 21

Annex A – Transaction capabilities SDLs............................................................................... 24

A.1 General ....................................................................................................................... 24

A.2 Drafting conventions .................................................................................................. 28

A.3 Dynamic creation of processes................................................................................... 28

A.4 Abbreviations used in the SDL diagrams................................................................... 60

Page 6: T-REC-Q.774-199706-I!!PDF-E
Page 7: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 1

Recommendation Q.774

TRANSACTION CAPABILITIES PROCEDURES

(Melbourne, 1988; revised in 1993 and 1997)

1 Introduction

Transaction Capabilities (TC) allows TC-users to exchange components via Transaction CapabilitiesApplication Part (TCAP) messages. It also allows, as an option, the transfer of Application ContextName and user information (i.e. data which are not components) between two TC-users. Proceduresdescribed in this clause specify the rules governing the information content and the exchange ofTCAP messages between TC-users.

1.1 Basic guideline

To maximize flexibility in service architecture and implementation style, TCAP procedures restrictthemselves to supporting the exchange of components and, as an option, Application Context Nameand user information (i.e. data which are not components) between TC-users. Application specific(TC-user) procedures are not part of TCAP.

When the selection of a parameter value associated with a primitive that is required by a lower layer(sub-layer) is not relevant to that layer (sub-layer), the value is simply passed down through theprimitive interface. The same assumption applies to the parameters received from a lower layerthrough the primitive interface which are not required for TCAP functions.

1.2 Overview

Clause 2 describes addressing rules for TC messages. Clause 3 describes transaction capabilitiesbased on a connectionless network service.

2 Addressing

In a Signalling System No. 7 environment using a connectionless network service, TC messages willuse any of the addressing options afforded by the Signalling Connection Control Part (SCCP).Assignment and use of global titles may be network and/or application specific. They are not a partof this protocol specification and are not discussed further here.

Addressing options when other network providers are used are for further study.

3 Transaction capabilities based on a connectionless network service

3.1 Sub-layering in TCAP

TCAP procedure is divided into component sub-layer procedure and transaction sub-layer procedure.The component sub-layer procedure provides a TC-user with the capability of invoking remoteoperations and receiving replies. The component sub-layer also receives dialogue control informationand user information from a TC-user and generates dialogue control APDUs as appropriate. It usestransaction sub-layer capabilities for transaction control which is the ability to carry a sequence ofcomponents and, optionally, a dialogue portion, in transaction sub-layer messages over an end-to-endconnection between two TC-users.

Page 8: T-REC-Q.774-199706-I!!PDF-E

2 Recommendation Q.774 (06/97)

3.2 Component sub-layer procedures

The component sub-layer provides two kinds of procedures:

– dialogue handling;

– component handling.

3.2.1 Normal procedure

3.2.1.1 Component handling procedure

3.2.1.1.1 Mapping of TC component handling service primitives to component types

Recommendation Q.771 describes the services provided by the component sub-layer by defining theservice interface between the TC-user and the component sub-layer and the interface between thecomponent sub-layer and the transaction sub-layer. Component handling refers to the ability of theTC-user to invoke a remote procedure and receive its response. Component handling procedures mapcomponent handling service primitives onto components, which constitute the Protocol Data Units(PDUs) of the component sub-layer. A mapping of these primitives to component sub-layer PDUs isindicated in Table 1.

Table 1/Q.774 – Mapping of TC component handling service primitives to components

Service Primitive Abbreviation Component Type

TC-INVOKE INV Invoke (Note 1)

TC-RESULT-L RR-L Return Result (Last) (Note 1)

TC-U-ERROR RE Return Error (Note 1)

TC-U-REJECT RJ Reject (Note 1)

TC-R-REJECT RJ Reject (Note 1)

TC-L-REJECT (Note 2)

TC-RESULT-NL RR-NL Return Result (Not Last)

TC-L-CANCEL (Note 3)

TC-U-CANCEL (Note 3)

NOTE 1 – X.219 and X.229 Compatible.

NOTE 2 – Treatment of this primitive is described in 3.2.2.2.

NOTE 3 – There is no component type associated with this primitive since the effect is purely local.

3.2.1.1.2 Management of invoke IDs

Invoke IDs are assigned by the invoking end at operation invocation time. A TC-user need not waitfor one operation to complete before invoking another. At any point in time, a TC-user may have anynumber of operations in progress at a remote end (although the latter may reject an invokecomponent for lack of resources).

Each invoke ID value is associated with an operation invocation and its corresponding invoke statemachine. Management of this invoke ID state machine takes place only at the end which invokes theoperation. The other end reflects this invoke ID in its replies to the operation invocation, and doesnot manage a state machine for this invoke ID. Note that both ends may invoke operations in afull-duplex manner: each end manages state machines for the operations it has invoked and is free toallocate invoke IDs independently of the other.

Page 9: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 3

An invoke ID value may be reallocated when the corresponding state machine returns to idle.However, immediate reallocation could result in difficulties when certain abnormal situations arise.A released ID value (when the state machine returns of idle) should therefore not be reallocatedimmediately; the way this is done is implementation-dependent, and thus is not described in thisRecommendation.

The two peer applications must have a priori knowledge of the classes and timers associated witheach operation.

Component states and state transitions are described in 3.2.1.1.3.

3.2.1.1.3 Operation classes

See Table 2.

Table 2/Q.774 –Operation classes

Operation class Description

1 Reporting success or failure

2 Reporting failure only

3 Reporting success only

4 Outcome not reported

A different type of state machine is defined for each class of operation, the state transitions of whichare represented by Figures 1 to 4. These state machines are described here from a protocol point ofview (sent/received components), whereas they are described in Recommendation Q.771 from aservice (primitives) point of view.

The states of each component state machine are defined as follows:

– Idle: The invoke ID value is not assigned to any pending operation.

– Operation Sent: The invoke ID value is assigned to an operation which has not beencompleted or rejected. The "operation sent" state is triggered when the invoke component istransmitted.

– Wait for Reject: When a component indicating the completion of an operation is received,the receiving TC-user may reject this result. The Wait for Reject state is introduced so thatthe invoke ID is retained for some time, thereby making the rejection possible.

State transitions are triggered by:

– a primitive received from the TC-user, causing a component to be built, and eventually sent;

– receipt of a component from the peer entity;

– a number of situations indicated on Figures 1 to 4, corresponding to the following situations:

• Cancel – A timer is associated with an operation invocation. This invocation timer isstarted when the invoke component is passed to the transaction sub-layer. TheTC-INVOKE request primitive indicates a timer value. A cancel situation occurs whenthe invoking TC-user decides to cancel the operation (TC-U-CANCEL requestprimitive) before either the final result (if any) is received, or a timeout situation occurs.On receipt of a TC-U-CANCEL request, the component sub-layer stops the timer; anyfurther replies will not be delivered to the TC-user, and TCAP will react according toabnormal situations as described in 3.2.2.2.

• End situation – When an End or Abort message is received, or when prearranged end isused, TCAP returns any pending operations to Idle.

Page 10: T-REC-Q.774-199706-I!!PDF-E

4 Recommendation Q.774 (06/97)

• Invocation timeout – A timeout situation occurs when the timer associated with anoperation invocation expires: the state machine returns to Idle, with notification to theTC-user by means of a TC-L-CANCEL indication (in the case of a class 1, 2 or 3operation). This notification indicates an abnormal situation for a class 1 operation, orgives the definite outcome of a class 2 or 3 operation for which no result has beenreceived (normal situation).

• Reject timeout – A Reject timeout situation occurs when the timer associated with theWait for Reject state expires. If this occurs, the component sub-layer assumes that theTC-user has accepted the component.

In Figures 1 to 4, components contain either single ID values, or ordered pairs of IDs (i, y), where i isthe invoke ID and y is the linked ID. The state diagrams are modelled for a single operationinvocation with ID i. The value of y is not relevant to the ID i. A linked invoke operation can only beaccepted if the linked to state machine is in the Operation Sent state.

Components can be received "well-formed" or "malformed". The diagrams show where this issignificant. If it does matter whether the component is received "well-formed" or "malformed", thenthe diagram indicates "receive" only.

These figures also indicate normal and abnormal transitions. Abnormal transitions result in theabnormal procedures discussed in 3.2.2. For instance, if a class 1 operation times out, this indicatesan abnormal situation. The component sub-layer will release the invoke ID and inform theapplication. It is now up to the application to decide whether to abort the transaction or to report anerror to the peer application. In another example, receiving a return error component does notproduce a valid transition for a class 3 operation. This type of error would lead the componentsub-layer to form a Reject component with a problem code "return error problem – unexpected returnerror". It would inform the local TC-user of this with a TC-L-REJECT primitive so that the rejectcomponent could be sent (if the user so desired) with the next dialogue handling primitive issued.

Class 1 operations report failure or success. A rejection in the case of a protocol error may alsooccur. Upon invoking a class 1 operation, the invoking end will keep the ID i active until a "last"reply is received and can no longer be rejected. An ID may be released locally, at the option of theTC-user. An ID may also be released upon invocation timeout. This is indicated in Figure 1.

Class 2 operations report failure only. A rejection in the case of a protocol error may also occur.Upon invoking a class 2 operation, the invoking end will keep the ID i active until a reply has beenreceived and can no longer be rejected or until a timeout1 cancel or end situation occurs. This isindicated in Figure 2.

Class 3 operations report success only. A rejection in the case of a protocol error may also occur.Upon invoking a class 3 operation, the invoking end will keep the ID i active until a reply has beenreceived and can no longer be rejected or until a timeout2 cancel or end situation occurs. This isindicated in Figure 3.

Class 4 operations do not report their outcome. A rejection in the case of a protocol error may alsooccur. Upon invoking a class 4 operation, the invoking end will keep the ID i active until a reject hasbeen received or until a timeout3 cancel or end situation occurs. This is indicated in Figure 4.

____________________1 A timeout for a class 2 operation is a normal situation.

2 A timeout for a class 3 operation is a normal situation.

3 A timeout for a class 4 operation is a normal situation.

Page 11: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 5

T1113720-91

Idle

Reject timeoutor

User rejector

End situationReceivemalformed(Note 1)

RR-NL(i)RR-L(i)RE(i)

orReceive [RJ(i)

orcancel

orInvocation timeout

(Note 2)or

End situation

SendINV(i)INV(i, y)

Wait forreject

Operation sent(Note 3)

Receivewell-formed

RR-L(i)RE(i)

Receive well-formed [RR-NL(i)

NOTE 1 – In these situations, the TC-user is informed and the transition occurs when the sending of the reject is initiated.

NOTE 2 – These are abnormal situations.

NOTE 3 – When a linked invoke INV(x, i) is received, the existence of the state machine i is checkedto ensure it is in the Operation Sent state, but there is no impact on the state machine.

Class 1

Figure 1/Q.774 – Operation class 1

Page 12: T-REC-Q.774-199706-I!!PDF-E

6 Recommendation Q.774 (06/97)

T1113731-91

Idle

Reject timeoutor

User rejector

End situationRR -L(i)RR-NL(i)

orReceive

malformed [RE(i)(Note 2)

orReceive [RJ(i)

orCancel

orInvocation timeout

orEnd situation

SendINV(i)INV(i, y)

Wait forreject

Operation sent(Note 3)

Receive RE(i)well-formed

NOTE 1 – These are abnormal situations.

NOTE 2 – In these situations, the TC-user is informed and the transition occurs when the sending of the reject is initiated.

NOTE 3 – When a linked invoke INV(x, i) is received, the existence of the state machine i is checkedto ensure it is in the Operation Sent state, but there is no impact on the state machine.

Class 2

Receive

(Notes 1 and 2)

Figure 2/Q.774 – Operation class 2

Page 13: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 7

T1113730-91

Idle

Reject timeoutor

User rejector

End situationRR -NL(i)RR-L(i)

orReceive (RJ(i)

orCancel

orInvocation timeout

orEnd situation

SendINV(i)INV(i, y)

Wait forreject

Operation sent(Note 3)

Receive RR-NL(i)well-formed

NOTE 1 – In these situations, the TC-user is informed and the transition occurs when the sending of the reject is initiated.

NOTE 2 – These are abnormal situations.

NOTE 3 – When a linked invoke INV(x, i) is received, the existence of the state machine i is checkedto ensure it is in the Operation Sent state, but there is no impact on the state machine.

Class 3

Receivemalformed(Note 1)

Receive [RE(i)(Notes 1 and 2)

Receive well-formed RR-NL(i)

or

Figure 3/Q.774 – Operation class 3

Page 14: T-REC-Q.774-199706-I!!PDF-E

8 Recommendation Q.774 (06/97)

T1113751-91

Idle

RR -L(i)RR-NL(i)RE(i)

orReceive RJ(i)

orCancel

orInvocation timeout

orEnd situation

Send INV(i)INV(i, y)

Operation sent(Note 2)

NOTE 1 – These are abnormal situations.

NOTE 2 – When a linked invoke INV(x, i) is received, the existence of the state machine i is checkedto ensure it is in the Operation Sent state, but there is no impact on the state machine.

NOTE 3 – In these situations, the TC-user is informed and the transition occurs when the sending of'the reject is initiated.

Class 4

Receive

(Notes 1 and 3)

Figure 4/Q.774 – Operation class 4

3.2.1.1.4 Sample component flows

Some sample component flows that are compatible with Recommendation X.229 (Remoteoperations) are indicated in Figure 5. The flows show cases of valid component sequences correlatedto an invoked operation.

Figure 6 depicts that, as an extension to Recommendations X.219 and X.229, TCAP permits multiplereturn results to respond to the same Invoke operation for the purpose of segmenting a result over aconnectionless network service.

3.2.1.2 Dialogue control via TC primitives

The TC-UNI, TC-BEGIN, TC-CONTINUE and TC-END request primitives are used by a TC-user tocontrol the transfer of components.

Certain TC dialogue control request primitives can also cause a dialogue control APDU to beconstructed, if an Application Context Name parameter is included in the TC-BEGIN requestprimitive.

A mapping of Dialogue handling primitives onto Dialogue Control APDUs is given in Table 3.

Page 15: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 9

T1113760-91

.

.

.

Invoke (i) or Inv (i, x) Invoke (i) or Inv (i, x)

Return Result-L (i)or

Return Error (i)or

Reject (i)

Return Result-L (i)or

Return Error (i)

a) b)

Invoke (i) Invoke (i) or Inv (i, x)

Invoke (x, i) (Note)

Invoke (y, i) (Note)

Invoke (z, i) (Note)

Return Result-L (i)

c) d)

NOTE – No change to the component state machine of the original invoke.

Reject (i)

Figure 5/Q.774 – X.229 compatible component flows

T1113770-91

Invoke (i, x)or

Invoke (i)

Return Result-NL (i)

Return Result-NL (i)

Return Result-L (i)

Figure 6/Q.774 – Segmented result

Page 16: T-REC-Q.774-199706-I!!PDF-E

10 Recommendation Q.774 (06/97)

Table 3/Q.774 – Mapping of TC dialogue handling serviceprimitives to dialogue control APDUs

TC primitive (request) Dialogue control APDU

TC-UNI Dialogue UNI (AUDT)

TC-BEGIN Dialogue Request (AARQ)

TC-CONTINUE Dialogue Response (AARE[accept]) (Note 1)

TC-END Dialogue Response (AARE[accept)] (Note 2)

TC-U-ABORT Dialogue Abort (ABRT)Dialogue Response (AARE[rejected]) (Note 3)

NOTE 1 – This is applicable only for the first backward TC-CONTINUE primitive[i.e. when the dialogue is in the Initiation Sent/Initiation Received (IS/IR) state].

NOTE 2 – This is applicable only for the TC-END request primitive issued inresponse to a TC-BEGIN indication primitive (i.e. when the dialogue is in the IS/IRstate).

NOTE 3 – This is applicable only before the dialogue is established (i.e. before thefirst backward continue message) and only if the "abort reason" parameter in theTC-U-ABORT request primitive is set to "application-content-name-not-supported"or "dialogue-refused".

The dialogue control PDUs are carried in the dialogue portion of the TC message. The dialogueportion, when present, is concatenated with the component portion and transferred to the transactionsub-layer as user-data of the corresponding TR-service primitive.

Components in a message are delivered to the remote TC-user in the same order in which they arereceived by the originating component sub-layer from the local TC-user. The correspondingindication primitives are employed by the component sub-layer to inform the TC-user at thereceiving end of the state of the dialogue.

A TC-user employs a dialogue control request primitive (TC-UNI, TC-BEGIN, TC-CONTINUE orTC-END) to trigger transmission of all previously passed components with the same dialogueidentifier except for the TC-ABORT primitives which cause discard of pending components. Acomponent sub-layer dialogue control primitive in turn triggers a corresponding service request tothe transaction sub-layer, the sub-layer where the transaction control service is provided. A mappingof TC to TR transaction control primitives is provided in Table 4.

Table 4/Q.774 – Mapping of TC dialogue handling serviceprimitives to TR primitives

TC primitive TR primitive

TC-UNI TR-UNI

TC-BEGIN TR-BEGIN

TC-CONTINUE TR-CONTINUE

TC-END TR-END

TC-U-ABORT TR-U-ABORT

TC-P-ABORT TR-P-ABORT

Page 17: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 11

Dialogue begin

A TC-BEGIN request primitive results in a TR-BEGIN request primitive, which begins a transaction,and transmits any (0 or more) components passed on the interface with the same dialogue ID. If theApplication Context Name parameter has been included in the TC-BEGIN request primitive, aDialogue Request (AARQ) APDU is also sent concatenated with the Component Portion.

The Destination Address and Origination Address provided in the TC-BEGIN request primitive arestored by the transaction sub-layer before sending the Begin message.

At the destination end, a TR-BEGIN indication primitive is received by the component sub-layer. Itcauses a TC-BEGIN indication primitive together with dialogue information, if any, starting adialogue to be delivered to the TC-user, followed by component handling primitives associated witheach of the components received (if any).

The receiving transaction sub-layer stores the received Originating Address as the destination addressfor this transaction and its own address as the Originating Address (from memory or from thedestination address of the received N-UNITDATA indication primitive). The TC-user receives aTC-BEGIN indication primitive containing the received Destination Address and OriginatingAddress.

Dialogue confirmation

If the TC-user has received an Application Context Name parameter in the TC-BEGIN indicationprimitive, and this Application Context is acceptable, the TC-user should include the same value inthe first backward TC-CONTINUE request primitive. This causes a Dialogue Response (AARE)APDU to be sent concatenated with any components in a Continue message.

If the proposed Application Context Name is not acceptable, the TC-user may still wish to continuethe dialogue but offer a different Application Context Name in the first backward TC-CONTINUErequest primitive. This causes a Dialogue Response (AARE) APDU to be concatenated with anycomponents in a Continue message.

In both these cases, the "result" field of the AARE APDU is set to "accepted" while the "result-source-diagnostic" field is set to either "dialogue-service-user (null)" or "dialogue-service-user (noreason given)". The choice of one or the other value is implementation-dependent and aresemantically equivalent as far as this Recommendation is concerned.

The responding TC-user issues a TC-CONTINUE request primitive with the possibility of optionallyincluding an Originating Address parameter which is used only if the TC-user decides to change itsown address (Originating Address at the B-side).

The transaction sub-layer stores the new Originating Address and sends a Continue message to theinitiating TC-user.

The transaction sub-layer at the end initiating the transaction receives the Continue message and, asthis is the first backward message, stores the Originating Address in the received N-UNITDATAindication primitive as the Destination Address for the transaction. The Originating Address storedfor this transaction remains unchanged. These addresses will be used for all subsequent messages forthis transaction and remain unchanged during the lifetime of the transaction.

Dialogue continuation

A TC-CONTINUE request primitive results in a TR-CONTINUE request primitive which transmitsany components passed on the interface with the same dialogue ID. If Reject components(see 3.2.2.2) have been built by the Component sub-layer for this dialogue, they are also transmitted.

Page 18: T-REC-Q.774-199706-I!!PDF-E

12 Recommendation Q.774 (06/97)

At the destination end, a TR-CONTINUE indication received by the component sub-layer causes aTC-CONTINUE to be delivered to the TC-user, followed by component handling primitivesassociated with each of the components received.

No dialogue control APDUs are exchanged during this stage of the transaction. If dialogue controlAPDUs were exchanged during the establishment of the dialogue, the Application Context Namesent in the AARE APDU is assumed to be the application context in place between the TC-users forthe life-time of the dialogue. TC does not verify this except in that it treats the presence of a dialoguecontrol APDU during this stage of the dialogue as an abnormal event. During this phase, a dialogueportion with a user-defined abstract syntax may optionally be present.

Dialogue end

If the TC-user issues a TC-END request primitive for the basic end of the dialogue in immediateresponse to a TC-BEGIN indication primitive containing an Application Context Name, it causes aDialogue Response (AARE) APDU to be formed with the "result" field set to "accepted" while the"result-source-diagnostic" field is set to either "dialogue-service-user (null)" or "dialogue-service-user (no reason given)". The choice of one or the other value for the "result-source-diagnostic" fieldis implementation-dependent and are semantically equivalent as far as this Recommendation isconcerned. The AARE APDU concatenated with any components is passed for transmission in aTR-END request primitive.

The TC-END indication primitive causes the dialogue state machine to be idled.

In the case of basic end of a dialogue, any components passed on the interface plus any rejectcomponents built by the component sub-layer for this dialogue are passed for transmission to thetransaction sub-layer in a TR-END request primitive, then the dialogue is ended.

At the destination end, a dialogue ends when each component (if any) accompanying the TR-ENDindication primitive has been delivered to the TC-user by an appropriate component handlingprimitive following the TC-END indication.

The component sub-layer does not check, when a TC-user requests the end of a dialogue, that all thecomponent state machines associated with this dialogue have returned to Idle. Similarly, no check ismade by the component sub-layer that all the state machines associated with a dialogue have returnedto Idle when it has delivered the components accompanying a TR-END indication primitive. In anend situation, any non-idle-state machine is returned to Idle when the TR-END request primitive ispassed to the transaction sub-layer (at the originating side), or when all accompanying componentshave been delivered to the TC-user at the destination side; any components pending transmission arediscarded.

When a TC-user has received a TC-BEGIN indication primitive with an Application Context Nameparameter that it finds unacceptable, and does not wish to continue the dialogue, it issues aTC-U-ABORT request primitive. In the TC-U-ABORT request primitive, the setting of theparameter "Abort reason" to the value "application-context-name-not-supported" causes a DialogueResponse (AARE) APDU to be formatted. The setting of the values for various fields in the AAREAPDU are as follows: the result field is set to "reject permanent", and the "result-source-diagnostic"is "dialogue-service-user (application-context-name-not-supported)". This APDU is sentconcatenated along with any components in the user data field of the TR-U-ABORT requestprimitive.

If the "Abort reason" parameter in the TC-U-ABORT request primitive is absent or has a value otherthan "application-context-name-not-supported" or "dialogue-refused", this describes an abnormaltermination of the dialogue and is described in 3.2.2.

Page 19: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 13

When a TC-User has received a TC-BEGIN indication primitive including some user information itfinds unacceptable, it may issue a TC-U-ABORT request primitive with the "abort reason" parameterset to "dialogue-refused". This causes a dialogue response (AARE) APDU to be formatted. Thesetting of the values for various fields of the AARE APDU are as follows: the "application-context-name" field is identical to the one received in the "application-context-name" parameter of theTC-U-ABORT request primitive, the "result" field is set to "reject-permanent", and the"result-source-diagnostic" field is set either to "dialogue-service-user (null)" or "dialogue-service-user (no reason-given)".

Prearranged end and TC-user abort of a dialogue do not trigger transmission of pending components.All state machines associated with the dialogue are returned to Idle, and the components arediscarded.

3.2.2 Abnormal procedures

3.2.2.1 Dialogue control

Any abnormal situation detected by the component sub-layer that is due to a malformed orinopportunely received component results in the rejection of the component, and in notification tothe local TC-user. Abort of a dialogue is always the reflection of a decision by:

– The component sub-layer in the case when an incorrect dialogue portion is received, i.e.syntactically incorrect or inconsistent with the state of the underlying transaction. The lattercase corresponds to a situation when a dialogue portion is missing when its presence ismandatory (e.g. an AARQ APDU was sent in a Begin message, but no AARE APDU wasreceived in the first backward Continue message) or when a dialogue portion is receivedinopportunely (e.g. a dialogue APDU is received during the active state of a transaction). Atthe side where the abnormality is detected, a TC-P-ABORT indication primitive is issued tothe local TC-user with the "P-Abort" parameter in the primitive set to "abnormal dialogue".At the same time, a TR-U-ABORT request primitive is issued to the transaction sub-layerwith an ABRT APDU as user data. The abort-source field of the ABRT APDU is set to"dialogue-service-provider" and the user information field is absent. At the receiving side, aTC-P-ABORT indication is issued by the component sub-layer on the receipt of an ABRTAPDU as user data in the TR-U-ABORT indication primitive with the abort-source field ofthe ABRT APDU set to "dialogue-service-provider".

If any components are received in the message with an incorrect dialogue portion, these arediscarded.

– The transaction sub-layer to abort the underlying transaction. The component sub-layer idlesthe operation state machines of the dialogue, discards any pending component, and passes aTC-P-ABORT indication primitive to the TC-users.

– The TC-user to abort the dialogue. At the originating side, a TC-U-ABORT request isreceived from the TC-user: active component state machines for this dialogue are idled, anda TR-U-ABORT request is passed to the transaction sub-layer. At the destination side, acorresponding TR-U-ABORT indication is received from the transaction sub-layer, anyactive component state machines for the dialogue are idled, and a TC-U-ABORT indicationis passed to the TC-user.

If a TC-U-ABORT request primitive is issued during the active state of a dialogue, with the "Abortreason" parameter absent or set to "user-defined", a Dialogue Abort (ABRT) APDU is formatted onlyfor the case when the AARQ/AARE APDUs were used during the dialogue establishment state. Userdata provided in the primitive is then transferred in the User Information field of the ABRT APDU.

Page 20: T-REC-Q.774-199706-I!!PDF-E

14 Recommendation Q.774 (06/97)

When a BEGIN message has been received (i.e. the dialogue is in the "Initiation Received" state)containing a Dialogue Request (AARQ) APDU, the TC-User can abort for any user defined reason.In such a situation, the TC-User issues a TC-U-ABORT request primitive with the Abort Reasonparameter absent or with set to any value other than either "application-context-name-not-supported"or dialogue-refused". In such a case, a Dialogue Abort (ABRT) APDU is generated with abort-sourcecoded as "dialogue-service-user", and supplied as the User Data parameter of the TR-U-ABORTrequest primitive. User information (if any) provided in the TC-U-ABORT request primitive is codedin the user-information field of the ABRT APDU.

When a TR-U-ABORT indication is received in the "Initiation Sent" state for which a response to aDialogue Request (AARQ) APDU is pending, the User Data field of this primitive must contain aDialogue Abort (ABRT) APDU with its abort source field coded as "dialogue-service-user". TheCSL releases all dialogue and component handling resources, and issues a TC-U-ABORT indprimitive with Abort Reason parameter set to "user-specific" and User Information (if any) derivedfrom the user-information field of the ABRT APDU. If an ABRT APDU, coded as described above,is not present, the CSL issues a TC-P-ABORT indication to the TC-User with the P-Abort Causeparameter coded as "abnormal dialogue", and releases all dialogue and component handlingresources.

When the dialogue is in the "Initiation Sent" state, i.e. a Begin message has been sent but nobackward message for this transaction has been received, the result of the TC/TR-U-ABORT requestprimitive is purely local. Any message subsequently received that is related to this dialogue shall behandled according to the actions indicated in Table 7.

In these cases described above, accompanying information (P-Abort cause, or user-providedinformation) passes transparently through the component sub-layer.

Handling of the notification of abnormal situations which cannot be related to a particular dialogue isfor further study.

3.2.2.2 Abnormal procedures relating to operations

The following abnormal situations are considered:

– no reaction to class 1 operation invocation (see 3.2.1.1.3);

– receipt of a malformed component: The component type and/or the Invoke ID cannot berecognized (i.e. the state machine cannot be identified);

– receipt of a well-formed component in violation of authorized state transitions.

The actions taken by the component sub-layer to report component portion errors are shown inTable 5. The following considerations have guided the choices indicated in this table:

– When a protocol error has been detected by the local TC-user, this TC-user is notsubsequently advised via the TC-Reject (as indicated in Table 5) since it is already aware ofthe protocol error.

– In other cases (reject by component sub-layer), the local TC-user is always advised so that itcan issue a dialogue control primitive (see the reject mechanism described below).

– When a component is rejected, the associated state machine returns to Idle.

– The reject mechanism applies whenever possible: Even if the invoke ID is not assigned ornot recognized (i.e. no state machine can be identified), the reject mechanism should beinitiated. The only case where rejection is purely local is when the component to be rejectedis itself a Reject component.

Protocol errors in the component portion of a TCAP message are reported using the Rejectcomponent. The Reject component is sent in response to an incorrect component other than Reject. If

Page 21: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 15

the incorrect component is itself a Reject component, the component is discarded and the localTC-user is advised of the syntax error in the received Reject component.

When an invoke ID is available in a component to be rejected, this ID is reflected in the Rejectcomponent.

Component type abbreviations are identified in Table 1.

In the case of multiple components within a message, when a malformed component is detected bythe component sub-layer, subsequent components in the message are discarded.

Table 5/Q.774 – Action taken on protocol errors in component portion

Local Remote (Note)

ComponentType received

Type of error Localaction

Componentstate machine

Local useradvised

Componentstate

machine

Remoteuser

advised

Invoke

Syntax erroror invalidlinked id.

(valid invokeid.)

InitiateReject

NA Yesa) Returnto Idle

Yes

Syntax error(invalid

invoke id.)

InitiateReject

NA Yesa) No action Yes

Return result(L/NL) or

Syntax error(valid invoke

id.)

InitiateReject

Returnto Idle

Yesa) NA Yes

Return error Syntax error(invalid

invoke id.)

InitiateReject

No action Yesa) NA Yes

Return result(L/NL)

OperationClass 2/4

InitiateReject

Returnto Idle

Yesa) NA Yes

Return error OperationClass 3/4

InitiateReject

Returnto Idle

Yesa) NA Yes

Reject Syntax error InitiateLocalReject

No action Yes NA No

Unknown Syntax error InitiateReject

Noaction/NAb)

Yesa) NA/Noactionb)

Yes

NA Not applicable.

a) This is to alert the TC-user so it can issue a dialogue control primitive to send the Reject componentformulated by the Component Sub-Layer.

b) It is not possible to decide whether an ISM exists or not, therefore, no action can be taken.

NOTE – Any action at the remote end depends on the local user issuing a dialogue primitive to sendthe Reject component formulated by the local CSL. Some users may choose not to issue the dialogueprimitive in some or all cases. In these cases no action is taken at the remote end.

Page 22: T-REC-Q.774-199706-I!!PDF-E

16 Recommendation Q.774 (06/97)

Rejection of any portion of a segmented result shall be equivalent to rejecting the entire result. Theassociated state machine is returned to Idle. Subsequent portions of the same segmented result shallalso be rejected (on the basis of no active state machine).

The reject mechanism when the component sub-layer detects a situation where (non-local) rejectshould be initiated (as per Table 5), it builds a Reject component, stores it, and informs the localTC-user by means of TC-L-REJECT indication primitive. The TC-user may decide:

a) to continue the dialogue; or

b) to end the dialogue using the basic scenario; or

c) to abort the dialogue.

In cases a) and b), the first dialogue handling primitive (TC-CONTINUE request or TC-END requestrespectively) issued by the TC-user triggers transmission of the stored Reject component(s) built forthis dialogue by the component sub-layer. The remote component sub-layer receives the Rejectcomponent(s) built for this dialogue, idles the corresponding component state machine(s) if possible(as per Table 5) and informs the TC-user of the (remote) rejection via TC-R-REJECT informationprimitive(s).

If the component sub-layer generated reject combined with accumulated components from theTC-user exceeds the message length limitations, then the TC-user, being aware of the Rejectcomponent, must initiate two dialogue handling primitives. The component sub-layer, also beingaware of the length problem, will send all the components, except the Reject, with the first primitive.The Reject will be sent with the next dialogue handling primitive together with any furthercomponents provided by the TC-user.

3.2.3 Compatibility issues

As the Dialogue Portion of a TC message, as defined in these specifications, is optional from asyntax point of view, a TCAP implementation conforming to these Recommendations willunderstand a TC-BEGIN message without the dialogue portion, i.e. an implementation that conformsto the 1988 TC Recommendations and will be able to respond with subsequent messages thatconform to the latter Recommendations.

A TC implementation conforming to the 1988 Recommendations receiving a BEGIN message with adialogue portion will treat it as a syntactically invalid message. It will react by sending an ABORTmessage with a P-Abort cause information element indicating "incorrect transaction portion". It willbe up to the TC-User at the initiating side to interpret this abort. One interpretation could be that theabort is due to communication with a Blue Book implementation; so the TC-User could issue a newTC-BEGIN request primitive without the parameters related to the dialogue portion. However, suchinterpretations and subsequent actions are outside the scope of these Recommendations.

The version number field in the Dialogue Request (AARQ) APDU and the Dialogue Response(AARE) APDU will be used to indicate the versions of the Dialogue Portion that are supported byTCAP at the node sending the message. The version described in these Recommendations is"version 1". If the component sub-layer at a node conforming to these Recommendations (includingthe optional dialogue handling portion) receives a Dialogue Request (AARQ) APDU with a versionfield which indicates that version 1 is not in the list of supported versions, the component sub-layerbuilds a Dialogue Response (AARE) APDU with its fields set as follows:

– protocol-version = version 1;

– application-context-name = the one received in the AARQ APDU;

– result = reject (permanent);

– result-source-diagnostic = dialogue-service-provider (no-common-dialogue-version);

Page 23: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 17

– user-information = absent.

The component sub-layer issues a TR-U-ABORT request indication with the AARE APDU as userabort information. Informing its local TC-user is not required and any received components arediscarded.

The component sub-layer at the node receiving an AARE APDU thus formatted as user abortinformation in a TR-U-ABORT indication primitive informs its TC-User via a TC-P-ABORTindication primitive with the "P-Abort" parameter in the primitive set to "no common dialogueportion".

The above-mentioned forward compatibility mechanism is included to ensure interworking withfuture versions resulting from the evolution (if any) of the dialogue portion. For the situation whereonly the current version of the dialogue portion (as defined in these Recommendations) isimplemented, the receipt of an AARE APDU with the version field set to any value other than"version 1" shall be considered a syntax error and the procedures described in 3.2.2.1 will befollowed.

3.3 Transaction sub-layer procedures

3.3.1 General

In the case of a structured dialogue, the transaction sub-layer provides for an end-to-end connectionbetween its users (TR-users). This end-to-end connection is called a transaction.

The transaction sub-layer procedure associates each TCAP message and, therefore, all the containedcomponents and the dialogue portion, if present, with a particular transaction.

The transaction sub-layer processes the transaction portion (message type and transaction ID) of aTCAP message. Transaction IDs identify a transaction. Each end assigns a local transactionidentification; these local transaction IDs are exchanged in the transaction portion of messages asindicated in Recommendation Q.773.

The component portion of a TCAP message is passed between the component sub-layer and thetransaction sub-layer as user data in the transaction sub-layer primitives.

In the case of an unstructured dialogue, no transaction ID is assigned. The component portion of theUNIDIRECTIONAL message is received as user data in the TR-UNI request primitive. Thetransaction portion of the UNIDIRECTIONAL message is formatted and the message transmitted.

3.3.2 Mapping of TR service primitives to message types

Recommendation Q.771 describes the services performed by the transaction sub-layer by definingthe service interface between the TR user and the transaction sub-layer and the transaction sub-layerand the SCCP. Similarly, state transition diagrams appear in Recommendation Q.771 based onservice primitives. In this subclause, a message based description of the protocol is provided. Amapping of TR-primitives to transaction sub-layer protocol data units is indicated in Table 6.

Page 24: T-REC-Q.774-199706-I!!PDF-E

18 Recommendation Q.774 (06/97)

Table 6/Q.774 – Mapping of TR service primitives to messages

Service primitive Message type

TR-UNI UNIDIRECTIONAL

TR-P-ABORT ABORT (Note 1)

TR-BEGIN BEGIN

TR-CONTINUE CONTINUE

TR-U-ABORT ABORT (Note 2)

TR-END END

NOTE 1 – With P-Abort cause information element.

NOTE 2 – Empty or with a User Abort information element.

3.3.3 Normal procedures

3.3.3.1 Message transfer without establishing a transaction

3.3.3.1.1 Actions of the sending end

The TR-UNI request primitive is used when a TR-user sends a message to another TR-user but doesnot need to enter into a transaction. A Unidirectional message, which does not have a transaction ID,is used in this case.

3.3.3.1.2 Actions of the receiving end

The receipt of a Unidirectional message causes a TR-UNI indication primitive to be passed to theTR-user. No further action is taken by the transaction sub-layer.

3.3.3.2 Message transfer within a transaction

3.3.3.2.1 Transaction begin

In the following discussion, the sending node of the first TCAP message is labelled node "A", andthe receiving node is labelled node "B".

3.3.3.2.1.1 Actions of the initiating end

The TR-user at node "A" initiates a transaction by using a TR-BEGIN request primitive, whichcauses a Begin message to be sent from node "A" to node "B".

The Begin message contains an originating transaction ID. This transaction ID value, when includedin any future message from node "A" as the originating transaction ID or in a message to node "A" asthe destination transaction ID, identifies the transaction to node "A".

Once the transaction sub-layer at node "A" has sent a Begin message, it cannot send another messageto the transaction sub-layer at node "B" for the same transaction until it receives a Continue messagefrom node "B" for this transaction.

3.3.3.2.1.2 Actions of the receiving end

The receipt of a Begin message causes a TR-BEGIN indication primitive to be passed to the TR-userat node "B". In response to a TR-BEGIN indication primitive, the TR-user at node "B" decideswhether or not to establish a transaction. If the TR-user does want to establish a transaction, it passes

Page 25: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 19

a TR-CONTINUE request primitive to the transaction sub-layer; otherwise, it terminates thetransaction (see 3.3.3.2.3). These conditions are defined by the TR-user.

The Begin message contains only an originating transaction ID. If, after receiving a Begin messagewith a given originating transaction ID, the transaction sub-layer receives another Begin messagewith the same originating transaction ID, the transaction sub-layer does not consider this as anabnormal situation: a second transaction is initiated at node "B".

3.3.3.2.2 Transaction continuation

A Continue message is sent from one node to another when a TR-CONTINUE request primitive ispassed from the TR-user to the transaction sub-layer at the sending node.

A Continue message includes the destination transaction ID which is identical – i.e. of the same octetlength and value – to the originating transaction ID received in the first messages from the peer node.Each node assigns its own originating transaction ID at transaction initiation time. The transactionIDs remain constant for the life of the transaction.

A Continue message includes both an originating transaction ID and a destination transaction ID.The originating transaction ID in successive Continue messages is not examined.

Receipt of a Continue message causes a TR-CONTINUE indication primitive to be passed to thedestination TR-user.

Once the user at node "B" has responded with a TR-CONTINUE request primitive to establish atransaction, all subsequent interactions at either end between the TR-user and the transactionsub-layer are via TR-CONTINUE primitives until the transaction is to be terminated. In messageterms, once a Continue message is sent from node "B", all subsequent messages shall be Continuemessages until the transaction is to be terminated.

3.3.3.2.3 Transaction termination

– The basic method: A TR-user at either end may terminate a transaction by passing aTR-END request primitive (indicating basic end) to the transaction sub-layer. An Endmessage is sent to the peer entity which, in turn, passes a TR-END indication primitive to itsTR-user. The End message contains a destination transaction ID which is identical – i.e. ofthe same octet length and value – to the originating transaction ID received in the firstmessage from the peer node.

– The pre-arranged method: This method implies that the peer entities know a priori – at agiven point in the application script – that the transaction will be released. In this case, theTR-user passes a TR-END request primitive (indicating prearranged end) to its transactionsub-layer, and no End message is sent.

3.3.3.2.4 Abort by the TR-user

When a TR-user wants to abort a transaction, it passes a TR-U-ABORT request primitive to thetransaction sub-layer, which sends an Abort message with user-provided (cause and diagnostic)information.

At the receiving side, the transaction sub-layer receiving an Abort message containing user-providedinformation passes this information without analyzing it to the TR-user in a TR-U-ABORTindication primitive.

3.3.3.2.5 Example of message exchange

Figure 7 depicts an example of exchanges of TCAP messages between two TR-users.

Page 26: T-REC-Q.774-199706-I!!PDF-E

20 Recommendation Q.774 (06/97)

A B

T1106500-91

BEGIN (OTID = x)

CONTINUE (OTID = x, DTID = y)

CONTINUE (OTID = y, DTID = x)

CONTINUE (OTID = y, DTID = x)

END (OTID = y)

Figure 7/Q.774 – A simple example of exchange of TCA messages

3.3.3.2.6 Transaction state transition diagrams

A state machine is associated with a transaction at each end of this transaction. Four transactionstates are introduced:

– Idle: No state machine exists.

– Init Sent (IS): A Begin message has been sent: an indication from the peer entity whether thetransaction has been established or not is awaited.

– Init Received (IR): A Begin message has been received: a request from the TR-user either tocontinue the transaction, or to terminate it, is awaited.

– Active: The transaction is established: Continue messages can be exchanged in bothdirections simultaneously.

Figure 8 shows the transaction state transition diagram.

Page 27: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 21

T1113780-91

IDLE

Begin sent

Begin received

Local decisionor End received

or Abort received

Local decisionor End sent

or Abort sent

Local decisionor End sent/received

or Abort sent/received

Continuereceived

Continuesent

Continuesent/received

NOTE – Local decision:1) pre-arranged end;2) see 3.3.4.

IS IR

ACTIVE

Figure 8/Q.774 – Transaction state transition diagram

3.3.4 Abnormal procedures relating to transaction control

The following abnormal situations are covered by the transaction sub-layer:

1) No reaction to transaction (initiated or established).

2) Receipt of an indication of abnormal situation from the underlying layer.

3) Receipt of a message with an unassigned or non-derivable destination transaction ID so thatthe message cannot be associated with a transaction (non-derivable means that theinformation is not found or not recognized; unassigned means that the ID is derivable but ithas not been assigned to a transaction).

4) Receipt of a message with a recognized destination transaction ID – The message can beassociated with a transaction, but the message type is not compatible with the transactionstate.

Case 1 considers those situations where one node is in the Idle state and the other node is in anon-Idle state, for example, due to message loss.

This is covered by a local, implementation-dependent, mechanism which results in aborting thetransaction locally, as described below.

Case 2 is for further study.

When a transaction portion error is found (cases 3 and 4 above), the transaction sub-layer should takethe following actions.

Page 28: T-REC-Q.774-199706-I!!PDF-E

22 Recommendation Q.774 (06/97)

The status of the originating transaction ID should be checked. Actions are the following:

1) if the originating transaction ID is not derivable, the local end (which received the message)discards the message and does not take any other action, e.g. it does not send an Abortmessage or terminate the transaction; or

2) if the originating transaction ID is derivable, the following actions are taken:

i) The transaction sub-layer should form an Abort message with an appropriate P-Abortcause information element and transmit it to the originating end. The originating endwill then take the appropriate action to terminate the transaction if the originatingtransaction ID is assigned.

ii) If the destination transaction ID is not derivable or derivable but not assigned, thetransaction sub-layer takes no action to terminate the transaction at its end.

iii) If the destination transaction ID is derivable and assigned:

a) the transaction sub-layer terminates the transaction at its end, i.e. return to idle;

b) the transaction sub-layer informs the component sub-layer of the abort of thetransaction via the transaction sub-layer abort; and

c) the component sub-layer should:

– release all invoke IDs associated with this transaction;

– discard any pending components for that transaction;

– inform the TC-user of the transaction abort.

Finally, regardless of the disposition of the transaction IDs, the entire erroneous TCAP messageshould be discarded.

When receiving an Abort message, the destination transaction sub-layer does the following:

– if the Abort message contains user information (or no information), inform the TR-user bymeans of the TR-U-ABORT indication primitive;

– if the Abort message contains a P-Abort cause information element, inform the TR-user bymeans of the TR-P-ABORT indication primitive. Notification to the management is forfurther study;

– in both cases, discard any pending messages for that transaction and return the transactionstate machine to Idle.

Page 29: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 23

Table 7/Q.774 – Actions when an abnormal transaction portion is received

Local End (detects protocol error) Remote End

Message typereceived

Originatingtransaction

IDd)

Destinationtransaction

IDd)Action

Transactionstate

machine

Localuser

advised

Transactionstate

machine

Useradvised

UNIDIREC-TIONAL

– – Discard –c) No –c) No

Not der. – Discard NAb) No NAb) No

BEGIN Der. – Abort NAb) No Return toIdlea)

Yesa)

Not der. – Discard NAb) No NAb) No

CONTINUEDer. Not der.

unass.Abort NAb) No Return to

Idlea)Yesa)

Der. Ass. Abort Return toIdle

Yes Return toIdlea)

Yesa)

– Not der.unass.

Discard NAb) No NAb) No

END/ABORT – Ass. Discard Return toIdle

Yes NAb) No

Not der. – Discard NAb) No NAb) No

UNKNOWNDer. Not der.

unass.Abort NAb) No Return to

Idlea)Yesa)

Der. Ass. Abort Return toIdle

Yes Return toIdlea)

Yesa)

NA Transition to the Idle state is Not Applicable [see item b) below]

Not der. Not derivable

Der. Derivable (Whether a particular abnormality renders a TID not derivable is implementation-dependent)

Ass. Derivable and assigned

Unass. Derivable but unassigned

Abort Send ABORT messagea) If the Transaction ID is assigned at this end, otherwise the state transition is not applicable, and the user is not

informed.b) The expression NA is used in those cases where the normal procedure of Return to Idle at both ends following the

appearance of an abnormal situation is Not Applicable because it is impossible to identify the Transaction ID(s)and therefore to relate the damaged message to a specific transaction at either ends (Local and/or Remote end).

c) The Unidirectional message does not refer to an explicit transaction and therefore it does not affect the TransactionState Machine.

d) The derivability of the Transaction IDs is implementation-dependent.

Page 30: T-REC-Q.774-199706-I!!PDF-E

24 Recommendation Q.774 (06/97)

ANNEX A

Transaction capabilities SDLs

A.1 General

This Annex contains the description of the transaction capability procedures described in thisRecommendation by means of SDLs according to the CCITT specification and description language.In order to facilitate the functional description as well as the understanding of the behaviour of thesignalling system, the Transaction Capabilities Application Part (TCAP) is divided into thecomponent sub-layer and the transaction sub-layer (see Figure A.1). The transaction sub-layer isdivided into two functional blocks: a Transaction Coordinator (TCO) and a Transaction StateMachine(s) (TSM) Block. The component sub-layer again is divided into a Component Handling(CHA) block and a Dialogue Handling (DHA) block (see Figure A.2).

The SDL is provided according to this functional partitioning which is used only to facilitateunderstanding and is not intended to be adopted in a practical implementation of the TCAP. Thefunctional blocks and their associated service primitives are shown in Figure A.2.

T1147610-92

TC-user

TC-service primitives TC-user interface

Services of TC

Component sub-layerstate machine

TC-ServiceAccess Point

TR-serviceprimitives

TC

Transaction sub-layerstate machine

TC service messages inN-UNITDATA primitives

Network service primitives

Network ServiceAccess Point

Network service interface

Network service(e.g. SS No. 7 SCCP, Rec. X.213)

Services of the network

Services of theTR-sub-layer

Figure A.1/Q.774 – Interfaces of the component and transaction sub-layers(state machines) and service primitives

Page 31: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 25

T1147620-92

TC-user

Dialogue handlingprimitives

Component handlingprimitives

TC-NOTICE (ind.)TC-UNI (ind. req.)TC-BEGIN (ind. req.)TC-CONTINUE (ind. req.)TC-END (ind. req.)TC-U-ABORT (ind. req.)TC-P-ABORT (ind.)

TC-INVOKE (ind. req.)TC-RESULT-L (ind. req.)TC-RESULT-NL (ind. req.)TC-U-ERROR (ind. req.)TC-L-CANCEL (ind.)TC-U-CANCEL (ind.)TC-R-REJECT (ind.)TC-L-REJECT (ind.)TC-U-REJECT (ind. req.)

Component sub-layer

Dialogue Begin (AARQ)Dialogue Confirm (AARE)Dialogue Abort (ABRT)

to peer

Invoke (INV)Return result last (RR-L)Return result not last (RR-NL)Return error (RE)Reject (REJ)

DHAFigure A.5

CCOFigure A.6

C SL

CHAISM

Figure A.7

TR-UNI (ind. req.)TR-BEGIN (ind. req.)TR-CONTINUE (ind. req.)TR-END (ind. req.)TR-U-ABORT (ind. req.)TR-P-ABORT (ind.)TR-NOTICE (ind.)

Transaction sub-layer

to peer

UNIDIRECTIONALBEGINCONTINUEENDABORT

TCOFigure A.3 TSL

TSMFigure A.4

N-UNITDATA (ind. req.)N-NOTICE (ind.) (Note)

CHADHATCOTSLCCOISMTSMCSL

Component HandlingDialogue Handling (CSL)Transaction CoordinatorTransaction Sub-LayerComponent CoordinatorInvocation State MachineTransaction State MachineComponent Sub-Layer

NOTE – Other Network Service Primitives are for further study (Q.700-Series Recommendations).

Signalling Connection Control Part

Figure A.2a/Q.774 – Overview block diagram of TC

Page 32: T-REC-Q.774-199706-I!!PDF-E

26 Recommendation Q.774 (06/97)

T1132080-91

TR-UNI req.TR-BEGIN req.TR-CONTINUE req.TR-END req.TR-U-ABORT req.

TR-UNI ind.TR-BEGIN ind.TR-CONTINUE ind.TR-END ind.TR-U-ABORT ind.TR-P-ABORT ind.TR-NOTICE ind.

TSL

Dialogue Handling atTransaction Sub-layer

(TCO)

Figure A.3

Message Received

Transaction

Local Abort

TSM is Idle

TransactionState

Machine

(TSM)

Figure A.4

(One per Transaction ID)

N-UNITDATA req. N-UNITDATA ind.N-NOTICE ind.

NOTE – The functions of TSL are shared to two functional blocks: TCO and TSMs. The TCOhandles syntax checking of incoming TC-messages and interactions with individual TSMs. Foreach transaction, there is a TSM that provides state information, issues primitives to TR-User andassembles and sends the TC-messages. UNIDIRECTIONAL and ABORT messages that arenot related to any local TSM, are assembled and sent by TCO.

BEGINCONTINUEENDABORT

Figure A.2b/Q.774 – Overview block diagram of transaction sub-layer

Page 33: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 27

T1120570-91

TC-INVOKE req.TC-U-CANCEL req.TC-RESULT-NL req.TC-RESULT- L req.TC-U-ERROR req.TC-U-REJECT req.

TC-INVOKE ind.TC-RESULT-NL ind.TC-RESULT-L ind. TC-U-ERROR ind. TC-L-REJECT ind.TC-R-REJECT ind.TC-U-REJECT ind.TC-L-CANCEL ind.

TCU

CHA

ComponentCoordinator

(CCO)

Figure A.6

Requested componentsNo component

DHA

Componentsdialogue termination

Request components

(One per dialogue)

Generate Rejectcomponent

Operation sentRE receivedRR-NL receivedRR-L receivedTerminate

InvocationState

Machine

(ISM)

Figure A.7

(One per Invoke ID)

Figure A.2c/Q.774 – Overview block diagram of CHA

Page 34: T-REC-Q.774-199706-I!!PDF-E

28 Recommendation Q.774 (06/97)

A.2 Drafting conventions

To indicate the direction of each interaction, the symbols are used as shown below:

T1147600-92

Input from the TC-userorInput from the Component Sub-Layer

Output to the TC-userorOutput to the Component Sub-Layer

Input from the Transaction Sub-Layer, orInput from the remote TCAP via SCCP, orInput from the DHA to the CHA, orInput from the ISM to the CCO

Output to the Transaction Sub-Layer, orOutput to the remote TCAP via SCCP, orOutput from the CHA to the DHA, orOutput from the CCO to the ISM

Output symbol for internalevent notification

Input symbol for internalevent initiation

or

or

(TCU→CSL)

(CSL→TSL)

(TCU←CSL)

(CSL←TSL)

(CSL←TSL)(TSL←SCCP)(CHA←DHA)(CCO←ISM)

(CSL→TSL)(TSL→SCCP)(CHA→DHA)(CCO→ISM)

A.3 Dynamic creation of processes

The TCO and the Id pools are the only processes which are created when the system is brought intoservice. The TSM, DHA and CCO processes shall be created dynamically and cease to exist whenthe dialogue/transaction to which they are associated is ended. The ISM shall cease to exist as soonas the associated resources (timers, Invoke Id) are released.

NOTE – The 1993 version of Recommendation Q.774 showed that these processes always returned to theIdle state after they had performed all the tasks associated with one dialogue or operation. This is not possibleas this would mean that there is a single process of each type which sequentially handles all the dialogues(or remote operations). In this revision of Recommendation Q.774, the Stop symbol shall be used as areplacement of the Idle state wherever appropriate. In addition, there were situations in the 1993 SDLs wherethe CCO was not aware that the dialogue to which it was associated had been terminated (or that the dialogueestablishment had not completed). In this revision, the DHA has been modified to systematically send a"Dialogue Terminated" signal to the CHA (CCO) before calling the "Free Dialogue Id" procedure.

For each type of process in a TC system, Table A.1 indicates which type of process creates instancesof it and under which conditions.

Page 35: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 29

Table A.1/Q.774 – Process creation overview

Process Created by Triggering events

TCO System management System brought into service

TSM TCO Each time the TCO receives a valid BEGIN message fromSCCP or a TR-BEGIN request

TSM When the TSM receives a "Begin received" signal fromthe TCO

DHA TC-User Each time a TC-User needs to initialize a new dialogue

TCO Each time the TCO receives a valid UNI message fromSCCP

CCO DHA When the DHA is created it creates in turn a CCO

ISM CCO When the DHA indicates that an operation has been sent

A process is not explicitly killed by another one. It stops on receipt of some signal or after havingperformed some specific actions. For each type of process contained in a TC system, Table A.2indicates the conditions which lead one instance to stop.

Table A.2/Q.774 – Process stop conditions overview

Process Triggering events

TCO System brought out of service

TSM On receipt of a signal (END, ABORT, …) from the TCO which indicates that thetransaction should be terminated

DHA After releasing the Dialogue Id when closing a dialogue

CCO On receipt of the "Dialogue Terminated" signal sent by the DHA before stopping itself

ISM When the operation is completed or on receipt of a "Terminate" signal from the CCO

It is assumed that some local TC-User function creates a DHA instance before starting a dialogue.

Page 36: T-REC-Q.774-199706-I!!PDF-E

30R

ecomm

endation Q.774 (06/97)

T1181130-96

1

2

4 3 3

3 4 2 5 5

2

4

4 4 4 4 4

4 4 46

6

N-UNITDATAindicationTSL ← SCCP

Idle

Messagetype?

Unknown

Syntaxerror?(Note)

YesUNI

YesSyntaxerror?(Note)

YesBEGIN Syntax

error?(Note)

CONTINUEYes Syntax

error?(Note)

YesEND Syntax

error?(Note)

ABORT

No NoNo No No

Assign LocalTransaction ID

Yes Is TID =no TID?

No Yes

DTIDassigned?

DTIDassigned?

Yes

DTIDassigned?

YesBuild ABORT

message

P-AbortCause =Resource

Limitation

N-UNITDATArequestTSL → SCCP

TR-UNIindication

CSL ← TSL

BEGINreceived

TSM ← TCO

CONTINUEreceived

TSM ← TCO

ENDreceived

TSM ← TCO

ABORTreceived

TSM ← TCO

Idle

TSM

NOTE – Checks for correctly formatted TR-portion information elements for this message type.

Figure A.3/Q.774 (sheet 1 of 4) – Transaction coordinator

Page 37: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 31

1 6

T1181140-96

1 3N-NOTICEindication

TSL ← SCCP

TSM stopped

TCO ← TSM

TR-UNIrequest

CSL → TSL

Freetransaction ID

TR-NOTICEindication

CSL ← TSL

N-UNITDATArequest

TSL → SCCP

Idle

AssembleTR-portion ofUNI message

Figure A.3/Q.774 (sheet 2 of 4) – Transaction coordinator

6

T1181150-96

2 TR-BEGINrequest

CSL → TSL

TR-CONTINUErequest

CSL → TSL

TR-ENDrequest

CSL → TSL

TR-U-ABORTrequest

CSL → TSL

BEGINTransaction

TCO → TSM

CONTINUETransaction

TCO → TSM

ENDTransaction

TCO → TSM

ABORTTransaction

TCO → TSM

Idle

TSM

Figure A.3/Q.774 (sheet 3 of 4) – Transaction coordinator

Page 38: T-REC-Q.774-199706-I!!PDF-E

32 Recommendation Q.774 (06/97)

5 2 3 4

T1147660-92

1(2) 1(2)1(3) 2) 1(2)

OTIDderivable?

No

Yes

DTIDassigned?

Yes

No

AssembleTR-portion of

ABORT message(Note 1)

AssembleTR-portion of

ABORT message(Note 1)

AssembleTR-portion of

ABORT message(Note 1)

DTIDassigned?

No

Yes

N-UNITDATArequest

TSL → SCCP

N-UNITDATArequest

TSL → SCCP

Local Abort

TSM ← TCO

Local Abort

TSM ← TCO

N-UNITDATArequestTSL → SCCP

Discardreceived message

Discardreceived message

Discardreceived message

(Note 2)

Discardreceived message

Idle

NOTE 1 – Using appropriate P-Abort Cause values as defined in Recommendation Q.773.

NOTE 2 – Notification to TC-user is a local implementation option (for only UNI message).

OTIDderivable?

No

Yes

Figure A.3/Q/774 (sheet 4 of 4) – Transaction coordinator

Page 39: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 33

T1181160-96

Start

AllocateTransaction IDto Pool

Note

Wait forTransaction ID

Allocated_Transaction ID

No_Transaction ID

Set Transaction ID= Allocated

Transaction ID

SetTransaction ID =

No Transaction ID

NOTE – The pool realization is implementation-dependent.

*

Figure A.3 bis/Q.774 – Procedure ASSIGN TRANSACTION ID

Page 40: T-REC-Q.774-199706-I!!PDF-E

34 Recommendation Q.774 (06/97)

T1181170-96

Idle(I)

BEGINreceivedTSM ← TCO TCO → TSM

BEGINTransaction

Store remoteaddress andremote TID

Store localaddress Note

AssembleTR-portion of

BEGIN message

N-UNITDATArequest

TSL → SCCP

Initiation sent(IS)

Initiationreceived

(IR)

TR-BEGINindication

CSL ← TSL

NOTE – This may be provided by TC-user or be implicitly associated with theaccess point at which the N-UNITDATA primitive is issued.

DHA

Figure A.4/Q.774 (sheet 1 of 5) – Transaction state machine

Page 41: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 35

T1181180-96

Initiationreceived

(IR)

ENDTransaction

TCO → TSM

CONTINUETransaction

TCO → TSM

ABORTTransaction

TCO → TSM

Store new localaddress if it is

provided by User

Prearrangedend?

Yes

No

AssembleTR-portion ofCONTINUE

message

AssembleTR-portion ofEND message

AssembleTR-portion of

ABORT message

N-UNITDATArequest

TSL → SCCP

N-UNITDATArequest

TSL → SCCP

N-UNITDATArequest

TSL → SCCP

Active(A)

TSM stopped

TCO ← TSM

Figure A.4/Q.774 (sheet 2 of 5) – Transaction state machine

Page 42: T-REC-Q.774-199706-I!!PDF-E

36R

ecomm

endation Q.774 (06/97)

T1181190-96

Initiation sent(IS)

CONTINUEreceivedTSM ← TCO

ENDreceivedTSM ← TCO

ABORTreceivedTSM ← TCO

Local Abort

TSM ← TCO

ENDTransaction

TCO → TSM

ABORTTransaction

TCO → TSM

Purelylocalaction

Store remoteaddress andremote TID

TR-U-ABORT?No

Yes

CSL ← TSL

TR-ENDindicationCSL ← TSL

TR-U-ABORTindication

CSL ← TSL

TR-CONTINUEindication

TR-P-ABORTindication

CSL ← TSL

TSM stopped

TCO ← TSM

Active(A)

Figure A.4/Q.774 (sheet 3 of 5) – Transaction state machine

Page 43: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 37

1

T1181200-96

Active(A)

CONTINUEreceived

TSM ← TCO

CONTINUETransaction

TCO → TSM

ENDreceived

TSM ← TCO

ENDTransaction

TCO → TSM

Prearranged end?Yes

No

AssembleTR-portion ofCONTINUE

TR-CONTINUEindication

CSL ← TSL

N-UNITDATArequest

TSL → SCCP

TR-ENDindication

CSL ← TSL

N-UNITDATArequest

TSL → SCCP

TSM stopped

TCO ← TSM

Active(A)

AssembleTR-portion ofEND message

message

Figure A.4/Q.774 (sheet 4 of 5) – Transaction state machine

Page 44: T-REC-Q.774-199706-I!!PDF-E

38 Recommendation Q.774 (06/97)

T1181210-96

1

4

ABORTreceivedTSM ← TCO

Local Abort

TSM ← TCO

ABORTTransactionTCO → TSM

AssembleTR-portion of

ABORT message

N-UNITDATArequest

TSL → SCCP

TR-P-ABORTindication

CSL ← TSL

TR-U-ABORTindicationCSL ← TSL

TR-U-ABORT?

TSM stopped

TCO ← TSM

No

Yes

Figure A.4/Q.774 (sheet 5 of 5) – Transaction state machine

Page 45: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 39

T1181220-96

T

2

StartIdle

Idle

TC-UNI-req.from TCU

TC-BEGIN-req.from TCU

Dialogueinfo. included?

Dialogueinfo. included?

No

Yes Yes

No

Build AUDTapdu

SetApplication

context mode

This is set asApplication contextand is included inthe primitive

Requestcomponents toCHA

Set protocolversion = 1

Processcomponents

Build AARQapdu

Assemble TSLuser data

Requestcomponents toCHA

TR-UNI-REQto TSL

Processcomponents

Freedialogue ID

Assemble TSLuser data

Assign localtransaction

ID

TR-BEGIN-REQto TSL

Initiationsent

The case whereno TID isavailable isa local matter

Dialogue terminated to

CHA

CCO

Figure A.5/Q.774 (sheet 1 of 11) – Dialogue handling at CSL

Page 46: T-REC-Q.774-199706-I!!PDF-E

40 Recommendation Q.774 (06/97)

T1181230-96

2

T

2

1

1

1

TR-UNI-indfrom TSL

Dialogue portionincluded?

No

Yes

Extract dialogueportion

Dialogue portioncorrect?

Yes

No

Isversion 1

supported?

No

Yes

Assigndialogue ID

Discardcomponents

TC-UNI-indto TCU

Componentsto CHA

Freedialogue ID

Dialogueterminatedto CHA

Figure A.5/Q.774 (sheet 2 of 11) – Dialogue handling at CSL

Page 47: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 41

T1181240-96

2

4

4

R

Idle

TR-BEGIN-indfrom TSL

Dialogue portionincluded?

No

Yes

Extract dialogueportion

Dialogue portioncorrect?

No

Yes

Is protocolversion 1

supported?

No

Yes

Build AAREapdu

With ResultSource Diagnosticfield setto “rejected(no-common-dialogue version)”

Discardcomponents

Discardcomponents

Build ABORTapdu

TR-P-ABORTrequestto TSL

TR-U-ABORT-req. to TSL

This mustbe theAARQAPDU

Dialogue terminated to CHA

Dialogue terminated to CHA

Figure A.5/Q.774 (sheet 3 of 11) – Dialogue handling at CSL

Page 48: T-REC-Q.774-199706-I!!PDF-E

42 Recommendation Q.774 (06/97)

T1147720-92

2

3

3

R

Set applicationcontext mode

This is set whenan AARQ APDUis present as userdata in the TR-BEGIN primitive

Assigndialogue ID

TC-BEGIN-indto TCU

Anycomponents?

No

Yes

Componentsto CHA

Initiation received

Figure A.5/Q.774 (sheet 4 of 11) – Dialogue handling at CSL

Page 49: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 43

N

6

T1181250-96

Initiation received

TC-CONTINUE-req. from TCU

TC-END-req.from TCU

Prearrangedend?

NoNoDialogue infoincluded?

Yes

Set protocolversion = 1

TR-END-req.to TSL Prearranged

Build AARE-apdu

(accepted)

Dialogueterminated toCHA

Requestcomponents toCHA

Freedialogue ID

Processcomponents

Assemble TSLuser data

TR-CONTINUE-req. to TSL

Active

Dialogue infoincluded?

No

Yes

Set protocolversion = 1

Build AAREapdu

(accepted)

Requestcomponent toCHA

Processcomponents

Assemble TSLuser data

TR-END-req.to TSL

Dialogueterminated toCHA

Freedialogue ID

Yes

Figure A.5/Q.774 (sheet 5 of 11) – Dialogue handling at CSL

Page 50: T-REC-Q.774-199706-I!!PDF-E

44 Recommendation Q.774 (06/97)

N

5

T1181260-96

TC-U-ABORT-req. from TCU

Isapplication

context modeset?

No

Yes

Abortreason present

AND = AC-name notsupported OR dialogue

refused?

No

Yes

Set protocolversion = 1

Build AARE-apdu

(rejected)

Build ABRTapdu (abort source =

dialogue-service-user

TR-U-ABORTreq. to TSL

Dialogueterminated toCHA

Freedialogue ID

Figure A.5/Q.774 (sheet 6 of 11) – Dialogue handling at CSL

Page 51: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 45

3

3

T1181270-95

7

7

Initiationsent

TC-END-req.from TCU

Prearranged

TR-END-req.TO TSL

Dialogueterminated toCHA

Dialogueterminated toCHA

TR-U-ABORTreq. TO TSL

TC-U-ABORTreq. FROM TCU

Localaction

TR-END-ind.from TSL

Dialogueportion

included?

No

Yes

AC Mode set?No

Yes

Yes

NoAC mode set?

Extract dialogueportion

No

Yes

Dialogueportion correct?

This mustbe an

AARE APDU

TC-END-ind.to TCU

Discardcomponents

TC-P-ABORTind. to TCU

Anycomponents?

No

Yes

Componentsto CHA

Dialogueterminated toCHA

Freedialogue ID

P-abort =Abnormaldialogue

Localaction

Initiationsent

TR-NOTICE-ind.

from TSL

TR-NOTICE-ind.

to TCU

Figure A.5/Q.774 (sheet 7 of 11) – Dialogue handling at CSL

Page 52: T-REC-Q.774-199706-I!!PDF-E

46 Recommendation Q.774 (06/97)

T1181280-96

5

5

5

5

4

4

8

8

88

8

8

5

8

6

8

6

8

Initiationsent

TR-CONTINUE-ind. from TSL

Dialogue portionincluded?

No

Yes

AC Mode set?No

Yes

AC Mode set?

Extractdialogue portion

No

Yes

Dialogueportioncorrect?

TC-CONTINUE-ind. to TCU

Anycomponents?

No

Yes

Componentsto CHA

Active

AAREAPDU

TR-U-ABORTind. from TSL

No

No

Yes

Yes

No

Yes

No

Yes

No

Yes

No

Yes TC-P-ABORTind. to TCU

TC-U-ABORTind. to TCU

Dialogueterminatedto CHA

Freedialogue ID

Freedialogue ID

Dialogueterminatedto CHA

TR-U-ABORTreq. to TSL

Build ABRTapdu

TC-P-ABORTind. to TCU

Discardcomponents

TR-P-ABORTind. from TSL

TC-P-ABORTind. to TCU

Is Dialogue No

Yes

TC-U-ABORTind. to TCU

P-Abort= abnormaldialogue

No

TC-P-ABORTind. to TCU

Yes

P-Abort-Cause = No common dialogueportion

IsAbort or

Associate source= user?

IsPDU type

= ABRT or AARE (rejected)?

Isabstract

syntax = dialogue -PDU AS?

Is UserData included in

primitive?

Is AC mode

set?

IsAARE

(no common dialogue portion)?

portionpresent?

Figure A.5/Q.774 (sheet 8 of 11) – Dialogue handling at CSL

Page 53: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 47

L

10

T1181290-96

Active

TC-CONTINUE-req. from TCU

TC-END-req. from TCU

Request componentto CHA

Prearrangedend?

No

Yes

Processcomponents

TR-END-req.to TSL

Assemble TSLuser data

Dialogue terminatedto CHA

TR-CONTINUE-req. to TSL

Freedialogue ID

Active

Prearranged

Request componentto CHA

Processcomponents

Assemble TSLuser data

TR-END-req.to TSL

Dialogue terminatedto CHA

Freedialogue ID

Figure A.5/Q.774 (sheet 9 of 11) – Dialogue handling at CSL

Page 54: T-REC-Q.774-199706-I!!PDF-E

48 Recommendation Q.774 (06/97)

T1181300-96

L

9

TC-U-ABORTreq. from TCU

TR-END-ind.from TSL

No

Yes

IsAC mode

set?

Build ABRTapdu

TR-U-ABORTreq. to TSL

Dialogueterminatedto CHA

Freedialogue ID

Dialoguecontrol PDU

included?

Yes

No

TC-END-ind.to TCU

Discardcomponents

TC-P-ABORTind. to TCU

P-Abort= abnormaldialogue

Anycomponents?

No

Yes

Componentsto CHA

Dialogueterminatedto CHA

Freedialogue ID

TR-NOTICEind. from TSL

TC-NOTICEind. to TCU

Active

Figure A.5/Q.774 (sheet 10 of 11) – Dialogue handling at CSL

Page 55: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 49

T1181310-96

7

77

77

11 11

11 11

11

91111

8

9

11

8

11

Isabstract syntax =dialogue PDU-

AS?

Active

No

Yes

Yes

Componentsto CHA

TC-CONTINUE-ind. to TCU

Anycomponents?

Active

Freedialogue ID

Dialogueterminatedto CHA

TR-U-ABORTreq. TO TSL

Build ABRTapdu

TC-P-ABORTind. to TCU

Discardcomponents

TR-U-ABORTind. from TSL

Is application

context modeset?

Yes

No

Yes

P-AbortCause =

abnormaldialogue

No

No

Yes

No

Yes

No

Yes

Abortsource = user?

TC-U-ABORTind. to TCU

Dialogueterminatedto CHA

Freedialogue ID

TC-P-ABORTind. to TCU

P-AbortCause =abnormaldialogue

TC-U-ABORTind. to TCU

TC-P-ABORTind. to TCU

Yes

No

TC-P-ABORTind. to TCU

TR-P-ABORTind. from TSL

No

IsDialogueportion

included?

Isapplication

context modeset?

Yes

Isabstract

syntax = dialoguePDU-AS?

AbortPDU?

IsUser Data

included in the primitive? Is

Dialogue portionincluded?

TR-CONTINUE-ind. from TSL

Yes

Yes

No

No

Figure A.5/Q.774 (sheet 11 of 11) – Dialogue handling at CSL

Page 56: T-REC-Q.774-199706-I!!PDF-E

50 Recommendation Q.774 (06/97)

T1181320-96

1

1

Start

Wait forcomponents

Wait forcomponents

No-componentfor thisdialogue IDfrom CHA

Requestedcomponentsfrom CHA

Assemble ComponentPortion

*

Figure A.5 bis/Q.774 – Procedure process components

Page 57: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 51

T1181330-96

Start

AllocateDialogue IDto Pool

Note

Wait forDialogue ID

AllocatedDialogue ID

NoDialogue ID

Set Dialogue ID= AllocatedDialogue ID

Set Dialogue ID= No Dialogue ID

NOTE – The pool realization is implementation-dependent. The case of "No Dialogue ID"is not described in the calling process as the handling of this situation is an internal matter.

*

Figure A.5 ter/Q.774 – Procedure ASSIGN DIALOGUE ID

T1147810-92

Start

FreeDialogue IDto Pool

Note

NOTE – The pool realization is implementation-dependent.

Figure A.5 quater/Q.774 – Procedure FREE DIALOGUE ID

Page 58: T-REC-Q.774-199706-I!!PDF-E

52R

ecomm

endation Q.774 (06/97)

1

T1181340-96

2, 4

TC-INVOKErequestTCU → CHA

Assemble INVcomponent

Mark Componentavailable for

this dialogue ID

Implementationspecific

Discardcomponent

TerminateISM

Any ISMactive for

this dialogue IDand Invoke ID?

Idle

Mark Componentavailable for

this dialogue ID

TerminateISMCCO → ISM

For eachISM with this

dialogue IDYes

No No

YesAny ISMactive for thisdialogue ID?

No

AnyINV component

waiting to be sent forthis dialogue ID and

Invoke ID?

Yes

TC-U-CANCELrequestTCU → CHA

Discard componentsawaiting transmission

Idle

TC-RESULT-NLTC-RESULT-LTC-U-ERRORrequestTCL → CHA

Assemble requestedcomponent

Implementationspecific

TerminateISMCCO → ISM

Return Result,Return Error

InvokeProblemType?

Assemble Rejectcomponent

TC-U-REJECTrequest

TCU → CHA

DialogueterminatedCHA ← DHA

Figure A.6/Q.774 (sheet 1 of 4) – Component coordinator

Page 59: T-REC-Q.774-199706-I!!PDF-E

Recom

mendation Q

.774 (06/97)53

3

6

2

3

6

2

3

6

2

1

2

5

6

2

2

2

4

T1181350-96

5

1

3

3

3

3

3

3

3

3 3

3

ComponentsCHA ← DHA

Morecomponents?

No

Yes

Extract nextcomponent

No

Yes

Idle

TC-L-REJECTindication

TCU ← CHA

Assemble REJECTcomponent

Generate REJcomponentCCO ← ISM

Invoke

Syntax error?Yes

No

Linked operation?

Yes

No

Linkedto ISM in operation

sent state?

No

YesTC-INVOKE

indicationTCU ← CHA

Syntax error?Yes

No

RR-NL

ISM active? No

Yes

RR-NLreceived

CCO → ISM

RR-LreceivedCCO → ISM

ISM active?

Yes

No

Syntax error?

No

YesRR-L RE

Syntax error?Yes

No

ISM active?

Yes

REreceivedCCO → ISM

TC-R-REJECT orTC-U-REJECTindicationTCU ← CHA

TerminateISMCCO → ISM

Yes

NoISM active?

InformTC-User

(local issue)

Yes

Invokeproblem type?

No

Syntax error?Yes

No

No (Note 2)

NOTE 1 – Choice of TC-U-REJ or TC-R-REJ indication is determined from the Problem code value.

NOTE 2 – If "general" problem received, ID may refer to an ISM run by the other end. Therefore, a local ISM is not terminated.

REJ

(Note 1)

Componentstype

derivable?

Figure A.6/Q.774 (sheet 2 of 4) – Component coordinator

Figure A

.6/Q.774 (sheet 2 of 4) – C

omponent coordinator

Page 60: T-REC-Q.774-199706-I!!PDF-E

54 Recommendation Q.774 (06/97)

3 6

5

2

4

T1132280-91

2 (3)

2 (3)

2 (4)

2

2

Invoke IDassigned?

Yes

TerminateISM

CCO → ISM

(Note 2)Assemble REJECT

component

Mark componentavailable for this

dialogue ID

TC-L-REJECTindication

TCU ← CHA

Discard this andsubsequent

components receivedin this message

Idle

Assemble REJECTcomponent

(Note 2)

Mark componentavailable for this

dialogue ID

TC-L-REJECTindication

TCU ← CHA

Discard thiscomponent

InformTC-User(Note 1)

NOTE 1 – Inform (local implementation) TC-user of syntax error in received Reject component.

NOTE 2 – Choose an appropriate problem code from values defined in Recommendation Q.772.

No

Figure A.6/Q.774 (sheet 3 of 4) – Component coordinator

Page 61: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 55

1

T1181360-96

1

Requestcomponents

DHA → CHA

AnyComponentsavailable?

No

Yes

Get nextcomponent

REJ ComponentType?

RR, RE, REJ

INV

Associate ISMwith this dialogue

Operation sent

CCO → ISM

Any morecomponents withthis dialogue ID?

Yes

No

Requestedcomponents

CHA → DHA

Idle

Retain thisREJ componentfor next request

from DHA

Yes

No

Message lengthexceeded?

No componentsfor this dialogue IDCHA → DHA

a) b)

a) Component sub-layer generated Reject. b) TC-user generated Reject.

Figure A.6/Q.774 (sheet 4 of 4) – Component coordinator

Page 62: T-REC-Q.774-199706-I!!PDF-E

56 Recommendation Q.774 (06/97)

T1132300-91

Idle

Operation sent

CCO → ISM

Start invocationtimer

Class ofoperation?

Operation sentclass 1

Class 1

Operation sentclass 2

Class 2

Operation sentclass 3

Class 3

Operation sentclass 4

Class 4

Figure A.7/Q.774 (sheet 1 of 6) – Invocation state machine

Page 63: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 57

T1181370-96

RR-L, REreceived

CCO → ISM

RR-NLreceived

CCO → ISM

Terminate

CCO → ISM

Invocation timerexpiry

TC-L-CANCELind.

TCU ← CHA

TC-RESULT-NLind.

TCU ← CHATCU ← CHA

Stop invocationtimer

Start reject timer

Wait for rejectOperation sent

class 1

Operation sentclass 1

Stop invocationtimer

TC-RESULT-LTC-U-ERROR ind.

Figure A.7/Q.774 (sheet 2 of 6) – Invocation state machine

T1181380-96

Wait for reject

Reject timerexpiry

Terminate

CCO → ISM

Stop reject timer

Figure A.7/Q.774 (sheet 3 of 6) – Invocation state machine

Page 64: T-REC-Q.774-199706-I!!PDF-E

58 Recommendation Q.774 (06/97)

T1181390-96

Operation sentclass 2

RE received

CCO → ISM

RR-L, RR-NLreceivedCCO → ISM

Terminate

CCO → ISM

Invocation timerexpiry

TC-L-CANCELind.

TCU ← CHA

Generate RJcomponent

CCO ← ISM

TC-U-ERRORind.

TCU ← CHA

Stop invocation timer

Start reject timer

Stop invocation timer

Wait for reject

Figure A.7/Q.774 (sheet 4 of 6) – Invocation state machine

Page 65: T-REC-Q.774-199706-I!!PDF-E

Recommendation Q.774 (06/97) 59

T1181400-96

RR-L received

CCO → ISM

RR-NL received

CCO → ISM

RE received

CCO → ISM

Terminate

CCO → ISMInvocation timerexpiry

TC-L-CANCELind.TCU ← CHA

Generate RJcomponent

CCO ← ISM

TC-RESULT-NLind.

TCU ← CHA

TC-RESULT-Lind.TCU ← CHA

Stop invocationtimer

Start reject timer

Wait for reject Operation sentclass 3

Stop invocationtimer

Operation sentclass 3

Figure A.7/Q.774 (sheet 5 of 6) – Invocation state machine

T1181410-96

Operation sentclass 4

RR-L-RR-NL,or RE received

CCO → ISM

Terminate

CCO → ISM

Invocation timerexpiry

TC-L-CANCELind.

TCU ← CHA

Localimplementationoption

Generate RJcomponent

CCO ← ISM

Stop invocationtimer

Figure A.7/Q.774 (sheet 6 of 6) – Invocation state machine

Page 66: T-REC-Q.774-199706-I!!PDF-E

60 Recommendation Q.774 (06/97)

A.4 Abbreviations used in the SDL diagrams

CCO Component Coordinator

CHA Component Handling

CSL Component Sub-Layer

DHA Dialogue Handling (component sub-layer)

INV Invoke

IR Initiation received state

IS Initiation sent state

ISM Invocation State Machine

L Last component

NL Not last component

RE Return Error

REJ Reject

RR Return Result

RR-L Return Result Last

RR-NL Return Result Not Last

SCCP Signalling Connection Control Part

TC Transaction Capabilities

TCAP Transaction Capabilities Application Part

TCO Transaction Coordinator

TCU TC-User

TSL Transaction Sub-Layer

TSM Transaction State Machine

UNI Unidirectional

Page 67: T-REC-Q.774-199706-I!!PDF-E

ITU-T RECOMMENDATIONS SERIES

Series A Organization of the work of the ITU-T

Series B Means of expression: definitions, symbols, classification

Series C General telecommunication statistics

Series D General tariff principles

Series E Overall network operation, telephone service, service operation and human factors

Series F Non-telephone telecommunication services

Series G Transmission systems and media, digital systems and networks

Series H Audiovisual and multimedia systems

Series I Integrated services digital network

Series J Transmission of television, sound programme and other multimedia signals

Series K Protection against interference

Series L Construction, installation and protection of cables and other elements of outside plant

Series M TMN and network maintenance: international transmission systems, telephone circuits,telegraphy, facsimile and leased circuits

Series N Maintenance: international sound programme and television transmission circuits

Series O Specifications of measuring equipment

Series P Telephone transmission quality, telephone installations, local line networks

Series Q Switching and signalling

Series R Telegraph transmission

Series S Telegraph services terminal equipment

Series T Terminals for telematic services

Series U Telegraph switching

Series V Data communication over the telephone network

Series X Data networks and open system communication

Series Z Programming languages