-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathtcap.db
2602 lines (2507 loc) · 103 KB
/
tcap.db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
www.dialogic.com
Dialogic® SS7 Protocols
TCAP Programmer's Manual
2
Copyright© 1995-2008 Dialogic Corporation. All Rights Reserved. You may not reproduce this document in whole or in part without
permission in writing from Dialogic Corporation at the address provided below.
All contents of this document are furnished for informational use only and are subject to change without notice and do not represent a
commitment on the part of Dialogic Corporation or its subsidiaries (“Dialogic”). Reasonable effort is made to ensure the accuracy of the
information contained in the document. However, Dialogic does not warrant the accuracy of this information and cannot accept
responsibility for errors, inaccuracies or omissions that may be contained in this document.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH DIALOGIC® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN
A SIGNED AGREEMENT BETWEEN YOU AND DIALOGIC, DIALOGIC ASSUMES NO LIABILITY WHATSOEVER, AND DIALOGIC DISCLAIMS
ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF DIALOGIC PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY INTELLECTUAL
PROPERTY RIGHT OF A THIRD PARTY.
Dialogic products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility
applications.
It is possible that the use or implementation of any one of the concepts, applications, or ideas described in this document, in marketing
collateral produced by or on web pages maintained by Dialogic may infringe one or more patents or other intellectual property rights
owned by third parties. Dialogic does not provide any intellectual property licenses with the sale of Dialogic products other than a
license to use such product in accordance with intellectual property owned or validly licensed by Dialogic and no such licenses are
provided except pursuant to a signed agreement with Dialogic. More detailed information about such intellectual property is available
from Dialogic’s legal department at 9800 Cavendish Blvd., 5th Floor, Montreal, Quebec, Canada H4M 2V9.
Dialogic encourages all users of its products to procure all necessary intellectual property licenses required to implement
any concepts or applications and does not condone or encourage any intellectual property infringement and disclaims any
responsibility related thereto. These intellectual property licenses may differ from country to country and it is the
responsibility of those who develop the concepts or applications to be aware of and comply with different national license
requirements.
Dialogic, Dialogic Pro, Brooktrout, Cantata, SnowShore, Eicon, Eicon Networks, Eiconcard, Diva, SIPcontrol, Diva ISDN, TruFax,
Realblocs, Realcomm 100, NetAccess, Instant ISDN, TRXStream, Exnet, Exnet Connect, EXS, ExchangePlus VSE, Switchkit, N20,
Powering The Service-Ready Network, Vantage, Connecting People to Information, Connecting to Growth and Shiva, among others as
well as related logos, are either registered trademarks or trademarks of Dialogic. Dialogic's trademarks may be used publicly only with
permission from Dialogic. Such permission may only be granted by Dialogic’s legal department at 9800 Cavendish Blvd., 5th Floor,
Montreal, Quebec, Canada H4M 2V9. Any authorized use of Dialogic's trademarks will be subject to full respect of the trademark
guidelines published by Dialogic from time to time and any use of Dialogic’s trademarks requires proper acknowledgement.
The names of actual companies and products mentioned herein are the trademarks of their respective owners.
Publication Date: February 2008
Document Number: U06SSS, Issue 10
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
3
Contents
Revision History...........................................................................................................5
1 Introduction........................................................................................................7
1.1 Overview...............................................................................................................................7
1.2 Abbreviations.........................................................................................................................7
1.3 Related Documentation............................................................................................................7
1.4 Feature Overview....................................................................................................................8
2 General Description.............................................................................................9
2.1 Module Overview....................................................................................................................9
2.2 Module Configuration.............................................................................................................10
2.3 Dialogue ID Assignment.........................................................................................................10
2.4 Dialogue ID Groups...............................................................................................................11
2.5 Local Transaction ID Format...................................................................................................11
2.6 Constant Definitions..............................................................................................................12
3 Interface to System Services.............................................................................13
3.1 System Functions.................................................................................................................13
3.2 Timer Operation...................................................................................................................13
4 Interface to Network Layer...............................................................................15
5 Interface to TC-User..........................................................................................17
5.1 Introduction.........................................................................................................................17
5.2 Multiple TC-User Applications.................................................................................................17
5.3 Primitive Parameters.............................................................................................................18
5.4 Component Primitive Types....................................................................................................19
5.5 Dialogue Primitive Types........................................................................................................20
5.6 TC-COMPONENT-REQUEST.....................................................................................................21
5.7 TC-COMPONENT-INDICATION.................................................................................................24
5.8 TC-DIALOGUE-REQUEST........................................................................................................26
5.9 TC-DIALOGUE-INDICATION....................................................................................................32
6 Management Interface......................................................................................35
7 Non-Primitive Interface....................................................................................37
7.1 TCAP Configuration Request...................................................................................................37
7.2 Configure NC Request............................................................................................................43
7.3 Configure Dialogue Group Request..........................................................................................44
7.4 Configure TC-User Request....................................................................................................46
7.5 Configure TC-Instance Request...............................................................................................47
7.6 TCAP Set Default Parameters Request.....................................................................................48
7.7 Read TCAP Statistics Request.................................................................................................50
7.8 Read TCAP RAM Request........................................................................................................51
7.9 Read TCAP Dialogue Request..................................................................................................52
7.10 Read TCAP Module Status Request..........................................................................................53
7.11 Read TCAP Dialogue Status Request........................................................................................55
7.12 Maintenance Event Indication.................................................................................................57
7.13 Software Event Indication......................................................................................................58
7.14 TCAP Dialogue Discard Indication............................................................................................60
7.15 TCAP Component Discard Indication........................................................................................61
7.16 Read Revision Request..........................................................................................................62
7.17 Management Event Indication................................................................................................63
Contents
4
7.18 Set Trace Mask Request........................................................................................................64
7.19 Trace Event Indication...........................................................................................................65
7.20 Module Reset Request...........................................................................................................66
Appendix A ...............................................................................................................67
A.1 Timer Services.....................................................................................................................67
A.2 Keep Time...........................................................................................................................67
A.3 Timer Expiry........................................................................................................................68
Appendix B ...............................................................................................................69
B.1 Message Type Reference.......................................................................................................69
Index ...............................................................................................................71
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
5
Revision History
Issue Date Description
10 February 2008 Document rebranded and reformatted.
9 Sep 2006 Added statement on ITU-T TCAP 1997 support.
Added new messages:
Added new status returned in confirmation messages for network context.
8 May 2004 Addition support of TCPPN_timeout with length=0 to disable TCAP timer.
7 July 2003 Branding changed: references to System7 removed.
6 November -2001 Messages to monitor module and dialogue status added.
5 August 2000 Addition of message definitions for dialogue discard indications, component
discards indications and module version identification.
4 February 1999 Address format parameter added to module configuration.
Operation with multiple local application programs (sub-systems) described.
Description of TCP_MSG_S_TCU_ID added.
Additional information provided for parameters in TCP_MSG_CONFIG.
Structure of timer messages added in an appendix
Message type reference appendix added
3 December 1998 Dialogue Groups and message tracing added.
2 May 1997 ANSI operation added.
1 November 1995 Minor typographical corrections and the addition of the TC-NULL-IND primitive.
Note: The latest release issue of this guide can be found at:
http://www.dialogic.com/support/helpweb/signaling
Section Revision History
6
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
7
Introduction
1.1 Overview
The TCAP module is a portable software implementation of the Signaling
System Number 7, Transaction Capabilities Application Part (TCAP). It
operates according to either ITU-T Q.771-Q.774 (1992/1996) or ANSI
T1.114-1996, the selection being made by a run-time option. This is the
Programmer's Manual, which is intended for users developing their own
applications that will interface with, and use the functionality provided by, the
TCAP module.
The module uses the services provided by the underlying network-layer
service provider for the transfer of information between nodes, and provides
generic services to applications, while remaining independent of both the
network layer and the application.
The TCAP module is an event-driven task, which uses standard structured
message types for communication with other layers of the protocol stack.
These messages are used to convey the protocol primitives between TCAP
and the TC-User and TCAP and the network layer. Each message contains the
primitive parameters as defined in the CCITT recommendations, thereby
ensuring that the module can easily be interfaced with other vendors’
implementations of the adjacent layers. Typically, the module is used in
conjunction with the SCCP and MTP modules.
This manual provides an overview of the internal operation of the TCAP
module and defines the structure of messages used to interface with the
module.
1.2 Abbreviations
ANSI American National Standards Institute.
APDU Application Protocol Data Unit.
CCITT The International Telegraph & Telephone Consultative Committee.
ITU-T International Telecommunication Union (formerly CCITT).
MTP Message Transfer Part.
SCCP Signaling Connection Control Part.
TCAP Transaction Capabilities Application Part.
1.3 Related Documentation
[1] ITU-T Recommendations Q.771, Q.772, Q.773, Q.774 & Q.775
[2] ANSI T1.114-1996
[3] U05SSS, SCCP Programmer's Manual
[4] U10SSS, Software Environment Programmer's Manual
Section 1 Introduction
8
1.4 Feature Overview
Key features of the TCAP module include:
• Full implementation of ITU-T Q.771-Q.774 (1992) and ANSI T1.114
(1996).
• Full implementation of ITU-T Q.771-Q.774 (1997) TCAP recommendations
with the exception of TCAP operation timer reset and the inclusion of the
originating and destination addresses into TCAP Notice indications.
• Inter working with ITU-T 1988 and ANSI 1992 recommendations.
• Class 1, 2, 3, and 4 operations.
• Dialogue support for application context and user information.
• Automatic generation of Transaction ID.
• Supports the use of multiple distributed instances of TCAP.
• Message oriented interface.
• Grouping of dialogue ID ranges for operation with multiple application
programs.
• Debug tracing of messages exchanged with the TC-User and SCCP.
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
9
2 General Description
2.1 Module Overview
The TCAP module is an implementation of the ITU-T recommendations Q.771
- Q.774 (1992/1997) and ANSI T1.114-1996, including support for the
optional dialogue portion for conveying information relating to application
context and user information. Internally, the module is sub-divided into two
layers: the Component Sub-Layer (CSL) and the Transaction Sub-Layer
(TSL).
The component sub-layer accumulates the user-supplied Application Protocol
Data Units (APDU) (i.e. components) and stores them in an internal buffer.
On receipt of the appropriate dialogue-handling primitive from the user, the
components are combined with the (optional) dialogue portion and passed to
the transaction sub-layer. An invocation state machine is started for each
invoke component. Messages received from the transaction sub-layer are
checked and conveyed to the user. The dialogue primitive is issued first
(including the optional dialogue portion), followed by each component (in the
same order that they were received for transmission at the sending end).
The transaction sub-layer receives messages from the component sub-layer
and ensures they are valid for the current state of the transaction. Then it
adds the transaction portion (containing address and quality of service
information) to the message and passes it to the network layer. Messages
received from the network layer are validated by the transaction sub-layer; a
transaction ID is assigned for each new transaction and the message is
conveyed to the component sub-layer.
The module is event driven; it has a single input queue into which events
from other modules (TC-User, network-layer, management etc.) are written.
The module processes each event in turn until the input queue is empty, in
which case it will do nothing until the next event is received. Output from the
module is directed according to the type of event. Output messages may be
sent to the TC-User module, the network-layer module, the Management
module or the Maintenance module.
Internally, there are a number of data structures used by the module. The
maximum dimensions of these structures are determined by compile time
constants. The three constants of importance to the user are:
• The maximum number of simultaneous dialogues (and hence
transactions) supported by the module.
• The maximum number of components internally accumulated by the
module awaiting transmission.
• The maximum number of invocations active at any time.
In addition, the module requires that a periodic timer tick notification is
issued to it (using the input queue), typically every tenth of a second. (This
can either be generated by a timer module or by using the services of the
selected operating system).
Section 2 General Description
10
2.2 Module Configuration
The module provides maximum flexibility by allowing a large number of user
configuration options to be set up at run time. This allows the users to
customize the operation of the module to suit the particular requirements of
the final application. All configuration parameters are sent to the module's
input event queue in the same manner as other protocol messages.
The first message that must be sent to the module is a global configuration
message (any messages received prior to the global configuration message
will be discarded). This message specifies the operating mode for the TCAP
module as being either ITU-T or ANSI. It also contains the module ID for all
modules to which TCAP issues messages, user supplied values for the
maximum number of dialogues (incoming and outgoing), the maximum
number of buffered components and the maximum number of active
invocations that are required to be available to the user. The module checks
that the values requested are compatible with the values it can support.
A second configuration message allows the user to supply default values for a
number of protocol parameters (e.g. originating address, destination address,
quality of service etc.). These default values will then be used whenever the
particular parameter is required by the protocol but is not present in the
message received from the user.
2.3 Dialogue ID Assignment
The TCAP module supports a number of active dialogues at a single instant in
time. TC-User primitives are associated with a particular dialogue using a
Dialogue ID, which is of purely local significance between the TC-User and
TCAP.
A dialogue ID is assigned at the start of a dialogue, when the first primitive is
exchanged between the TC-User and TCAP. For a dialogue initiated by the
TC-User (an ‘outgoing dialogue’) the value is selected by the TC-User. For a
dialogue initiated from a remote TCAP (an ‘incoming dialogue’) the value is
set by the TCAP module. Once a dialogue has started, all user primitives,
both requests and indications that refer to the same dialogue, will include the
same dialogue ID value.
The dialogue ID is a 16-bit value in the range of 0 to 32767 for outgoing
dialogues and from 32768 to 65535 for incoming dialogues (i.e. the most
significant bit is set when the dialogue ID refers to an incoming dialogue).
The range of valid dialogue ID values to be supported by a particular instance
of TCAP is set up at configuration time. Two ranges of dialogue ID must be
configured by the user: one for use with outgoing dialogues and the other for
use with incoming dialogues. The total number of dialogue IDs must not
exceed the maximum number of simultaneous dialogues that the module can
support.
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
11
The dialogue ID selected by the TC-User for an outgoing dialogue must lie
within the configured range of outgoing dialogue IDs. Dialogue IDs for
incoming dialogues are allocated automatically by the TCAP module (from the
configured range of incoming dialogue IDs) so that the dialogue ID that has
been unused for the longest period is used next. Setting the most significant
bit of the dialogue ID for all incoming dialogues ensures that it is not possible
for the TC-User to select an ID for an outgoing dialogue at the same instant
that TCAP selects the same ID for use with an incoming dialogue.
Internally to the TCAP module, the dialogue ID is used to generate a
‘dialogue reference’ which lies in the range of 0 up to one less than the
maximum number of simultaneous dialogues supported. The dialogue
reference is used by the TCAP module to generate the local transaction ID. It
is the application’s responsibility to close the dialogue on completion of all
transactions associated with dialogue.
2.4 Dialogue ID Groups
A dialogue group enables common attributes to be assigned to a number of
dialogues identified by their dialogue IDs, such as user application instance.
This enables a unique range of dialogue identifiers to be permanently
assigned to different instances of a user application; hence TCAP is able to
support a distributed application (this would be used, for example, in a high
availability environment). A dialogue group is configured with a single
message. The TCAP module supports up to 32 dialogue groups.
2.5 Local Transaction ID Format
Peer TCAP entities use transaction IDs to associate TCAP protocol data units
(PDUs) with a particular transaction. These IDs are included as a parameter
in each TCAP PDU sent across the SS7 network. The TCAP module
automatically generates the ID used to reference the transaction locally. For
an outgoing dialogue, this will be the originating transaction ID in the TCAP
PDU, for an incoming dialogue, this will be the destination or responding
transaction ID in the TCAP PDU.
The local transaction ID is assigned by the TCAP module in such a manner as
to ensure that the same transaction ID is not re-allocated until some time
after the dialogue has finished. The transaction ID is made up of 4 fields: the
instance number, the dialogue reference, a sequence number and a padding
field as follows.
Padding field
MSB LSB
Padding Sequence Number Dialogue reference Instance Number
Section 2 General Description
12
Instance number
The ‘instance number’ allows TCAP to be distributed over a number of
separate hardware platforms, each running as a separate instance and
responsible for handling a different range of dialogue IDs (from the TC-User
viewpoint) and using a different instance number within the transaction ID
(from the network-layer viewpoint).
Dialogue reference
The ‘dialogue reference’ has a one-to-one mapping with the dialogue ID at
any single instance of TCAP and ranges from 0 up to one less than the total
number of dialogues supported.
Note: That the dialogue reference is not the same value as the dialogue ID.
Sequence number
The ‘sequence number’ is allocated on a cyclic basis for each individual
dialogue ID and ensures that the maximum possible time elapses before re-
use of a transaction ID.
The width of each transaction ID field (in bits) is a run-time configuration
option allowing the user to adjust the relative field widths to suit the
application.
Internally, the size of the transaction ID is rounded up to a multiple of 8 bits
(by adding zeros in the padding field). The transaction ID is then converted to
an octet string with the first octet containing the most significant 8 bits of the
transaction ID.
2.6 Constant Definitions
To assist you when writing an application, a ‘C’ language header file
(tcp_inc.h) is available containing all the definitions and constants necessary
to interface with the TCAP module. This file contains definitions for all the
mnemonics listed in this Programmer’s Manual.
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
13
3 Interface to System Services
3.1 System Functions
In addition to the primitive interface and the management interface to the
TCAP module (which are described in later sections) the module requires a
few basic system services to be supplied by the underlying operating system.
The following functions are required for inter-task communication:
GCT_send Sends a message to another task.
GCT_receive Accepts the next message from input event queue, blocking the task if no
message is ready.
GCT_grab Accepts the next message from the input event queue, but does not block the
task if no message is ready.
The following functions are required for allocation and release of inter task
messages:
getm Allocates a message.
relm Releases a message.
These functions are described in the Software Environment Programmer’s
Manual∗.
3.2 Timer Operation
In order to provide internal implementation of the TCAP protocol timers, the
module needs to receive a periodic timer tick message. This is usually
achieved using either the Enhanced Driver Module or the Timer module, in
which case the following messages are used by the TCAP module:
KEEP_TIME Issued by TCAP to initialize the timer services.
TM_EXP Issued by the timer module to notify of time-out.
The format of these messages is described in Appendix A on page 67.
Note: While the timer functionality is usually provided by the given modules, the timer
functionality required by the TCAP module is very basic (just a single message
being issued on a periodic basis). In most cases it is a trivial exercise to
implement this functionality using your choice of operating environment, if
required.
∗
See Section 1.3 Related Documentation for the full reference to this manual.
Section 3 Interface to System Services
14
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
15
4 Interface to Network Layer
The TCAP module communicates with the network-layer service provider
using the following primitives (all of which are defined in CCITT
Recommendation Q.711):
• N-UNITDATA-REQ
• N-UNITDATA-IND
• N-NOTICE-IND
The message format used to convey these primitives is defined in the SCCP
Programmer's Manual∗. The following messages are used:
SCP_MSG_TX_REQ Messages issued by TCAP
SCP_MSG_RX_IND Messages issued to TCAP
The TCAP module is usually used in conjunction with the SCCP module.
However, the use of primitives in accordance with Q.711 ensures that it can
also be integrated with other network-layer service provider implementations,
if required.
∗
See Section 1.3 Related Documentation for the full reference to this manual.
Section 4 Interface to Network Layer
16
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
17
5 Interface to TC-User
5.1 Introduction
All primitives at the application interface (i.e. between the TCAP module and
the TC-User) are passed by sending messages between the modules.
Primitive requests are originated from the TC-User and request TCAP to carry
out a specified action. Primitive indications are sent from TCAP to indicate
received TCAP PDU data or local protocol events to the TC-User.
The following messages are used:
TC-COMPONENT-REQ Conveys a component from TC-User to TCAP.
TC-DIALOGUE-REQ Conveys a dialogue primitive from TC-User to TCAP.
TC-COMPONENT-IND Conveys a component from TCAP to TC-User.
TC-DIALOGUE-IND Conveys a dialogue primitive from TCAP to TC-User.
The basic structure of each message (irrespective of the TCAP primitive
contained within it) is the same and is described in the Software Environment
Programmer’s Manual∗. The message contains: a message header, the length
of the user data and the user data itself. The message must be contained in a
single buffer which should be allocated by the sending module (using the
getm function) and either released (using the relm function) or passed to
another module by the receiving module. The getm and relm functions are
described in Section 3Interface to System Serviceson page 13.
The message header contains a ‘type’, the value of this parameter indicating
that either a dialogue or component-handling primitive is being conveyed by
the message. The following message types are defined:
Primitive Message type Value
TC-COMPONENT-REQ TCP_MSG_CPT_REQ 0xc781
TC-COMPONENT-IND TCP_MSG_CPT_IND 0x8782
TC-DIALOGUE-REQ TCP_MSG_DLG_REQ 0xc783
TC-DIALOGUE-IND TCP_MSG_DLG_IND 0x8784
5.2 Multiple TC-User Applications
In a multi-tasking operating system it is possible to have more than one TC-
User application program running as a separate task. The message passing
environment identifies each task with a unique module identifier (or module
ID), used as the destination for any message sent to this task from other
processes in the system. TCAP exchanges messages with peer TCAP entities
using SCCP format addressing. This assigns a unique sub-system number and
point code to each unique TC-User.
The TCAP configuration sets a default module ID for dialogue and component
indications; this value identifies the destination task (user application) that
will receive these indications, if no additional configuration data is supplied.
∗
See Section 1.3 Related Documentation for the full reference to this manual.
Section 5 Interface to TC-User
18
In addition to the default user application module ID, it is possible to set a
different module ID for each different local sub-system. In this environment,
each unique user application behaves as a unique local sub-system, with a
unique sub-system number (used by the SCCP addressing) and also a unique
module identifier (used by the inter-process message passing).
The association between a locally initiated dialogue and a user application
program module ID is made when the first primitive request is sent. The
dialogue is associated with the module ID being taken from the ‘source’ field
of the first primitive request message.
Dialogues initiated from a remote TCAP entity are received by TCAP from
SCCP and contain a called address which identifies a local sub-system. The
sub-system number in this address is matched to a module ID from a user-
provided configuration setting. The association is made using the first SCCP
message received for each of these dialogues. If the local sub-system has not
been configured, the dialogue is associated with the ‘default’ user application
module ID.
5.3 Primitive Parameters
Each TC-User primitive includes a number of parameters. These parameters
are conveyed in the parameter area of the message that conveys the
primitive.
The first byte in the parameter area is the primitive type octet and the last
byte is a zero byte to indicate that there are no further parameters in the
parameter area. Any parameters associated with the message are placed
between the message type code and the final (zero) byte. Therefore the
parameter area is formatted as follows:
Primitive Type Parameter Parameter Parameter Zero
The parameters may be placed in any order. The first byte of a parameter is
the parameter name, the second byte is the length of the parameter data to
follow (excluding the parameter name and the length byte itself), and this is
followed by the parameter data. The encoding of the parameter data aligns
exactly with the parameter format specified in the appropriate ITU-T
recommendation, whenever possible. Therefore each parameter is formatted
as follows:
Name Length Data
1 byte 1 byte ‘Parameter length’ bytes (1 to 255)
Within each message, there are mandatory parameters which must always be
present, and optional parameters which may or may not be present. In some
cases the optional parameters may have default values (set up at
configuration time) which are added by the TCAP module if not provided by
the user.
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
19
5.4 Component Primitive Types
Component primitives convey a request to perform an operation or a reply.
The following component primitive types are provided:
Mnemonic Originator Function Value
TCPPT_TC_INVOKE TC-User Requests an operation to be performed.
This primitive is used for ITU-T Invoke
and ANSI Invoke (last).
8
TCPPT_TC_INVOKE_NL TC-User Requests an operation to be performed.
Further components will convey
additional information.
17
TCPPT_TC_RESULT_L TC-User Reports the successful completion of an
operation. 9
TCPPT_TC_RESULT_NL TC-User Reports a segment of the successful
completion of an operation. Further
components will convey additional
information.
10
TCPPT_TC_U_ERROR TC-User Reports the unsuccessful completion of
an operation. 11
TCPPT_TC_U_REJECT TC-User Reports the receipt and rejection of a
component (other that a reject). 16
TCPPT_TC_U_CANCEL TC-User Terminates an operation initiated from
the local TCAP prematurely (local action
only).
13
TCPPT_TC_L_CANCEL TCAP Reports that the response expected to an
operation was not received within a
specified time.
12
TCPPT_TC_L_REJECT TCAP Reports that a received component was
rejected locally due to protocol error. 14
TCPPT_TC_R_REJECT TCAP Reports that a component was rejected
by a responding TCAP. 15
TCPPT_TC_NULL TCAP Issued where a component is discarded
by the TCAP module but when it is still
necessary to indicate a component to the
TC-User in order to preserve the ‘LAST-
COMPONENT’ indication.
0
TC-User-originated components may be initiated by the local or responding
TC-User; hence these primitives may be both TC-User Component Requests
and TC-User Component Indications.
TCAP-originated components are always TC-User Component Indications.
Section 5 Interface to TC-User
20
5.5 Dialogue Primitive Types
Dialogue handling primitives provide the mechanism by which components
are exchanged between peer TCAP entities. The following primitive types are
provided:
Mnemonic Originator Function Value
TCPPT_TC_UNI TC-User Unstructured Dialogue 1
TCPPT_TC_BEGIN TC-User Begin a structured Dialogue. 2
TCPPT_TC_CONTINUE TC-User Continue a dialogue. The responding
TCAP may end this dialogue. 3
TCPPT_TC_END TC-User End a dialogue. 4
TCPT_TC_U_ABORT TC-User Abort a dialogue. 5
TCPPT_TC_P_ABORT TCAP Abort a dialogue due to and abnormal
protocol event. 6
TCPPT_TC_NOTICE TCAP Report that the network layer was unable
to deliver a TCAP PDU to the destination. 7
TC-User-originated dialogue primitives may be initiated by the local or
responding TC-User, hence these primitives may be both TC-User Dialogue
Requests and TC-User Dialogue Indications.
TCAP originated primitives are always TC-User Dialogue Indications.
The following alternate set of definitions is provided for ANSI TCAP users.
ANSI Mnemonic Equivalent ITU-T Mnemonic Value
TCPPTA_TC_UNI TCPPT_TC_UNI 1
TCPPTA_TC_QUERY TCPPT_TC_BEGIN 2
TCPPTA_TC_CONVERSATION TCPPT_TC_CONTINUE 3
TCPPTA_TC_RESPONSE TCPPT_TC_END 4
TCPPTA_TC_U_ABORT TCPT_TC_U_ABORT 5
TCPPTA_TC_P_ABORT TCPPT_TC_P_ABORT 6
TCPPTA_TC_NOTICE TCPPT_TC_NOTICE 7
The following sections define the message format and content of the
parameter area for each of the messages exchanged between the TC-User
and TCAP.
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
21
5.6 TC-COMPONENT-REQUEST
Synopsis
Protocol message sent from the TC-User to TCAP which contains a TC-
Component for association with a dialogue.
Message Format
Message Header
Field Name Meaning
type TCP_MSG_CPT_REQ (0xc781)
id Dialogue ID
src Sending module ID
dst TCP_TASK_ID
rsp_req 0
hclass 0
status 0
err_info 0
len Number of bytes of user data
Parameter Area
OFFSET SIZE NAME
0 1 Component primitive type octet.
1 len - 2 Parameters in Name-Length-Data format.
len - 1 1 Set to zero indicating end of message.
Description
This message is used by the TC-User to send Component sub-layer primitives
to TCAP. The primitives are accumulated within TCAP for the specified
dialogue ID until the appropriate dialogue handling primitive is issued by the
TC-User. At that point, the component will be assembled into a message and
passed to the network-layer service provider.
All component request primitives contain a dialogue ID that is encoded in the
message header. It does not form part of the parameter area.
Section 5 Interface to TC-User
22
Parameter area contents
The component primitive type octet is coded as defined in Section
5.4
Component Primitive Typeson page 19.
The following parameter names are defined for use in either component
request or component indication primitive messages:
Parameter Mnemonic Value
Component portion TCPPN_COMPONENT 1
Last component TCPPN_LAST_CPT 2
Class TCPPN_CLASS 3
Timeout TCPPN_TIMEOUT 4
Invoke ID TCPPN_INVOKE_ID 5
Parameters of local significance (i.e. those that do not form part of the
transmitted or received network-layer message) are allocated their own
parameter names while the remaining parameters (i.e. those that form the
‘component portion’ of the transmitted message) are allocated a single
parameter name.
The data section of the ‘component portion’ parameter is encoded in
accordance with the specification for the component as defined by
recommendation Q.773 or T1.114.3, commencing with the Component Type
Tag. The following table details the component type required for each TC-
User component primitive:
Primitive Component type
TCPPT_TC_INVOKE Invoke, Invoke (last)
TCPPT_TC_INVOKE_NL Invoke (not last)
TCPPT_TC_RESULT_L Result (last)
TCPPT_TC_RESULT_NL Result (not last)
TCPPT_TC_U_ERROR Return error
TCPPT_TC_U_REJECT Reject
TCPPT_TC_L_REJECT Reject
TCPPT_TC_R_REJECT Reject
Invoke (last) and Invoke (not last) are available for ANSI operation only. For
ITU-T operation, Invoke should be used.
Note: While the component portion of a message transferred across the network may
contain more than one component, each component primitive message between
the TC-User and TCAP must contain exactly one component (except the TC-U-
CANCEL request which is not sent to the network. This should contain only the
Invoke ID parameter).
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
23
The coding for each parameter type is given in the following tables:
Parameter name TCPPN_COMPONENT
Parameter length Variable, ranging from 1 to 255
Parameter data Component data encoded as specified in Q.773 or T1.114.3, commencing
with the Component Type tag
Parameter name TCPPN_LAST_CPT
Parameter length Fixed, set to 1
Parameter data Used by the module to indicate if this is the last component associated with a
dialogue indication or if there are more components to follow. The parameter
will be set to 1 if this is the last component and set to 0 if more components
are to follow. This parameter is not required for component requests.
Parameter name TCPPN_CLASS
Parameter length Fixed, set to 1
Parameter data Single octet indicating the required class of operation. The following values
may be used :
1 = Both success and failure are reported.
2 = Only failure is reported.
3 = Only success is reported.
4 = Neither success nor failure are reported.
Parameter name TCPPN_TIMEOUT
Parameter length Variable, set to 0 or 2.
Set the length to 0 to disable the timer. Set it to 2 to specify the timer value in
parameter data.
Parameter data The invocation time-out in seconds in the range 0 ... 1800. The first octet is
the most significant byte of the time-out.
Note that the maximum permitted time-out value is 1800 seconds (i.e.30
minutes).
Parameter name TCPPN_INVOKE_ID
Parameter length Fixed, set to 1
Parameter data A single octet representing the invoke ID, which is in the range of -128 to
+127
The following table lists the parameters associated with each component
request primitive and shows whether the parameter is Mandatory (M), in
which case the message will be discarded if the parameter is omitted,
Optional (O), in which case the parameter is not essential or Defaulted (D), in
which case the parameter will be set to the configured default value by TCAP,
if it is not supplied .
Section 5 Interface to TC-User
24
ITU-T and ANSI Primitive
Parameter
IN
VO
K
E
IN
VO
K
E
-N
L
R
E
SU
L
T
-L
R
ES
U
LT
-N
L
U
-E
RR
O
R
U
-C
A
NC
E
L
U
-R
E
JE
C
T
Invoke ID M
Class D
Timeout D
Component M M M M M M
Last
Component
5.7 TC-COMPONENT-INDICATION
Synopsis
Protocol message sent from TCAP to the TC-User containing a TC-Component
associated with a dialogue.
Message Format
Message Header
Field Name Meaning
type TCP_MSG_CPT_IND (0x8782)
id Dialogue ID
src TCP_TASK_ID
dst TC-User module ID
rsp_req 0
hclass 0
status 0
err_info 0
len Number of bytes of user data
Parameter Area
Offset Size Name
0 1 Component primitive type octet.
1 len - 2 Parameters in Name-Length-Data format.
len - 1 1 Set to zero indicating end of message.
Dialogic® SS7 Protocols TCAP Programmer's Manual Issue 10
25
Description
This message is used by TCAP to send Component sub-layer primitives to the
TC-User. On receipt of a dialogue-handling primitive from the network, TCAP
first issues a dialogue handling primitive to the TC-User, this is followed by a
number of component primitive messages (each containing a single
component) until all the components have been conveyed to the user. The
last component primitive will have the data in the ‘last component’ parameter
set to indicate that there are no further components to follow.
All component indication primitives contain a dialogue ID which is encoded in
the message header. It does not form part of the parameter area.
Parameter Area Contents
The parameter area is coded as defined for the TC-COMPONENT-REQUEST
message (see Section 5.6TC-COMPONENT-REQUESTon page 21).
Note: A TC-NULL-IND is issued where a component is discarded by the TCAP module but
when it is still necessary to indicate a component in order to preserve the ‘LAST-
COMPONENT’ indication.
The following table lists the parameters associated with each component
indication primitive and shows whether the parameter is Mandatory (M), in
which case it will always be present in messages issued by TCAP or Optional
(O), in which case the parameter may or may not be present depending on
the received message data or event being reported.
ITU-T and ANSI Primitive
Parameter
IN
VO
K
E
IN
VO
K
E
-N
L
R
E
SU
L
T
-L
R
ES
U
LT
-N
L
U
-E
RR
O
R
L
-C
A
NC
E
L
L
-R
E
JE
C
T
R
-R
E
JE
C
T
U
-R
E
JE
C
T
NU
LL