blob: d79d8327a00ace1f53c4ebf0ea1d2ab03134afd9 [file] [log] [blame]
Harald Welteac359802017-04-12 12:13:44 +02001/******************************************************************************
2* Copyright (c) 2004, 2015 Ericsson AB
3* All rights reserved. This program and the accompanying materials
4* are made available under the terms of the Eclipse Public License v1.0
5* which accompanies this distribution, and is available at
6* http://www.eclipse.org/legal/epl-v10.html
7*
8* Contributors:
9* Ferenc Kovacs
10* Gabor Bettesch
11* Gabor Szalai
12******************************************************************************/
13//
14// File: M3UA_Types.ttcn
15// Rev: R2A
16// Prodnr: CNL 113 536
17// Reference:
18
19module M3UA_Types {
20
21import from General_Types all;
22
23external function enc_PDU_M3UA(in PDU_M3UA pdu) return octetstring
24with { extension "prototype(convert)"
25 extension "encode(RAW)"
26 }
27
28external function dec_PDU_M3UA(in octetstring stream) return PDU_M3UA
29with { extension "prototype(convert)"
30 extension "decode(RAW)"
31 }
32
33//++++++++++++++++++++++++++++++++++++++++++++++++++
34// M3UA PARAMETERS
35//++++++++++++++++++++++++++++++++++++++++++++++++++
36type octetstring M3UA_OCT0_255 length (0..255);
37
38type record M3UA_Point_Code
39{
40 OCT1 mask,
41 OCT3 affected_Point_Code
42}
43
44type record of M3UA_Point_Code M3UA_Point_Codes;
45
46type record M3UA_Error_Code
47{
48 OCT2 tag,
49 integer lengthInd,
50 OCT4 errorCode
51} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,errorCode)";
52 variant (lengthInd) "FIELDLENGTH(16)";
53 variant (lengthInd) "BYTEORDER(last)";
54 }
55
56type record M3UA_Routing_Context
57{
58 OCT2 tag,
59 integer lengthInd,
60 octetstring routingContext
61} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,routingContext)";
62 variant (lengthInd) "FIELDLENGTH(16)";
63 variant (lengthInd) "BYTEORDER(last)";
64 variant "PADDING(dword32)";
65 }
66
67type record M3UA_Affected_Point_Codes
68{
69 OCT2 tag,
70 integer lengthInd,
71 M3UA_Point_Codes pointCodes
72} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,pointCodes)";
73 variant (lengthInd) "FIELDLENGTH(16)";
74 variant (lengthInd) "BYTEORDER(last)";
75 }
76
77type record M3UA_Network_Appearance
78{
79 OCT2 tag,
80 integer lengthInd,
81 OCT4 networkAppearance
82} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,networkAppearance)";
83 variant (lengthInd) "FIELDLENGTH(16)";
84 variant (lengthInd) "BYTEORDER(last)";
85 }
86
87type record M3UA_Diagnostic_information
88{
89 OCT2 tag,
90 integer lengthInd,
91 octetstring diagnosticInformation
92} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,diagnosticInformation)";
93 variant (lengthInd) "FIELDLENGTH(16)";
94 variant (lengthInd) "BYTEORDER(last)";
95 variant "PADDING(dword32)";
96 }
97
98type record M3UA_Correlation_ID
99{
100 OCT2 tag,
101 integer lengthInd,
102 OCT4 correlationID
103} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,correlationID)";
104 variant (lengthInd) "FIELDLENGTH(16)";
105 variant (lengthInd) "BYTEORDER(last)";
106 }
107
108type record M3UA_Protocol_Data
109{
110 OCT2 tag,
111 integer lengthInd,
112 OCT4 oPC,
113 OCT4 dPC,
114 OCT1 sI,
115 OCT1 nI,
116 OCT1 mP,
117 OCT1 sLS,
118 octetstring userProtocolData
119} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,oPC,dPC,sI,nI,mP,sLS,
120 userProtocolData)";
121 variant (lengthInd) "FIELDLENGTH(16)";
122 variant (lengthInd) "BYTEORDER(last)";
123 variant "PADDING(dword32)";
124 }
125
126type record M3UA_Info_String
127{
128 OCT2 tag,
129 integer lengthInd,
130 M3UA_OCT0_255 infoString
131} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,infoString)";
132 variant (lengthInd) "FIELDLENGTH(16)";
133 variant (lengthInd) "BYTEORDER(last)";
134 variant "PADDING(dword32)";
135 }
136
137type record M3UA_Concerned_Destination
138{
139 OCT2 tag,
140 integer lengthInd,
141 OCT1 reserved,
142 OCT3 concernedDestination
143} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,reserved,
144 concernedDestination)";
145 variant (lengthInd) "FIELDLENGTH(16)";
146 variant (lengthInd) "BYTEORDER(last)";
147 }
148
149type record M3UA_Congestion_Indicators
150{
151 OCT2 tag,
152 integer lengthInd,
153 OCT1 reserved,
154 OCT3 congestionLevel
155} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,reserved,congestionLevel)";
156 variant (lengthInd) "FIELDLENGTH(16)";
157 variant (lengthInd) "BYTEORDER(last)";
158 }
159
160type record M3UA_User_Cause
161{
162 OCT2 tag,
163 integer lengthInd,
164 OCT2 cause,
165 OCT2 user
166} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,cause,user)";
167 variant (lengthInd) "FIELDLENGTH(16)";
168 variant (lengthInd) "BYTEORDER(last)";
169 }
170
171type record M3UA_ASP_Identifier
172{
173 OCT2 tag,
174 integer lengthInd,
175 OCT4 aSPIdentifier
176} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,aSPIdentifier)";
177 variant (lengthInd) "FIELDLENGTH(16)";
178 variant (lengthInd) "BYTEORDER(last)";
179 }
180
181type record M3UA_Heartbeat_Data
182{
183 OCT2 tag,
184 integer lengthInd,
185 octetstring heartbeat_Data
186} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,heartbeat_Data)";
187 variant (lengthInd) "FIELDLENGTH(16)";
188 variant (lengthInd) "BYTEORDER(last)";
189 variant "PADDING(dword32)";
190 }
191
192type record M3UA_Traffic_Mode_Type
193{
194 OCT2 tag,
195 integer lengthInd,
196 OCT4 trafficModeType
197} with { variant (lengthInd) "LENGTHTO (tag,lengthInd,trafficModeType)";
198 variant (lengthInd) "FIELDLENGTH(16)";
199 variant (lengthInd) "BYTEORDER(last)";
200 }
201
202
203//++++++++++++++++++++++++++++++++++++++++++++++++++
204//PDUs
205//++++++++++++++++++++++++++++++++++++++++++++++++++
206
207// M3UA_ERR PDU
208//++++++++++++++++++++++++++++++++++++++++++++++++++
209type record M3UA_ERR
210{
211 OCT1 version,
212 OCT1 reserved,
213 OCT2 messageClassAndType,
214 integer messageLength,
215 M3UA_ERR_MessageParameters messageParameters
216} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
217 messageLength,messageParameters)";
218 variant (messageLength) "FIELDLENGTH(32)";
219 variant (messageLength) "BYTEORDER(last)";
220 }
221
222type set M3UA_ERR_MessageParameters
223{
224 M3UA_Error_Code error_Code,
225 M3UA_Routing_Context routing_Context optional,
226 M3UA_Affected_Point_Codes affected_Point_Codes optional,
227 M3UA_Network_Appearance network_Appearance optional,
228 M3UA_Diagnostic_information diagnostic_information optional
229} with { variant "TAG(error_Code, tag = '000C'O;
230 routing_Context, tag = '0006'O;
231 affected_Point_Codes, tag = '0012'O;
232 network_Appearance, tag = '0200'O;
233 diagnostic_information, tag = '0007'O; )"
234 }
235
236
237// M3UA_NOTIFY
238// NOTE1 : NOTIFY should not come and will be dropped if it comes
239// NOTE2 : messageParameters is simpified implementation as octetstring
240//++++++++++++++++++++++++++++++++++++++++++++++++++
241type record M3UA_NOTIFY
242{
243 OCT1 version,
244 OCT1 reserved,
245 OCT2 messageClassAndType,
246 integer messageLength,
247 octetstring messageParameters
248} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
249 messageLength,messageParameters)";
250 variant (messageLength) "FIELDLENGTH(32)";
251 variant (messageLength) "BYTEORDER(last)";
252 }
253
254
255// M3UA_DATA PDU
256//++++++++++++++++++++++++++++++++++++++++++++++++++
257type record M3UA_DATA
258{
259 OCT1 version,
260 OCT1 reserved,
261 OCT2 messageClassAndType,
262 integer messageLength,
263 M3UA_DATA_MessageParameters messageParameters
264} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
265 messageLength,messageParameters)";
266 variant (messageLength) "FIELDLENGTH(32)";
267 variant (messageLength) "BYTEORDER(last)";
268 }
269
270type set M3UA_DATA_MessageParameters
271{
272 M3UA_Network_Appearance network_Appearance optional,
273 M3UA_Routing_Context routing_Context optional,
274 M3UA_Protocol_Data protocol_Data,
275 M3UA_Correlation_ID correlation_ID optional
276} with { variant "TAG(network_Appearance, tag = '0200'O;
277 routing_Context, tag = '0006'O;
278 protocol_Data, tag = '0210'O;
279 correlation_ID, tag = '0013'O; )"
280 }
281
282
283// M3UA_DUNA PDU
284//++++++++++++++++++++++++++++++++++++++++++++++++++
285type record M3UA_DUNA
286{
287 OCT1 version,
288 OCT1 reserved,
289 OCT2 messageClassAndType,
290 integer messageLength,
291 M3UA_DUNA_MessageParameters messageParameters
292} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
293 messageLength,messageParameters)";
294 variant (messageLength) "FIELDLENGTH(32)";
295 variant (messageLength) "BYTEORDER(last)";
296 }
297
298type set M3UA_DUNA_MessageParameters
299{
300 M3UA_Network_Appearance network_Appearance optional,
301 M3UA_Routing_Context routing_Context optional,
302 M3UA_Affected_Point_Codes affected_Point_Codes,
303 M3UA_Info_String info_String optional
304} with { variant "TAG(network_Appearance, tag = '0200'O;
305 routing_Context, tag = '0006'O;
306 affected_Point_Codes, tag = '0012'O;
307 info_String, tag = '0004'O )"
308 }
309
310
311// M3UA_DAVA PDU
312//++++++++++++++++++++++++++++++++++++++++++++++++++
313type record M3UA_DAVA
314{
315 OCT1 version,
316 OCT1 reserved,
317 OCT2 messageClassAndType,
318 integer messageLength,
319 M3UA_DAVA_MessageParameters messageParameters
320} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
321 messageLength,messageParameters)";
322 variant (messageLength) "FIELDLENGTH(32)";
323 variant (messageLength) "BYTEORDER(last)";
324 }
325
326type set M3UA_DAVA_MessageParameters
327{
328 M3UA_Network_Appearance network_Appearance optional,
329 M3UA_Routing_Context routing_Context optional,
330 M3UA_Affected_Point_Codes affected_Point_Codes,
331 M3UA_Info_String info_String optional
332} with { variant "TAG(network_Appearance, tag = '0200'O;
333 routing_Context, tag = '0006'O;
334 affected_Point_Codes, tag = '0012'O;
335 info_String, tag = '0004'O )"
336 }
337
338
339// M3UA_DAUD PDU
340//++++++++++++++++++++++++++++++++++++++++++++++++++
341type record M3UA_DAUD
342{
343 OCT1 version,
344 OCT1 reserved,
345 OCT2 messageClassAndType,
346 integer messageLength,
347 M3UA_DAUD_MessageParameters messageParameters
348} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
349 messageLength,messageParameters)";
350 variant (messageLength) "FIELDLENGTH(32)";
351 variant (messageLength) "BYTEORDER(last)";
352 }
353
354type set M3UA_DAUD_MessageParameters
355{
356 M3UA_Network_Appearance network_Appearance optional,
357 M3UA_Routing_Context routing_Context optional,
358 M3UA_Affected_Point_Codes affected_Point_Codes,
359 M3UA_Info_String info_String optional
360} with { variant "TAG(network_Appearance, tag = '0200'O;
361 routing_Context, tag = '0006'O;
362 affected_Point_Codes, tag = '0012'O;
363 info_String, tag = '0004'O )"
364 }
365
366
367// M3UA_SCON PDU
368//++++++++++++++++++++++++++++++++++++++++++++++++++
369type record M3UA_SCON
370{
371 OCT1 version,
372 OCT1 reserved,
373 OCT2 messageClassAndType,
374 integer messageLength,
375 M3UA_SCON_MessageParameters messageParameters
376} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
377 messageLength,messageParameters)";
378 variant (messageLength) "FIELDLENGTH(32)";
379 variant (messageLength) "BYTEORDER(last)";
380 }
381
382type set M3UA_SCON_MessageParameters
383{
384 M3UA_Network_Appearance network_Appearance optional,
385 M3UA_Routing_Context routing_Context optional,
386 M3UA_Affected_Point_Codes affected_Point_Codes,
387 M3UA_Concerned_Destination concerned_Destination optional,
388 M3UA_Congestion_Indicators congestion_Indicators optional,
389 M3UA_Info_String info_String optional
390} with { variant "TAG(network_Appearance, tag = '0200'O;
391 routing_Context, tag = '0006'O;
392 affected_Point_Codes, tag = '0012'O;
393 concerned_Destination, tag = '0206'O;
394 congestion_Indicators, tag = '0205'O;
395 info_String, tag = '0004'O )"
396 }
397
398
399// M3UA_DUPU PDU
400//++++++++++++++++++++++++++++++++++++++++++++++++++
401type record M3UA_DUPU
402{
403 OCT1 version,
404 OCT1 reserved,
405 OCT2 messageClassAndType,
406 integer messageLength,
407 M3UA_DUPU_MessageParameters messageParameters
408} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
409 messageLength,messageParameters)";
410 variant (messageLength) "FIELDLENGTH(32)";
411 variant (messageLength) "BYTEORDER(last)";
412 }
413
414type set M3UA_DUPU_MessageParameters
415{
416 M3UA_Network_Appearance network_Appearance optional,
417 M3UA_Routing_Context routing_Context optional,
418 M3UA_Affected_Point_Codes affected_Point_Codes,
419 M3UA_User_Cause user_Cause,
420 M3UA_Info_String info_String optional
421} with { variant "TAG(network_Appearance, tag = '0200'O;
422 routing_Context, tag = '0006'O;
423 affected_Point_Codes, tag = '0012'O;
424 user_Cause, tag = '0204'O;
425 info_String, tag = '0004'O )"
426 }
427
428
429// M3UA_DRST PDU
430// NOTE1 : DRST should not come and will be dropped if it comes
431// NOTE2 : messageParameters is simpified implementation as octetstring
432//++++++++++++++++++++++++++++++++++++++++++++++++++
433type record M3UA_DRST
434{
435 OCT1 version,
436 OCT1 reserved,
437 OCT2 messageClassAndType,
438 integer messageLength,
439 octetstring messageParameters
440} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
441 messageLength,messageParameters)";
442 variant (messageLength) "FIELDLENGTH(32)";
443 variant (messageLength) "BYTEORDER(last)";
444 }
445
446
447// M3UA_ASPUP
448//++++++++++++++++++++++++++++++++++++++++++++++++++
449type record M3UA_ASPUP
450{
451 OCT1 version,
452 OCT1 reserved,
453 OCT2 messageClassAndType,
454 integer messageLength,
455 M3UA_ASPUP_MessageParameters messageParameters
456} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
457 messageLength,messageParameters)";
458 variant (messageLength) "FIELDLENGTH(32)";
459 variant (messageLength) "BYTEORDER(last)";
460 }
461
462type set M3UA_ASPUP_MessageParameters
463{
464 M3UA_ASP_Identifier aSP_Identifier optional,
465 M3UA_Info_String info_String optional
466} with { variant "TAG(aSP_Identifier, tag = '0011'O;
467 info_String, tag = '0004'O; )"
468 }
469
470
471//M3UA_ASPUP_Ack
472//++++++++++++++++++++++++++++++++++++++++++++++++++
473type record M3UA_ASPUP_Ack
474{
475 OCT1 version,
476 OCT1 reserved,
477 OCT2 messageClassAndType,
478 integer messageLength,
479 M3UA_ASPUP_Ack_MessageParameters messageParameters
480} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
481 messageLength,messageParameters)";
482 variant (messageLength) "FIELDLENGTH(32)";
483 variant (messageLength) "BYTEORDER(last)";
484 }
485
486type set M3UA_ASPUP_Ack_MessageParameters
487{
488 M3UA_Info_String info_String optional
489} with { variant "TAG(info_String, tag = '0004'O; )"
490 }
491
492
493//M3UA_ASPDN
494//++++++++++++++++++++++++++++++++++++++++++++++++++
495type record M3UA_ASPDN
496{
497 OCT1 version,
498 OCT1 reserved,
499 OCT2 messageClassAndType,
500 integer messageLength,
501 M3UA_ASPDN_MessageParameters messageParameters
502} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
503 messageLength,messageParameters)";
504 variant (messageLength) "FIELDLENGTH(32)";
505 variant (messageLength) "BYTEORDER(last)";
506 }
507
508type set M3UA_ASPDN_MessageParameters
509{
510 M3UA_Info_String info_String optional
511} with { variant "TAG(info_String, tag = '0004'O; )"
512 }
513
514
515//M3UA_ASPDN_Ack
516//++++++++++++++++++++++++++++++++++++++++++++++++++
517type record M3UA_ASPDN_Ack
518{
519 OCT1 version,
520 OCT1 reserved,
521 OCT2 messageClassAndType,
522 integer messageLength,
523 M3UA_ASPDN_Ack_MessageParameters messageParameters
524} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
525 messageLength,messageParameters)";
526 variant (messageLength) "FIELDLENGTH(32)";
527 variant (messageLength) "BYTEORDER(last)";
528 }
529
530type set M3UA_ASPDN_Ack_MessageParameters
531{
532 M3UA_Info_String info_String optional
533} with { variant "TAG(info_String, tag = '0004'O;)"
534 }
535
536
537// M3UA_BEAT
538//++++++++++++++++++++++++++++++++++++++++++++++++++
539type record M3UA_BEAT
540{
541 OCT1 version,
542 OCT1 reserved,
543 OCT2 messageClassAndType,
544 integer messageLength,
545 M3UA_BEAT_MessageParameters messageParameters
546} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
547 messageLength,messageParameters)";
548 variant (messageLength) "FIELDLENGTH(32)";
549 variant (messageLength) "BYTEORDER(last)";
550 }
551
552type set M3UA_BEAT_MessageParameters
553{
554 M3UA_Heartbeat_Data heartbeat_Data optional
555} with { variant "TAG(heartbeat_Data, tag = '0009'O; )"
556 }
557
558
559// M3UA_BEAT_Ack
560//++++++++++++++++++++++++++++++++++++++++++++++++++
561type record M3UA_BEAT_Ack
562{
563 OCT1 version,
564 OCT1 reserved,
565 OCT2 messageClassAndType,
566 integer messageLength,
567 M3UA_BEAT_Ack_MessageParameters messageParameters
568} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
569 messageLength,messageParameters)";
570 variant (messageLength) "FIELDLENGTH(32)";
571 variant (messageLength) "BYTEORDER(last)";
572 }
573
574type set M3UA_BEAT_Ack_MessageParameters
575{
576 M3UA_Heartbeat_Data heartbeat_Data optional
577} with { variant "TAG(heartbeat_Data, tag = '0009'O; )"
578 }
579
580
581// M3UA_ASPAC
582//++++++++++++++++++++++++++++++++++++++++++++++++++
583type record M3UA_ASPAC
584{
585 OCT1 version,
586 OCT1 reserved,
587 OCT2 messageClassAndType,
588 integer messageLength,
589 M3UA_ASPAC_MessageParameters messageParameters
590} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
591 messageLength,messageParameters)";
592 variant (messageLength) "FIELDLENGTH(32)";
593 variant (messageLength) "BYTEORDER(last)";
594 }
595
596type set M3UA_ASPAC_MessageParameters
597{
598 M3UA_Traffic_Mode_Type traffic_Mode_Type optional,
599 M3UA_Routing_Context routing_Context optional,
600 M3UA_Info_String info_String optional
601} with { variant "TAG(traffic_Mode_Type, tag = '000B'O;
602 routing_Context, tag = '0006'O;
603 info_String, tag = '0004'O; )"
604 }
605
606
607// M3UA_ASPAC_Ack
608//++++++++++++++++++++++++++++++++++++++++++++++++++
609type record M3UA_ASPAC_Ack
610{
611 OCT1 version,
612 OCT1 reserved,
613 OCT2 messageClassAndType,
614 integer messageLength,
615 M3UA_ASPAC_Ack_MessageParameters messageParameters
616} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
617 messageLength,messageParameters)";
618 variant (messageLength) "FIELDLENGTH(32)";
619 variant (messageLength) "BYTEORDER(last)";
620 }
621
622type set M3UA_ASPAC_Ack_MessageParameters
623{
624 M3UA_Traffic_Mode_Type traffic_Mode_Type optional,
625 M3UA_Routing_Context routing_Context optional,
626 M3UA_Info_String info_String optional
627} with { variant "TAG(traffic_Mode_Type, tag = '000B'O;
628 routing_Context, tag = '0006'O;
629 info_String, tag = '0004'O; )"
630 }
631
632
633// M3UA_ASPIA
634//++++++++++++++++++++++++++++++++++++++++++++++++++
635type record M3UA_ASPIA
636{
637 OCT1 version,
638 OCT1 reserved,
639 OCT2 messageClassAndType,
640 integer messageLength,
641 M3UA_ASPIA_MessageParameters messageParameters
642} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
643 messageLength,messageParameters)";
644 variant (messageLength) "FIELDLENGTH(32)";
645 variant (messageLength) "BYTEORDER(last)";
646 }
647
648type set M3UA_ASPIA_MessageParameters
649{
650 M3UA_Routing_Context routing_Context optional,
651 M3UA_Info_String info_String optional
652} with { variant "TAG(routing_Context, tag = '0006'O;
653 info_String, tag = '0004'O; )"
654 }
655
656
657// M3UA_ASPIA_Ack
658//++++++++++++++++++++++++++++++++++++++++++++++++++
659type record M3UA_ASPIA_Ack
660{
661 OCT1 version,
662 OCT1 reserved,
663 OCT2 messageClassAndType,
664 integer messageLength,
665 M3UA_ASPIA_Ack_MessageParameters messageParameters
666} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
667 messageLength,messageParameters)";
668 variant (messageLength) "FIELDLENGTH(32)";
669 variant (messageLength) "BYTEORDER(last)";
670 }
671
672type set M3UA_ASPIA_Ack_MessageParameters
673{
674 M3UA_Routing_Context routing_Context optional,
675 M3UA_Info_String info_String optional
676} with { variant "TAG(routing_Context, tag = '0006'O;
677 info_String, tag = '0004'O; )"
678 }
679
680
681// M3UA_REG_REQ
682// NOTE1 : REG REQ should not come and will be dropped if it comes
683// NOTE2 : messageParameters is simpified implementation as octetstring
684//++++++++++++++++++++++++++++++++++++++++++++++++++
685type record M3UA_REG_REQ
686{
687 OCT1 version,
688 OCT1 reserved,
689 OCT2 messageClassAndType,
690 integer messageLength,
691 octetstring messageParameters
692} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
693 messageLength,messageParameters)";
694 variant (messageLength) "FIELDLENGTH(32)";
695 variant (messageLength) "BYTEORDER(last)";
696 }
697
698
699// M3UA_REG_RSP
700// NOTE1 : REG RSP should not come and will be dropped if it comes
701// NOTE2 : messageParameters is simpified implementation as octetstring
702//++++++++++++++++++++++++++++++++++++++++++++++++++
703type record M3UA_REG_RSP
704{
705 OCT1 version,
706 OCT1 reserved,
707 OCT2 messageClassAndType,
708 integer messageLength,
709 octetstring messageParameters
710} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
711 messageLength,messageParameters)";
712 variant (messageLength) "FIELDLENGTH(32)";
713 variant (messageLength) "BYTEORDER(last)";
714 }
715
716
717// M3UA_DEREG_REQ
718// NOTE1 : DEREG REQ should not come and will be dropped if it comes
719// NOTE2 : messageParameters is simpified implementation as octetstring
720//++++++++++++++++++++++++++++++++++++++++++++++++++
721type record M3UA_DEREG_REQ
722{
723 OCT1 version,
724 OCT1 reserved,
725 OCT2 messageClassAndType,
726 integer messageLength,
727 octetstring messageParameters
728} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
729 messageLength,messageParameters)";
730 variant (messageLength) "FIELDLENGTH(32)";
731 variant (messageLength) "BYTEORDER(last)";
732 }
733
734
735// M3UA_DEREG_RSP
736// NOTE1 : DEREG RSP should not come and will be dropped if it comes
737// NOTE2 : messageParameters is simpified implementation as octetstring
738//++++++++++++++++++++++++++++++++++++++++++++++++++
739type record M3UA_DEREG_RSP
740{
741 OCT1 version,
742 OCT1 reserved,
743 OCT2 messageClassAndType,
744 integer messageLength,
745 octetstring messageParameters
746} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
747 messageLength,messageParameters)";
748 variant (messageLength) "FIELDLENGTH(32)";
749 variant (messageLength) "BYTEORDER(last)";
750 }
751
752
753// Top level PDU
754//************************************************************************
755type union PDU_M3UA
756{
757 M3UA_ERR m3UA_ERR, // Error
758 M3UA_NOTIFY m3UA_NOTIFY, // Notify - should not come
759 M3UA_DATA m3UA_DATA, // Payload data
760 M3UA_DUNA m3UA_DUNA, // Destination Unavailable
761 M3UA_DAVA m3UA_DAVA, // Destination Available
762 M3UA_DAUD m3UA_DAUD, // Destination State Audit
763 M3UA_SCON m3UA_SCON, // Signaling Congestion
764 M3UA_DUPU m3UA_DUPU, // Destination User Part Unavailable
765 M3UA_DRST m3UA_DRST, // DRST - should not come
766 M3UA_ASPUP m3UA_ASPUP, // ASP up
767 M3UA_ASPDN m3UA_ASPDN, // ASP down
768 M3UA_BEAT m3UA_BEAT, // Heartbeat
769 M3UA_BEAT_Ack m3UA_BEAT_Ack, // Heartbeat Ack
770 M3UA_ASPUP_Ack m3UA_ASPUP_Ack, // ASP up ack
771 M3UA_ASPDN_Ack m3UA_ASPDN_Ack, // ASP down ack
772 M3UA_ASPAC m3UA_ASPAC, // ASP Active
773 M3UA_ASPIA m3UA_ASPIA, // ASP Inactive
774 M3UA_ASPAC_Ack m3UA_ASPAC_Ack, // ASP Active Ack
775 M3UA_ASPIA_Ack m3UA_ASPIA_Ack, // ASP Inactive
776 M3UA_REG_REQ m3UA_REG_REQ, // REG REQ - should not come
777 M3UA_REG_RSP m3UA_REG_RSP, // REG RSP - should not come
778 M3UA_DEREG_REQ m3UA_DEREG_REQ, // DEREG REQ - should not come
779 M3UA_DEREG_RSP m3UA_DEREG_RSP // DEREG RSP - should not come
780} with { variant "TAG(
781 m3UA_ERR, messageClassAndType = '0000'O; //MGMT Class (0),
782 m3UA_NOTIFY, messageClassAndType = '0001'O; //MGMT Class (0),
783 m3UA_DATA, messageClassAndType = '0101'O; //Transf msg Class(1),
784 m3UA_DUNA, messageClassAndType = '0201'O; //SSNM Class(2),
785 m3UA_DAVA, messageClassAndType = '0202'O; //SSNM Class(2),
786 m3UA_DAUD, messageClassAndType = '0203'O; //SSNM Class(2),
787 m3UA_SCON, messageClassAndType = '0204'O; //SSNM Class(2),
788 m3UA_DUPU, messageClassAndType = '0205'O; //SSNM Class(2),
789 m3UA_DRST, messageClassAndType = '0206'O; //SSNM Class(2),
790 m3UA_ASPUP, messageClassAndType = '0301'O; //ASPSM Class(3),
791 m3UA_ASPDN, messageClassAndType = '0302'O; //ASPSM Class(3),
792 m3UA_BEAT, messageClassAndType = '0303'O; //ASPSM Class(3),
793 m3UA_ASPUP_Ack, messageClassAndType = '0304'O; //ASPSM Class(3),
794 m3UA_ASPDN_Ack, messageClassAndType = '0305'O; //ASPSM Class(3),
795 m3UA_BEAT_Ack, messageClassAndType = '0306'O; //ASPSM Class(3),
796 m3UA_ASPAC, messageClassAndType = '0401'O; //ASPTM Class(4),
797 m3UA_ASPIA, messageClassAndType = '0402'O; //ASPTM Class(4),
798 m3UA_ASPAC_Ack, messageClassAndType = '0403'O; //ASPTM Class(4),
799 m3UA_ASPIA_Ack, messageClassAndType = '0404'O; //ASPTM Class(4),
800 m3UA_REG_REQ, messageClassAndType = '0901'O; //RKM Class(9),
801 m3UA_REG_RSP, messageClassAndType = '0902'O; //RKM Class(9),
802 m3UA_DEREG_REQ, messageClassAndType = '0903'O; //RKM Class(9),
803 m3UA_DEREG_RSP, messageClassAndType = '0904'O; )" //RKM Class(9),
804 }
805} with { encode "RAW"}