џWPCL ћџ2BJ|xа АH аа АА X агeга ХА6p&А6p&Х аеВ† а HH аС`(#'СааУ Уб cмˆ4 PŽТ бFascicle VI.9 Р-Р Rec. Q.775 Ф ФPAGE101б cмˆ4 PŽТ б ВееЃ† а HH аааб cмˆ4 PŽТ бPAGE118б cмˆ4 PŽТ бУ УFascicle VI.9 Р-Р Rec. Q.775 Ѓеа H№ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаа X  аУ Уб cмˆ4 PŽТ бThe drawings contained in this Recommendation have been done in Autocad. ‚Recommendation Q.775 Ср(AСб cмˆ4 PŽТ бGUIDELINES FOR USING TRANSACTION CAPABILITIES Та ТС€ HССр(OСб cмˆ4 PŽТ бФ ФУУ(Melbourne, 1988)ЦЦ ФФУ У1ТX ТIntroductionФ ФЦЦ 1.1Тh  ТУУGeneralЦЦ а H аФФС СThe purpose of this Recommendation is to provide guidelines to potential users of Transaction Capabilities (TCР-Рusers). The examples given are illustrations only; they indicate how an application may use TCAP, not how TCAP must be used in all cases. The technical basis of this document are Recommendations Q.771 to Q.774; in case of misalignment, these should be considered as the primary reference. С СThe main purpose of TCAP is to provide support for interactive applications in a distributed environment. TCAP is based on Recommendations X.219 and X.229 (ROSE) enhanced as necessary to provide the services needed by TCР-Рusers. Interactions between distributed application entities are modelled by Operations. An operation is invoked by an (originating) entity: the other (destination) entity attempts to execute the operation and possibly returns the outcome of this attempt. а H аС СThe semantics of an operation (represented by its name and parameters) is not relevant to TCAP; TCAP provides facilities which are independent of any particular operation. The TCР-Рuser, when defining an application, must: Та ТТ№ ТС€ С1)СpСselect operations;ЦЦ а H аТа ТТ№ ТС€ С2)СpСselect TCAP facilities to support these operations. Such facilities include the handling of individual operations, and the ability to have a number of related operations attached to an association between TCР-Рusers, called a dialogue;ЦЦ Та ТТ№ ТС€ С3)СpСdefine the application script.ЦЦ а H аС СThis Recommendation describes the selection process of defining and using operations. The operations appearing hereafter are fictitious, and are taken for illustration purposes only. Also described are the facilities offered by TCAP for handling one or a sequence of operations in a dialogue. The definition of specific sequences of operations belongs to the application protocol definition and is beyond the scope of this Recommendation; however, Chapter 4 gives a brief indication of what information an application specification should contain. С СTCAP services are made accessible to TCР-Рusers via primitives; these primitives model the interface between TCAP and its users, but do not constrain any implementation of this interface. 1.2Тh  ТУУEnvironmentЦЦ а H аФФС СTCAP defines the endР-РtoР-Рend protocol between TCР-Рusers which may be located in a Signalling System No. 7 network, and/or another network supporting TCAP protocols. а H аС СTwo broad categories of users have been considered (see Recommendation Q.771, РSР 1.3.2). Only the first category is considered here, i.e. those which are realР-Рtime sensitive users, and do not need to exchange large amounts of data. It is considered that for these users, protocols defined for OSI layers 4 to 6 in the X series of Recommendations would result in excessive overheads and hence are not used. A basic service has been specified, using a connectionless network service approach. Other categories of users might require connectionР-Рoriented network and higher layer services. Recomme Recommendation indicates what the connectionless approach cannot do, in order to help the application designer choose how to support an application. ‚У У2ТX ТOperationsФ ФЦЦ 2.1Тh  ТУУDefinitionЦЦ а H аФФС СAn operation is invoked by an originating TCР-Рuser to request a destination TCР-Рuser to perform a given action. С СA class is attached to an operation. This indicates whether either a successful outcome (result), or an unsuccessful outcome (error), or both, or none have to be reported by the destination. The outcome is reported in a result. а H аС СAs well as the class, the definition of the operation includes a timer value indicating when the operation should be completed. This value is not indicated to the remote TCР-Рuser; it is assumed that the application at both ends has a common understanding of the operations in use. С СAn У УoperationФ Ф is defined by: а H аТа ТР-РТ№ Тits operation code and the type of any parameters associated with the operation request;ЦЦ Та ТР-РТ№ Тits class;ЦЦ а Hр аТа ТР-РТ№ Тif the class requires report of success, the possible results corresponding to successful executions are defined by a list of parameters;ЦЦ а Hр аТа ТР-РТ№ Тif the class requires report of failure, the possible results corresponding to situations where the operation could not be executed completely by the remote TCР-Рuser. Each such situation is identified by a specific error cause; the list of these error causes is part of the operation definition. Diagnostic information can be added to the error cause: if present, it is part of the definition;ЦЦ а H аТа ТР-РТ№ Тthe list of possible linked operations, if replies consisting of linked operations are allowed for this operation. Linked operations have to be described separately;ЦЦ а H аТа ТР-РТ№ Тa timer value indicating the interval by which the operation has to be completed. This timer value is used to manage the component ID associated with the operation invocation.ЦЦ а HH а2.2Тh  ТУУExamplesЦЦ Та ТС€ HСФФ2.2.1С СУУSimple operationsЦЦ а H аФФС СУУNoteФФ Р-Р The operation invocation should fit into one message, and so should a report of unsuccessful outcome. Reports of success may be segmented using Return ResultР-РNot last and Return ResultР-РLast. С СУУClass 1 (both success and failure reported):ФФ а H аС СTranslate a freephone number into a called subscriber number; return the called number if the translation can be performed, otherwise indicate why it cannot; time allocated: 2 seconds. С СNo reply being received when the timer expires indicates an abnormal situation (e.g. the operation invocation may have been lost): the local TCР-Рuser is informed (operation cancel by TCAP). УУС СClass 2 (only failure reported): а H аФФС СPerform a routine test and send a reply only in case something went wrong; time allocated: 1 minute. а H аС СIn the case of a class 2 operation, the TCР-Рuser is informed if no result has been received when the timer expires. This is interpreted as a successful outcome, even if the invocation was lost. This aspect should be considered when selecting class 2. УУС СClass 3 (only success reported): а H аФФС СPerform a test: this corresponds to a pessimistic view, where failure is considered as the default option, not requiring any reply. а H аС СTimer expiry is indicated to the TCР-Рuser: this should be interpreted by the TCР-Рuser as a failure of the operation (but is considered normal by TC, which considers that the operation has terminated). This aspect should be considered when selecting class 3. УУС СClass 4 (neither success, nor failure reported): а H аФФС СSend a warning, without expecting a reply or acknowledgement of any kind. а H аС СIn this case, a result never arises from the invocation of the operation. The TCР-Рuser relies upon TCAP and the network to deliver the invocation. Notification of the timer expiry is a local matter.д k+дŒа H аС СThe diagrams in Figure 1/Q.775 illustrate possible sequences of primitives as seen by the TCР-Рuser originating an operation. ‚б cмˆ4 PŽТ б Ср IСFig. 1/Q.775 /T1120760Љ88 = 25 cm б cмˆ4 PŽТ б УУС СComparison with ROSE (Recommendation X.219) operation classes: ФФС СROSE provides for five classes of operations: classes 2 to 5, called asynchronous classes, are identical to classes 1 to 4 of TCAP. ROSE's class 1 is a synchronous class; it has no counterpart in TCAP, where fullР-Рduplex exchanges of components are considered. However, a TCР-Рuser can decide to operate in a synchronous manner (see РSР 3.2.1). Та ТС€ HС2.2.2С СУУMore sophisticated operationsЦЦ С СOperations with segmented results а H аФФС СA successfull result may be divided into several segments, each of which is indicated to the originator of the operation by one primitive. This facility, using the TCР-РRESULTР-РNL primitive, can be used by TCР-Рusers to overcome the absence of segmentation in the underlying layers. The last segment is indicated by the TCР-РRESULTР-РL primitive. С СThe report of an error cannot be segmented. С СApart from abnormal situations, responses are delivered to the remote TCР-Рuser in the order in which they have been passed to TCAP by the sending TCР-Рuser. а H аС СTC cannot identify a specific segment in the case of a segmented result. а H аС СExample E1: An operation requests the execution of a test. The result of a correct execution is segmented in three parts P1, P2 and P3 to be returned to the originator. а H аС СA possible primitive sequence for example E1 is given in Table 1/Q.775 ‚Ср SСб cмˆ4 PŽТ бTABLE 1/Q.775  вЦ‚HЈ ˜ јЦ⇂Ср UСааTC USER A Ср UСTC USER B а ˜ x ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req (Test, Class = 1) TCР-РINVOKE ind (Test) TCР-РRESULTР-РNL req (P1) а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡б cмˆ4 PŽТ б TCР-РRESULTР-РNL ind (P1) TCР-РRESULTР-РNL req (P2) а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡б cмˆ4 PŽТ б TCР-РRESULTР-РNL ind (P2) TCР-РRESULTР-РL req (P3) а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡б cмˆ4 PŽТ бTCР-РRESULTР-РL ind (P3) а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ XАјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСрHLСб cмˆ4 PŽТ бTime а Hx ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XАјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СThe diagram in Figure 2/Q.775 illustrates possible sequences of primitives seen by the originator of an operation (class 1) with segmented results. ‚Ср IСб cмˆ4 PŽТ бFig. 2/Q.775 /T1120770Љ88 = 13 cm б cмˆ4 PŽТ б УУС СLinked operations а H аФФС СAnother extension to the basic operation scheme is the ability to link an operation invocation to another operation invocation. а H аС СTypically, this facility covers situations where the destination of the original (linkedР-Рto) operation requires additional information in order to process this operation: this is the case where menu facilities are used а H а(menu facilities allow a user to make a sequence of choices, each being dependent on the previous ones). а H аС СExample E2: The operation is the execution of a test with several options; before the test is executed, these options are offered for selection to the test originator (TCР-Рuser A). Two operations are nested: operation 1 is the test; operation 2 is the option selection. TCР-Рuser A first responds to operation 2 before TCР-Рuser B can perform the test with the indicated option(s). а H аС СA possible primitive sequence for example E2 is given in Table 2/Q.775. ‚Ср SСб cмˆ4 PŽТ бTABLE 2/Q.775 вЦ‚H@ 0 ˜Цв‡Ср UСTC USER A аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHˆ№XH8ш@˜˜џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER B а 0 и ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ0 ˆ№XH8ш@˜˜џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа 0 и аб cмˆ4 PŽТ бвЦƒH@ 0 ( ˜Цв‡б cмˆ4 PŽТ бTCР-РINVOKE req (Test, Class = 1) TCР-РINVOKE ind (Test) TCР-РINVOKE req (OptionЉselection, Class = 1) Operation 1 begin Operation 2 begin а  и ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆ№XH8 ш@˜˜џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа  и аб cмˆ4 PŽТ бвЦƒH@ 0 ( ˜Цв‡б cмˆ4 PŽТ бTCР-РINVOKE ind а  ш а(OptionЉselection) TCР-РRESULTР-РL req (Options) TCР-РRESULTР-РL ind (Options) TCР-РRESULTР-РL req (TestЉresult) Operation 2 end а  и аб cмˆ4 PŽТ бˆа  и аб cмˆ4 PŽТ бвЦƒH@ 0 ( ˜Цв‡б cмˆ4 PŽТ бTCР-РRESULTР-РL ind (TestЉresult) Operation 1 end а  и аб cмˆ4 PŽТ бˆа  и аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА `И˜џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр,`gСб cмˆ4 PŽТ бTime а Hи ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`И˜џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СThere is no limit to the number of operation invocations which may be linked to a given operation invocation. а H аС СNote that when an operation B is linked to another operation A, they do not have to be nested. The only condition is that the invocation of B should take place before the outcome of A is reported; however, operation B does not have to terminate before operation A. 2.3Тh  ТУУComponentР-Рrelated facilities offered to TCР-РusersЦЦ Та ТС€ HСФФ2.3.1С СУУInvocationЦЦ а H аФФС СSo far, operations have been considered from the static point of view. Invocation introduces a dynamic aspect: a specific invocation of an operation has to be differentiated from other possible concurrent invocations of the same or of another operation. а H аС СEach particular activation of an operation is identified by a component ID. This component ID must be non ambiguous. It is selected by the TCР-Рuser which originates the operation invocation, and passed to the destination TCР-Рuser, which will reflect it in its reply(ies): therefore it correlates the replies to an invocation, and the invocation itself.д Д-дŒС СThe TCР-Рuser is free to assign any value to the component ID (index, address, . . .). а H аС СThe component ID associated with an invocation becomes reusable when the last or only segment of a result is received, or when certain abnormal situations are indicated by TCAP; however, the value should not be reallocated immediately for another operation activation, as immediate reallocation would prevent the correct handling of some situations (see below). С СThe period during which a component ID is released, but cannot be reallocated, is called the freezing period. а H аС СAs component IDs receive their value dynamically at the time the operation is invoked, their value cannot appear in the specification of the application protocols; rather, a Р"РlogicalР"Р value, to which a real value is substituted at execution time, should be indicated in order to identify an operation in a single flow. а H аС СTaking component IDs into consideration, the sequence of primitives for example E2 above becomes as shown in Table 3/Q.775. ‚Ср SСб cмˆ4 PŽТ бTABLE 3/Q.775 вЦ‚HИ Ј Цв‡Ср UСTC USER A Ср UСTC USER B а Ј X ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РINVOKE req а Ј № а(1, Test, Class = 1) TCР-РINVOKE ind (1, Test) TCР-РINVOKE req а Ј ˜ а(2, 1, OptionР-Рselection, Class = 1) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ бTCР-РINVOKE ind а Ј  а(2, 1, OptionР-Рselection) TCР-РRESULTР-РL req (2, Options) TCР-РRESULTР-РL ind (2, Options) TCР-РRESULTР-РL req (1, TestР-Рresult) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РRESULTР-РL ind (1, TestР-Рresult) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСррFСб cмˆ4 PŽТ бTime а HX ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаwhere the first parameter of a primitive indicates an invoke ID. When both parameters have to be present, the second one is the linked ID. This is a pure notational convention. Та ТС€ HС2.3.2С СУУCancel (by the TCР-Рuser)ФФЦЦ а H аС СThe TCР-Рuser requesting invocation of an operation may stop the activity associated with the corresponding component ID, for any reason it finds appropriate. However, cancel should in principle be reserved for abnormal situations: the normal method for terminating an operation is to receive a result or to terminate on timer expiry. а H аС СCancelling has local effect only: it does not prevent the remote TCР-Рuser from sending replies to a cancelled operation. When received, these replies will be rejected by TCAP, as illustrated in the following, which represents a sequence of primitives for the example E1 defined above, where TCР-Рuser A cancels the test after receiving the first segment of the result. а H аС СIn Table 4/Q.775, part P2 is not received by TCР-Рuser A: TCAP detects a reject situation before delivering it, and any attempt by TCР-Рuser B to send more replies is rejected at A's side. ‚Ср SСб cмˆ4 PŽТ бTABLE 4/Q.775 вЦ‚HИ Ј Цв‡Ср UСTC USER A Ср UСTC USER B а Ј X ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РINVOKE req а Ј № а(1, Test, Class = 1) TCР-РINVOKE ind (1, Test) TCР-РRESULTР-РNL req (1, P1) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б LTCР-РRESULTР-РNL ind (1, P1) Cancel decision: TCР-РCANCEL req (1) TCР-РLР-РREJECT ind (1, Problem Code) С СС X%С.... TCР-РRESULTР-РNL req (1, P2) С СС X%С.... а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а HX ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба HH ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаТа Т2.3.3УУСи СReject (by the TCР-Рuser)ЦЦ а Hx аФФС СA TCР-Рuser may decide to reject a component for any reason it finds appropriate, e.g. application protocol error, parameter missing in an operation or a reply, etc. а H аС СTCAP covers a number of cases, identified by the list of Problem Codes in Recommendation Q.773. In any of these cases, which correspond to situations where an operation or a reply is not correctly formatted, the TCР-Рuser may use the reject facility. Alternately, he may decide to return a failure indication (error component), which allows more detailed error and diagnostic information. operati operation: no more replies will be accepted for this invocation. Reject of a linked operation does not affect the linkedР-Рto operation. а H аС СThis is illustrated in Table 5/Q.775 where, in example E2, TCР-Рuser A did not expect the option selection process (it may be an optional feature), and rejects the operation with the Problem Code Р"РUnexpected Linked OperationР"Р. TCР-Рuser B may then decide to execute the test assuming a default option. ‚Ср SСб cмˆ4 PŽТ бTABLE 5/Q.775 вЦ‚HИ Ј Цв‡Ср UСTC USER A Ср UСTC USER B а Ј X ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РINVOKE req а Ј № а(1, Test, Class = 1) TCР-РINVOKE ind (1, Test) TCР-РINVOKE req а Ј ˜ а(2, 1, OptionР-Рselection, Class = 1) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РINVOKE ind а Ј  а(2, 1, OptionР-Рselection) TCР-РUР-РREJECT req (2, Problem Code) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РUР-РREJECT ind (2, Problem Code) TCР-РRESULTР-РL req (1, TestР-Рresult) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ б TCР-РRESULTР-РL ind (1, TestР-Рresult) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСррFСб cмˆ4 PŽТ бTime а HX ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба HH ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаreinvok reinvoke it (e.g. the invoke component was corrupted); this would be a new invocation (new Invoke ID). It may also decide to abort the dialogue. A very simple dialogue (a question and a response) may not define any recovery mechanisms, except when the operation is of critical importance (e.g. a database update). 2.4Тh  ТComponentVrelated abnormal situationsЦЦ Та ТС€ HС2.4.1С СComponent lossЦЦ а H аС СTCAP assumes a very low probability of message loss in the network; if this probability is too high for an application, it should use the connectionVoriented network service approach. If some protocol information needs an upgraded quality of service (e.g. charging information), the application should introduce its own mechanisms to obtain higher reliability for this information. С СLoss of an operation invocation а H аС СThe Table 6/Q.775 sequence illustrates the case, in example E1, where no response to the test is received before the time limit expires. ‚Ср SСTABLE 6/Q.775 вЦ‚HИ Ј Цв‡Ср UСTC USER A Ср UСTC USER B а Ј X ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ бTCР-РINVOKE req а Ј № а(1, Test, Class = 1) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ бвЦ‚HИ Ј Цв‡б cмˆ4 PŽТ бTime limit: TCР-РLР-РCANCEL ind (1) а Ј X аб cмˆ4 PŽТ бˆа Ј X аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСррFСб cмˆ4 PŽТ бTime а HX ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СWhen a class 1 operation is lost, the TCР-Рuser is informed when the timer asociated with the operation expires. When a class 1 operation with a а H аsingle result is lost, TCAP cannot indicate whether either the operation invocation, or the reply, was lost. If the application needs to discriminate between these two cases, it should do it in the application protocol (e.g. using the timeР-Рstamping or acknowledging the operation invocation before replying to it). а H аС СFor a class 2 operation, loss will be considered as a success (whether the invocation, or the failure report, was lost). This, considering the probability of loss, may be acceptable for non critical operations (e.g. statistical measurements). failu failure, whether the invocation, or the success report, has been lost. С СFor a class 4 operation, loss will not be visible to TCAP. УУС СLoss of a result Та ТФФР-РТ№ ТLoss of a non final result is never detected by TCAP.ЦЦ а H аТа ТР-РТ№ ТLoss of a final result will eventually be indicated to the TCР-Рuser when the time limit is reached, but cannot always beЦЦ а H аТа ТТ№ Тunambiguously interpreted as the loss of a reply; of no non final result has been received, it may be that the invocation was lost.ЦЦ а HH аУУС СLoss of a linked operation а H аФФС СThe loss of a linked operation has the same effect as the loss of a nonР-Рlinked operation. It has no effect on the linkedР-Рto operation. УУС СLoss of a reject component а H аФФС СThis case should be extremely infrequent, and no application should try to recover from such a situation. If the lost reject concerns an operation invocation, then when the operation timed out the TCР-Рuser which invoked the operation will consider that the invocation (or the reply) was lost, and react accordingly; if it concerns a reply, the originator of the reply will consider that it was correct: it will be up to the originator of the operation to detect the loss. Та ТС€ HС2.4.2С СУУComponent duplicationЦЦ а H аФФС СAs message duplication is very infrequent in the Signalling System No. 7 network, scripts for No. 7 applications need not define sophisticated scenarios in anticipation of such situations. However, any application in which duplication would be unacceptable should either define its own duplication detection mechanism or use a connectionР-Рoriented service.УУ С СDuplicate operation invocation а H аФФС СWhen an operation invocation is duplicated (by the service provider), the destination TCР-Рuser (B) may, or may not, detect the duplication: а H аТа ТР-РТ№ ТTCР-Рuser B detects the duplication: the best it can do in this case is to ignore the duplicate; rejection could be interpreted by the remote TCР-Рuser as rejection of the original invocation;ЦЦ а H аТа ТР-РТ№ ТTCР-Рuser B does not detect the duplication: this may happen when there is a masterР-Рslave relationship between A and B, and B executes the operation with no knowledge of the context.ЦЦ а H аС СAssuming the second case in exaple E1, a possible sequence could be as given in Table 7/Q.775. ‚Ср SСб cмˆ4 PŽТ бTABLE 7/Q.775 вЦ‚HˆhЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER A аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHXРАш@˜№hџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER B а ˆ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆXРАш@˜№hџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˆ аб cмˆ4 PŽТ бвЦƒHˆhЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РINVOKE req (1, Test, Class = 1) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆXРАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РINVOKE ind (1, Test) TCР-РINVOKE ind (1, Test) TCР-РRESULTР-РNL req (1, P1) TCР-РRESULTР-РNL req (1, P1) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа Undetected duplication of invocation а  ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа  аб cмˆ4 PŽТ бвЦƒHˆhЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTCР-РRESULTР-РNL ind (1, P1) TCР-РRESULTР-РNL ind (1, P1) а   аA detects an abnormal situation and rejects: TCР-РUР-РREJECT req (1, Problem Code) TC detects an abnormal situation and rejects P2: TCР-РLР-РREJECT ind (1, Problem Code) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџXРАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РRESULTР-РNL req (1, P2) TCР-РUР-РREJECT ind (1, Problem Code) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б а HH ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаˆа  ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бвЦƒHˆhЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа‚б cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџXРАџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РRР-РREJECT ind (1, Problem Code) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б а HH ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHиШ0˜hhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаˆаЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhhџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа‚Ср8PСTime а H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СIn this sequence, TCР-Рuser B considers two independent test invocations, and responds to each of them. The first result P1 is accepted; TCР-Рuser A detects that P1 is received a second time, and rejects it; this terminates the operation, and causes result P2 to be rejected when received (reject by TCAP). Therefore, both activities at B's side will terminate on receipt of rejects. УУС СDuplicate nonР-Рfinal result ФФС СIf a nonР-Рfinal result is duplicated, TCAP cannot detect it, and will deliver it twice to the TCР-Рuser. Detection of this situation is left to the application. УУС СDuplicate final result а H аФФС СIf a final result is duplicated, TCAP can detect the situation: the second final result is considered as abnormal (the operation has been terminated by the first Р"РfinalР"Р result), and TCAP rejects it. а H аС СTable 8/Q.775 shows a sequence for example E1 where the third segment of the result is duplicated (by the network). ‚Ср SСб cмˆ4 PŽТ бTABLE 8/Q.775 б cмˆ4 PŽТ б б cмˆ4 PŽТ бвЦ‚H˜ ˆјЦ⇂Ср UСб cмˆ4 PŽТ бTC USER A Ср UСTC USER B а ˆx ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆXА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˆx аб cмˆ4 PŽТ бвЦ‚H˜ ˆјЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req а ˆ а(1, Test, Class = 1) TCР-РRESULTР-РNL ind (1, P1) TCР-РRESULTР-РNL ind (1, P2) TCР-РRESULTР-РL ind (1, P3) Duplication of P3: TCР-РLР-РREJECT ind (1, Problem Code) TCР-РINVOKE ind (1, Test) TCР-РRESULTР-РNL req (1, P1) TCР-РRESULTР-РNL req (1, P2) TCР-РRESULTР-РL req (1, P3) а ˆx аб cмˆ4 PŽТ бˆа ˆx аб cмˆ4 PŽТ бвЦ‚H˜ ˆјЦв‡б cмˆ4 PŽТ б TCР-РRР-РREJECT ind (1, Problem Code) а ˆx аб cмˆ4 PŽТ бˆа ˆx аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆXАјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а Hx ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XАјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СComment: Discarding of duplicates in all cases by TCAP would probably appear as a nicer issue. However, it should be noted that: а H№ аТа ТТ№ ТС€ С1)СpСit would require another degree of complexity in TCAP, which contradicts the basic characteristics of TCAP in the connectionless approach;ЦЦ а H аТа ТТ№ ТС€ С2)СpСit corresponds to a situation which is extremely infrequent, at leastд Д-д in the No. 7 network.ЦЦ а H аС СTo cover these situations when required by an application, it would be better to use a connectionР-Рoriented network service approach, since duplication could then be detected and handled at the lower layers. Та ТС€ HС2.4.3С СУУComponent missequencingЦЦ а H аФФС СFor TCAP, the order of segmented results is not relevant: if the order is important to the TCР-Рuser, appropriate mechanisms should be defined in the application protocol (e.g. by introducing a numbering scheme to identify intermediate replies in a parameter of these replies, or by using a connectionР-Рoriented service). а H аС СDue to missequencing, a non final result may arive after a final result: when this occurs the non final result is rejected by TCAP. а H аС СThe sequence in Table 9/Q.775 illustrates what happens in example E1 when the last part of the result is received before the second one: both TCР-Рusers are informed. ‚Ср SСб cмˆ4 PŽТ бTABLE 9/Q.775 У УФ Ф б cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСб cмˆ4 PŽТ бTC USER A Ср UСTC USER B а ˆ˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡б cмˆ4 PŽТ бTCР-РINVOKE req (1, Test, Class = 1) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆрHА шиџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РINVOKE ind (1, Test) TCР-РRESULTР-РNL req (1, P1) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTCР-РRESULTР-РNL ind (1, P1) TCР-РRESULTР-РL ind (1, P3) Missequenced result: reject TCР-РLР-РREJECT ind (1, Problem Code) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆрHА шиџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РRESULTР-РNL req (1, P2) TCР-РRESULTР-РL req (1, P3) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆрHА шиџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаTCР-РRР-РREJECT ind (1, Problem Code) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј ˆXА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а H˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СIf a linked operation invocation is received after the final result of the linkedР-Рto operation (as a result of a missequencing), the linked operation is rejected. а H аС СTCAP assumes a very low probability of missequencing; if the supporting network is not satisfactory in this respect, the connectionР-Рoriented network service approach should be considered. Та ТС€ HС2.4.4С СУУReject of a component by TCAPЦЦ а H аФФС СA general principle when TCAP receives a component (operation invocation or reply) which is either not formatted correctly, or received out of context (e.g. a reply without a prior operation invocation), is to reject it, which means that: а H аТа ТТ№ ТС€ С1)СpСthe destination of the faulty component is first informed of the situation; TCAP provides whatever information is available on the nature of the component being rejectedЦЦ а H аТа ТТ№ ТС€ С2)СpСin reaction to this, the TCР-Рuser may decide to abort, continue, or end the dialogue. In the last two cases, when the TCР-Рuser notifies TCAP of its decision, the peer TCР-Рuser is informed of the reject.ЦЦ а H аС СPossible cases of reject by TCAP have been encountered in the previous sections. Whenever the component ID is recognised, rejection by TCAP causes the termination of the operation: a possible recovery is a new invocation of the terminated operation. When the rejected component is not identifiable, only the local TCР-Рuser is informed, and abort of the dialogue may be the appropriate reaction. Та ТС€ HС2.4.5С СУУOperation timer expiryЦЦ а H аtthe most unlikely), an implementationVdependent mechanism avoiding premature reallocation of component IDs is required. а H аС СTimer expiry indication corresponds to an abnormal situation only in the case of a class 1 operation. The TCVuser is then aware that either the invocation, or the reply, was lost. If no undesirable side effects arise, а H аanother invocation of the same operation can take place after timer expiry. This is illustrated by the sequence in Table 10/Q.775 for example E1. ‚Ср RСTABLE 10/Q.775 вЦ‚H˜ ˆиЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER A Ср UСTC USER B а ˆ˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаФФˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req (1, Test, Class = 1) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆрHА шиџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РINVOKE ind (1, Test) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б Timer expiry: TCР-РLР-РCANCEL ind (1) TCР-РINVOKE req (2, Test, Class = 1) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆрHА шиџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј ˆXА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а H˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба Hx ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СTimer expiry for a class 2 operation indicates that no failure was received nor will be accepted for this invocation: it is a definite indication of success (for class 2). A parallel situation applied to class 3 in case of failure. The indication of timer expiry for a class 4 operation is a local decision. ‚У У3ТX ТDialoguesЦЦ issu issued, a request is passed to TCAP, but nothing is sent to the remote TCVuser until a primitive requesting transmission is issued. These primitives, and their relation with operation handling primitives, are considered now. 3.1Тh  ТGrouping of components in a messageЦЦ а H аС СThe effect of TCVuser issuing a component handling primitive (unless this primitive has local effect only), is to build a component to be included in a message. The message is not transmitted until the TCVuser requests it. а H аС СNote that a component may also be generated as a result of a TCAP reject: in this case this component is put in the next message for the dialogue unless it is aborted. С СProvided that the maximum size of a message is not exceeded, several components can be grouped and sent to the remote end as a single message, thereby saving transmission overhead. This is done under control of the TCVuser, which explicitly specifies when it wants (a) component(s) to be sent. а H аС СExample E3, as given in Table 11/Q.775, shows the beginning of a dialogue with a network service centre where a switch requests instructions (operation 1) and receives a request to connect the call to a given destination address, and a request to send information (e.g. announcement or message to beд Д-д displayed) to the calling party. Both components are contained in a single message. ‚Ср RСTABLE 11/Q.775 вЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER A Ср UСTC USER BФ Ф а xИ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req а x€ а(1, ProvideР-РInstructions, Class = 1) TCР-РBEGIN req (control parameters) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РBEGIN ind (control parameters) TCР-РINVOKE ind а xШ а(1, ProvideР-Рinstructions) TCР-РINVOKE req (2, 1, ConnectР-РCall) TCР-РRESULTР-РL req (1, SendР-РInfo) TCР-РCONTINUE req (control parameters) а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РCONTINUE ind (control parameters) TCР-РINVOKE ind (2, 1, ConnectР-РCall) TCР-РRESULTР-РL ind (1, SendР-РInfo) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј xXА`ИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а HИ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`ИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СTCР-РBEGIN and TCР-РCONTINUE are transmission primitives described in РSР 3.2 below. С СThere may be one transmission primitive for each component, but the separation of primitives allows the grouping of components within a message. In addition, the information contained in the parameters of the transmission primitives (e.g. addressing information) applies to all the components included in the message. а H аС СAt the originating side, the primitive requesting transmission appears after a component handling primitive; this indicates that transmission of the preceeding components has to take place immediately; it avoids indicating specific components to be transmitted with a given transmission primitive, and allows transmission primitives without any associated component. а H аС СAt the destination side, the primitive requesting transmission appears first: it contains control information which is necessary for TCAP to deliver each of the components (if any) in the message; the last component of the message is indicated to the TCР-Рuser by the Р"РLast ComponentР"Р parameter. The components are delivered to the destination TCР-Рuser in the same order as they were passed to TCAP by the originating TCР-Рuser. 3.2Тh  ТУУDialogue handling facilitiesЦЦ а H аФФС СWhen two TCР-Рusers coР-Рoperate in an application, more than one operation invocation is generally required. The resulting flow of components has to be identified so that: Та ТТ№ ТС€ С1)СpСcomponents of the same flow can be relatedЦЦ Та ТТ№ ТС€ Сiidentified and allowed to run in parallel.ЦЦ а Hx аС СEach such flow is identified, for the TCР-Рuser, by a dialogue and a corresponding Dialogue ID parameter. The dialogue handling facility provided for this purpose is the structured dialogue. С СWhen only a single message is required to complete a distributed application, the Unidirectional message of the unstructured dialogue may be used. The originator does not expect a report of the outcome of the operation (i.e. may only invoke class 4 operations), but may receive a report of a protocol error if one occurs. Та ТС€ HС3.2.1С СУУStructured dialogueЦЦ Та ТС€ HСФФ3.2.1.1СpСУУGeneralФФЦЦ С СThe use of dialogues allows several flows of components to coР-Рexist between two TCР-Рusers. The Dialogue ID parameter is used in both operation handling and transmission (dialogue) handling primitives to determine which component(s) pertain(s) to which dialogue. а H аС СThe Dialogue ID parameter is represented (by convention) by the first parameter in these primitives, starting with letter D. Each TCР-Рuser has its own reference for a given dialogue. Local references (those used on the interface) are represented here; mapping of these local references onto protocol references included in messages is done by TCAP. а H аС СThree primitives have been defined for handling dialogues under normal circumstances; they indicate dialogue begin (TCР-РBEGIN), continuation (TCР-РCONTINUE) or end (TCР-РEND). Each of these primitives may be used to request transmission of 0, 1 or several components; these components may contain information relating to one or several operations. а H аС СTable 12/Q.775 illustrates a possible sequence for example E2, where the test request starts the dialogue, which ends when the test result has been sent. ‚Ср RСб cмˆ4 PŽТ бTABLE 12/Q.775 вЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER A Ср UСTC USER B а xИ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡б cмˆ4 PŽТ бTCР-РINVOKE req (D1, 1, Test, Class = 1) TCР-РBEGIN req (D1, Address) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаTCР-РBEGIN ind (D2, Address) TCР-РINVOKE ind (D2, 1, Test) TCР-РINVOKE req а xш а(D2, 2, 1, OptionР-Рselection, Class = 1) TCР-РCONTINUE req (D2) а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTCР-РCONTINUE ind (D1) TCР-РINVOKE ind а x` а(D1, 2, 1, OptionР-Рselection) TCР-РRESULTР-РL req (D1, 2, Options) TCР-РCONTINUEР-Рreq (D1) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаTCР-РCONTINUE ind (D2) TCР-РRESULTР-РL ind (D2, 2, Options) TCР-РRESULTР-РL req (D2, 1, TestР-Рresult) TCР-РEND req (D2) а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTCР-РEND ind (D1, normal) TCР-РRESULTР-РL ind (D1, 1, TestР-Рresult) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј xXА`ИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр!XСб cмˆ4 PŽТ бTime а HИ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`ИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба  ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаУУСpССи СNoteФФ Р-Р D1 and D2 are local references for the same dialogue and map onto transaction IDs which appear in the messages. а H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СAny grouping of components is allowed in the messages of a dialogue: TCAP does not check, for instance, that a message terminating a dialogue does а H аnot include operation invocations of class 1. FullР-Рduplex exchange of components is assumed: if a TCР-Рuser wants to introduce some restrictions, e.g. working in а H аa synchronous mode as defined in ROSE, it would have to introduce the necessary procedures itself. Та ТС€ HС3.2.1.2СpСУУExchange of messagesЦЦ а H аФФС СTransmission of messages is accomplished with the quality of service of the underlying layer services: no flow control or error recovery mechanisms are provided by TCAP. а H аТа ТР-РТ№ ТThe first dialogue handling primitive of a dialogue must indicate dialogue begin (TCР-РBEGIN). Further messages must not be sent from the side originating the dialogue until a message is received in the backward direction, indicating dialogue continuation.ЦЦ а H аТа ТР-РТ№ ТIf a TCР-Рuser tries to send a large number of messages in a short amount of time, no flow control mechanism in TCAP will prevent it.ЦЦ а Hx аТа ТР-РТ№ ТSCCP class 1 inР-Рsequence delivery can be requested as an option, indicated by the Quality of Service parameter. Note that this option may not be available end to end when interworking with a network which does not provide it.ЦЦ а HH аТа ТС€ HС3.2.1.3СpСУУDialogue endЦЦ а Hx аФФС СTCAP places no restriction on the ability for a TCР-Рuser to request dialogue end. It follows that messages may be lost if no precautions are taken in the application on when the dialogue may end. In particular, if the application protocol allows both TCР-Рusers to issue TCР-РEND primitives at about the same time, and if these primitives trigger transmission of components, it is likely that some (if not all) of these components will not be delivered to their respective destination TCР-Рusers. С СIt is up to the application to define, if necessary, its own rules concerning the right to end a dialogue: TCAP will not check them. Any а H аmessage received for a terminated dialogue is discarded if it requests dialogue end, and otherwise causes the dialogue to be aborted at the remote entity. С СThe differences between the three ways of ending a dialogue are as follows. УУС СPrearranged end а H аФФС СA typical application is the access to a distributed database, where the requesting user (TCР-Рuser A) does not know where the information it seeks is located. TCР-Рuser A broadcasts a request to each location which might have а H аthe information required, and will eventually receive a response from the TCР-Рuser which holds this information. Prearranged end avoids messages from the other destinations saying: Р"РI do not have this informationР"Р. Only the responding destination may continue the dialogue (if so wished); all other destination will, by convention, end the dialogue locally; the originator of the requests will also end the dialogues with the nonР-Рresponding destinations locally, when it receives the response to its request. Note that the convention is between applications: TCAP does not check that it is respected, nor is it indicated in the TCAP protocol. С СExample E4 in Table 13/Q.775 illustrates this situation, with two destinations B1 and B2; two dialogues (D1, D2) and (D3, D4) are started; B1 happens to own the requested information, and decides to continue the dialogue.‚б cмˆ4 PŽТ б Ср RСTABLE 13/Q.775 вЦƒH0 Ј xЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P 0 џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER A аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHxрH8АџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр TСTC USER B1 аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHиШ0˜xџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр TСTC USER B2 а ј ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜xџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ј аб cмˆ4 PŽТ бвЦƒH0 Ј xЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P 0 џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РINVOKE req (D1, 1, Question) TCР-РBEGIN req (D1, Address) TCР-РINVOKE req (D3, 1, Question) TCР-РBEGIN req (D3, Address) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxрH8АџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РBEGIN ind (D2, Address) TCР-РINVOKE ind (D2, 1, Question) TCР-РRESULTР-РL req (D2, 1, Response) TCР-РCONTINUE req (D2) С/€0СС0ј1С...... аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜xџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РBEGIN ind (D4, Address) TCР-РINVOKE ind (D4, 1, Question) а  аB2 does not have the information: TCР-РEND req (D4, local) а ј аб cмˆ4 PŽТ бˆа ј аб cмˆ4 PŽТ бвЦƒH0 Ј xЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ8pи P 0 џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РCONTINUE ind (D1) TCР-РRESULTР-РL ind (D1, 1, Response) С/€0СD1 goes on С/€0СD3 ends locally TCР-РEND req (D3, local) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxрH8АџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџиШ0˜xџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а ј аб cмˆ4 PŽТ бˆа ј аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј XА`ИxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр/@nСб cмˆ4 PŽТ бTime а Hј ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СPrearranged end may also be used when a TCР-Рuser wants to send information, and does not expect a reply of any kind afterwards.УУ С СBasic end а H аФФС СWhen a TCР-Рuser issues the TCР-РEND request primitive, it causes transmission of any pending components to the remote end. TCAP does not check that all operation invocations have received a response when dialogue end is requested: no notification is given to the TCР-Рuser that any pending operation invocations have not received a final result. а H аС СAt the receiving end, the dialogue is considered terminated when all the components received within the message indicating the end have been delivered to the TCР-Рuser. а H аС СExample: the dialogue ends when the test in example E1, Table 14/Q.775, receives a response. ‚Ср RСб cмˆ4 PŽТ бTABLE 14/Q.775 вЦ‚H˜ ˆиЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр UСTC USER A Ср UСTC USER B а ˆ˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˜ ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡СрАRСб cмˆ4 PŽТ б..... TCР-РEND ind (D1) TCР-РRESULTР-РNL ind (D1, 1, P1) TCР-РRESULTР-РNL ind (D1, 1, P2) TCР-РRESULTР-РL ind (D1, 1, P3) End of dialogue for A аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџˆрHА шиџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр$СС$H'С...... TCР-РRESULTР-РNL req (D2, 1, P1) TCР-РRESULTР-РNL req (D2, 1, P2) TCР-РRESULTР-РL req (D2, 1, P3) TCР-РEND req (D2, normal) End of dialogue for B а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј ˆXА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а H˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба HH ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаУУС СAbort by the TCР-Рuser а H аФФС СThe abort facility allows the TCР-Рuser to stop the dialogue at any time. A typical case is when the user abandons the service. The main differences between this and normal ending are: а H аТа ТР-РТ№ Тany components for which transmission is pending are not sent to the peer entity;ЦЦ а H аТа ТР-РТ№ ТpeerР-РtoР-Рpeer information can be indicated at the time the abort is issued, and this is delivered to the remote TCР-Рuser.ЦЦ а H аС СThe sequence given in Table 15/Q.775 shows a user abandonment in example E2. Та ТС€ HС3.2.1.4СpСУУMessageР-Рrelated abnormal situationsЦЦ а H аФФС СThese are considered independently from the effects of such events in the Component subР-Рlayer.УУ С СMessage loss ФФС СTCAP provides no protection against message loss. Three cases are identified: а H аТа ТТ№ ТС€ С1)СpСthe message begins a new dialogue: the dialogue will exist at the originating side only, and no message will be allowed in either direction. Eventually, an implementationР-Рdependent mechanism of TCAP ends the dialogue at the originating end;ЦЦ а H аТа ТТ№ ТС€ С2)СpСthe message continues an existing dialogue: loss is not detected. TCAP will react (or not) to the loss of included components as indicated in РSР 2.4.1 above;ЦЦ а H аТа ТТ№ ТС€ С3)СpСthe message ends a dialogue: TCAP will eventually react if this message contained a response to a class 1 operation: otherwise an implementationР-Рdependent mechanism may end the dialogue at the destination end.ЦЦ а HH а‚Ср8KСб cмˆ4 PŽТ бTABLE 15/Q.775 вЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј ˆџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаСр8NСTC USER A Ср8NСTC USER B а xИ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req (D1, 1, Test, Class = 1) TCР-РBEGIN req (D1, Address) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РBEGIN ind (D2, Address) TCР-РINVOKE ind (D2, 1, Test) TCР-РINVOKE req а xш а(D2, 2, 1, OptionР-Рselection, Class = 1) TCР-РCONTINUE req (D2) а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РCONTINUE ind (D1) TCР-РINVOKE ind а x` а(D1, 2, 1, OptionР-Рselection) User abandon: TCР-РUР-РABORT req (D1, Cause) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ бвЦ‚HˆxИЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆxџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџxа8 €иИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РUР-РABORT ind (D2, Cause) а xИ аб cмˆ4 PŽТ бˆа xИ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј xXА`ИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а HИ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`ИџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба HH ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаУУС СMessage duplication а H аФФС СDuplication of a BEGIN message causes two transactions to be opened, as indicated below: each of these transactions has its own local ID, and the same destination ID. The TCР-Рuser eventually detects that something is wrong, and both dialogues are aborted. С СThe sequence given in Table 16/Q.775 illustrates a duplication of the BEGIN message in Example E2. ‚Ср RСб cмˆ4 PŽТ бTABLE 16/Q.775 вЦ‚HЈ ˜ јЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј Ј џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа Ср UСTC USER A Ср UСTC USER B а ˜ x ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req а ˜ а(D1, 1, Test, Class = 1) TCР-РBEGIN req (D1, Address) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ˜ №XР( јјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РCONTINUE ind (D1) TCР-РINVOKE ind а ˜ Ј а(D1, 2, 1, OptionР-Рselect) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ˜ №XР( јјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа TCР-РBEGIN ind (D2, Address) TCР-РINVOKE ind (D2, 1, Test) Duplicated BEGIN: TCР-РBEGIN ind (D3, Address) TCР-РINVOKE ind (D3, 1, Test) Response to the first Begin TCР-РINVOKE req (D2, 2, 1, OptionР-Рselect, Class = 1) TCР-РCONTINUE req (D2) Response to the second Begin TCР-РINVOKE ind (D3, 2, 1, OptionР-Рselect, Class = 1) TCР-РCONTINUE req (D3) а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б TCР-РCONTINUE ind (D1) TCР-РINVOKE ind а ˜ Ј а(D1, 2, 1, OptionР-Рselect) TCР-Рuser considers that this invocation is abnormal, and may reject it, or abort one of the dialogues: TCР-РUР-РABORT req (D1, Cause) аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ˜ №XР( јјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬа а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ бвЦ‚HЈ ˜ јЦв‡аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј Ј ˜ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ˜ №XР( јјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаTCР-РUР-РABORT ind (D3, Cause) а ˜ x аб cмˆ4 PŽТ бˆа ˜ x аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј ˜ XАјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ б Time а Hx ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XАјџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба H ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СAt that moment, there is still one dialogue (with local ID D2) at TCР-Рuser B's side, but no dialogue at A's side. TCР-Рuser B will receive an indication from TCAP when operation 2 of dialogue D2 timeouts with no reply (TCР-РLР-РCANCEL ind), and may then decide to abort D2. Note that the situation would be more difficult to detect, had TCР-Рuser B not invoked a class 1 operation. С СDuplication of a CONTINUE message is not detected by TCAP. а H аС СWhen an END message is duplicated, the second message is received with an ID which does not correspond to an active dialogue: TCAP reacts by discarding the duplicate message. УУС СMissequencing of messages а H аФФС СWhen the missequenced messages involve neither the beginning, nor the end of a dialogue, missequencing is not detected by TCAP, and may result in component missequencing, to which TCAP would react as indicated in РSР 2.5.3 above. а H аС СWhen a message indicating dialogue continuation arrives after a message indicating the end of the same dialogue, it is not delivered, and causes TCAP to abort the dialogue; the TCР-Рuser will probably detect the loss when receiving a premature dialogue end indication. If the application needs to recover from this case, a new dialogue should be started. УУС СMessage corruption ФФС СWhen receiving a corrupted message, TCAP reacts as indicated in Recommendation Q.774. а H аС СTable 17/Q.775 shows the sequence of primitives when TCAP decides to abort the dialogue after receiving a corrupted message in example E2. ‚Ср RСб cмˆ4 PŽТ бTABLE 17/Q.775 вЦ‚H˜ ˆиЦв‡Ср UСTC USER A Ср UСTC USER B а ˆ˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџpи P Ј ˆXА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡б cмˆ4 PŽТ б TCР-РINVOKE req а ˆ0 а(D1, 1, Test, Class = 1) TCР-РBEGIN req (D1, Address) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡б cмˆ4 PŽТ б TCР-РBEGIN ind (D2, Address) TCР-РINVOKE ind (D2, 1, Test) TCР-РINVOKE req а ˆ@ а(D2, 2, 1, OptionР-Рselect, Class = 1) TCР-РCONTINUE req (D2) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ бвЦ‚H˜ ˆиЦв‡б cмˆ4 PŽТ б Corrupted message: TCР-РABORT ind (D1, Cause) TCР-РABORT ind (D2, Cause) а ˆ˜ аб cмˆ4 PŽТ бˆа ˆ˜ аб cмˆ4 PŽТ баЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ јP Ј ˆXА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ бTime а H˜ ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџH јP Ј XА`иџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаб cмˆ4 PŽТ ба Hx ааЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаТа Т3.2.1.5СP СУУRelations between dialogue handling and operation handlingЦЦ а H аФФС СDepending on the moment when the dialogue end is requested, the TCAP facilities associated with an operation will be available until the end of the dialogue, or not. The following gives some guidelines on when dialogue end can be requested; if these are not respected, TCAP will not refuse the request for dialogue end. а H аС СThe problems that may result from the collision of messages requesting dialogue end have been considered above. С СNormal end should not be requested when: Та ТР-РТ№ Тthere are operation invocations pending for the dialogue;ЦЦ а H аТа ТР-РТ№ Тthe application protocol anticipates that replies being transmitted with the termination request could be rejected.ЦЦ а H аС СIn addition, a request for dialogue end must not trigger transmission of operation invocations, since no reply could be received for these operations. а H аС СMany applications might not define recovery scenarios in response to a rejected reply. This legitimises the transmission of replies or of class 4 operations in a message indicating dialogue end. The other applications should either use the connectionР-Рoriented network service approach, or end the dialogue with a message containing no component, that would be sent only when a reject indication can no longer be received. Та ТС€ HС3.2.2С СУУUnstructured dialogueЦЦ ФФС СA Unidirectional message will contain either only class 4 operation invocations or reports of protocol errors in such invocations. Multiple components can be transmitted in a Unidirectional message provided that the maximum size of a message is not exceeded. ‚У У4ТX ТApplication service elements and applicationФ Ф б cмˆ4 PŽТ бУ УentitiesФ ФЦЦ б cмˆ4 PŽТ б4.1Тh  ТУУIntroductionЦЦ а H аФФС СThis material supplements preceding material providing guidelines on the usage of TC by describing what needs to be included in an Application Entity (AE) specification. This material is based on CCITT Recommendations X.219 and X.229 and requires further study. а H аС СCCITT Recommendation Q.700, РSР 3.2.3.6, describes how Application Service Elements (ASEs) and Application Entities (AEs) are structured and how an AE is addressed in Signalling System No. 7. а H аС СThis section illustrates that architecture, considering the functional decomposition of an application, and describes how AEs, ASEs, operations and errors should be defined. 4.2Тh  ТУУDecomposition of functionalityФФЦЦ а H аС СApplication process functions communicate through one or more Application Entities (AEs). The combination of two peer AEs plus their interaction is called the Application Context. An AE consists of communications for one or more functions of an application. Each communications function forms an ASE which is an integrated set of actions and may be used in more than an AE. TCAP is itself an ASE which is used by other ASEs as well as being common to AEs (see РSР 3.2.3.6/Q.700). An ASE identifies one or more operations and specifies how those operations are used; that is, which peer entity may invokeд Д- д which operations, and in what order. Operations may be selected from one or more libraries. а H аС СAn ASE provides a service to the user of the ASE. An ASE is used by two complementary AEs: the consumer of the service and the supplier of the service. The consumer of the service is the end that initiates the AE to AE communication. An ASE user is thus generally asymmetric. С СWithin an ASE, the mechanism for providing the ASE service is the invocation of operations by the service requestor on the service provider. Each operation provides a part of the service in an inherently asymmetric manner since it is invoked by one AE and executed by the peer AE. An ASE generally includes more than one operation. An ASE user is, in general, not limited to either invoking or performing operations, but may both invoke or perform the same or different operations. Also, an ASE user may exist at a pair of nodes such that either node may request the same service from the other node. That is, the AEs at the nodes may be symmetric, both invoking and executing the same operations. С СУУNoteФФ Р-Р Primitives which provide a standard service interface for the access of ASEs within AEs are for further study. а H аС СFigure 3/Q.775 illustrates the decomposition of this functionality and provides examples. ‚Ср JСб cмˆ4 PŽТ бFig. 3/Q.775 /T1120780Љ88 = 8cm б cмˆ4 PŽТ б 4.3Тh  ТУУHow to specify an AEЦЦ а H аФФС СCCITT Recommendation Q.700, РSР 3.2.3.6, describes how two Signalling System No. 7 Application Processes communicate via Application Entities, and also the structure of an AE. а H аС СThe application designer should provide a definition for each type of AE. It should contain: а H аТа ТР-РТ№ ТA general description of the services supported by the combination of the two peer AEs and communicating by a dialogue. (In Recommendation X.229 terminology, this corresponds to the Р"РApplication ContextР"Р).ЦЦ а H аТа ТР-РТ№ ТA definition of the complete application protcol between the peer AEs by:ЦЦ Та ТТ№ ТР-РТhpТidentifying each ASE constituting the AE, andЦЦ Та ТТ№ ТР-РТhpТindicating which of the peer AEs initiates the service.ЦЦ а H аТа ТР-РТ№ ТAny special constraints to ensure that peer AEs with different versions are compatible.ЦЦ а H аС СA formal specification of the application context using the Recommendation X.229 APPLICATIONР-РCONTEXT macro is for further study. а H аС СSince each AE constitutes a single coding domain for operation and error code values (addressed by SCCP subsystem number in a connectionless network service environment), each operation or error code value must be unique within the AE (see РSР 4.5). 4.4Тh  ТУУHow to specify an ASEЦЦ а H аФФС СThe definition of an ASE is part of the stage 3 of the service description methodology, as defined by Recommendation I.220. С СThe ASE description should provide: Та ТР-РТ№ ТA general description of the ASE and its procedures.ЦЦ а H аТа ТР-РТ№ ТThe information flows between the entities which are communicating to support the service, based on stage 2, with additions and enhancements that are needed as part of the protocol design.ЦЦ а H аТа ТР-РТ№ ТA detailed description of the ASE protocol. This includes the sequence in which operations may be invoked, and the reaction to abnormal situations. The definition should include how protocol version interwork. Dialogue begin, continuation and end should be specified. This section should describe the interaction between the ASE and the TCAP component subР-Рlayer expressed in terms of the primitive interface.ЦЦ Та ТР-РТ№ ТSDL diagrams.ЦЦ а H аС СRecommendation X.229 (ROSE) defines an APPLICATIONР-РSERVICEР-РELEMENT macro which may be used to specify an ASE formally. It identifies which operations are contained in the AE and how they are invoked. The use of this macro in Signalling System No. 7 is for further study. 4.5Тh  ТУУHow to specify operations and errorsЦЦ Та ТС€ HСФФ4.5.1С СУУInformation needed to specify operations and errorsЦЦ ФФС СTo specify an operation, the following items must be defined: Та ТР-РТ№ ТThe operation name.ЦЦ а HX аТа ТР-РТ№ ТThe operation code. This may be local or global. See РSР 4.5.2.ЦЦ а H аТа ТР-РТ№ ТThe operation class. A value in the range 1 to 4 as defined in РSР 2.2.1.ЦЦ Та ТР-РТ№ ТThe parameters accompanying the operation invocation (input parameters). Further essential information to supplement that provided in the parameters with the original invocation may be requested using linked operations.ЦЦ а H аТа ТР-РТ№ ТThe parameters that may be returned as the result of a successful outcome (Return Result), whenever the operation reports success (possitive output parameters). The way these parameters are actually passed (in a single component or several) is no part of the operation description.ЦЦ а H аТа ТР-РТ№ ТThe error codes and associated parameters that may be returned as the result of an unsuccessful outcome (Return Error) of the operation execution, whenever this operation reports failure (negative output parameters). An error code must be present when reporting failure, and all the possible values be defined as part of the operation description.ЦЦ Та ТР-РТ№ ТThe allowed linked operations (see РSР 2.2.2).ЦЦ Та ТР-РТ№ ТThe timer value for completion of the operation.ЦЦ а H аС СThe operation description consists of a Table indicating the eight items above, together with a short prose description of what the operation does. а H аA formal definition using Annex A/Q.773 OPERATION and ERROR macros should also be included to unambiguously indicate which parameters are mandatory, which are optional with default values as applicable, and which individual, sets or sequences of parameters are legal as input, positive output, and negative output. The OPERATION and ERROR type (macro) definitions are exported from the TCAP definitions (Annex A/Q.773) and need to be imported into the ASE being defined in order to define operations and errors. а H аС СThe syntax of the OPERATION MACRO (reproduced from Annex A/Q.773) is as follows: OPERATION MACRO ::= BEGIN TYPE NOTATION ::=СЈ СС СС X%СParameter Result Errors Linked Operations VALUE NOTATION ::=СЈ СС Сvalue{VALUE CHOICE{ С СС ССpССи ССЈ СС СС X%СС%А*СС*/СlocalValue INTEGER, С СС ССpССи ССЈ СС СС X%СС%А*СС*/СglobalValue OBJECT IDENTIFIER }} Parameter ::=СP ССЈ СС СС X%СС%А*СР"РPARAMETERР"Р Named Type | empty Result ::=Си ССЈ СС СС X%СС%А*СР"РRESULTР"Р ResultType | empty ResultType ::=СЈ СС СС X%СС%А*СNamedType | empty Errors ::=Си ССЈ СС СС X%СС%А*СР"РERRORSР"Р Р"Р{Р"РErrorNamesР"Р}Р"Р | empty а H аLinkedOperations ::=С СС X%СС%А*СР"РLINKEDР"Р Р"Р{Р"РLinkedOperationNamesР"Р}Р"Р | empty ErrorNames ::=СЈ СС СС X%СС%А*СErrorList | empty ErrorList ::=СP ССЈ СС СС X%СС%А*СError | ErrorList Р"Р,Р"Р Error а H аError ::=СpССи ССЈ СС СС X%СС%А*Сvalue (ERROR) Р-РЉУУ shall reference an error valueФФ а H аС СС ССpССи ССЈ СС С| type Р-РЉУУ shall reference an error type if no error valueФФ аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи ˆXА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СС ССpССи ССˆСР-РЉУУ is specifiedФФ аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаLinkedOperationNames ::=СX%СOperationList | empty OperationList ::=СЈ СС СС X%СС%А*СOperation | OperationList Р"Р,Р"Р Operation а H аOperation ::=СP ССЈ СС СС X%СС%А*Сvalue (OPERATION) Р-РЉУУ shall reference an operation valueФФ а H аС СС ССpССи ССЈ СС С| type Р-РЉУУ shall reference an operation type if no error valueФФ аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи ˆXА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаС СС ССpССи ССˆСР-РЉУУ is specifiedФФ аЬџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџHpи P Ј XА`ИhР!(#џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЬаNamedType ::=СP ССЈ СС СС X%Сidentifier type | type ENDд Д- дŒERROR MACRO ::= BEGIN TYPE NOTATION ::=СЈ СС СС X%СParameter VALUE NOTATION ::=СЈ СС Сvalue (VALUE CHOICE{ С СС ССpССи ССЈ СС СС X%СС%А*СС*/СlocalValue INTEGER, С СС ССpССи ССЈ СС СС X%СС%А*СС*/СglobalValue OBJECT IDENTIFIER }) Parameter ::=СP ССЈ СС СС X%СС%А*СР"РPARAMETERР"Р NamedType | empty NamedType ::=СP ССЈ СС СС X%Сidentifier type | type END С СThe use of local and global values is explained in РSР 4.5.2. а H аС СAs an example, the CUGCheck2 operation, which is used to check whether an incoming call is compatible with the CUG characteristics of the called party, is described here in both (abbreviated) formal notation, and in the form of a table. Та ТС€ HС4.5.2С СУУExample of operation descriptionЦЦ ФФС С(УУNoteФФ Р-Р Arbitrary section numbers are used in this example.) Та ТС€ HС3.4.3.1СpСУУDescription of operationsЦЦ Та ТС€ HСФФ3.4.3.1.1СpСУУCUG check 1ФФ