eb92a01d84775127e3e63c07db51ebfdb49569a2
[deliverable/titan.core.git] / regression_test / compileonly / mfgen-tpd / NAS_EPS_v9.7.0_CNL113729 / src / NAS_EPS_v970.ttcn
1 /******************************************************************************
2 * Copyright (c) 2000-2015 Ericsson Telecom 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
9 module NAS_EPS_v970
10 {
11
12 import from General_Types all;
13
14
15 external function enc_PDU_NAS_EPS(in PDU_NAS_EPS pdu) return octetstring
16 with { extension "prototype(convert)" extension "encode(RAW)" }
17
18 external function dec_PDU_NAS_EPS(in octetstring stream) return PDU_NAS_EPS
19 with { extension "prototype(convert)" extension "decode(RAW)" }
20
21 type record ESM_CauseV
22 {
23 OCT1 causeValue
24 }
25
26 // 8.2.32 PDU_NAS_EPS_Uplink_Generic_NAS_Transport
27 type record PDU_NAS_EPS_Uplink_Generic_NAS_Transport
28 {
29 BIT4 securityHeaderType,
30 BIT8 messageType,
31 BIT8 generic_MessageContainerType
32 } with {
33 variant "PRESENCE(securityHeaderType='0000'B)"
34 }
35
36 // 8.3.15 PDU_NAS_EPS_ESM_Status
37 type record PDU_NAS_EPS_ESM_Status
38 {
39 BIT4 ePSBearerIdentity,
40 BIT8 procedureTransactionIdentifier,
41 BIT8 messageType,
42 ESM_CauseV esmCause
43 }
44
45 //see table 9.8.2/24.301:
46 type union EPS_SessionManagement
47 {
48 PDU_NAS_EPS_ESM_Status pDU_NAS_EPS_ESM_Status
49 } with {
50 variant "TAG (
51
52 pDU_NAS_EPS_ESM_Status, messageType = '11101000'B;
53 )"
54 }
55
56 //see Table 9.8.1/24.301:
57 type union EPS_MobilityManagement
58 {
59 PDU_NAS_EPS_Uplink_Generic_NAS_Transport pDU_NAS_EPS_Uplink_Generic_NAS_Transport //Table 9.8.1/23.301 v10.1.0
60 } with {
61 variant "TAG (
62
63 pDU_NAS_EPS_Uplink_Generic_NAS_Transport, messageType = '01101001'B;
64 )"
65 };
66
67
68 type union EPS_messages
69 {
70 EPS_SessionManagement ePS_SessionManagement,
71 EPS_MobilityManagement ePS_MobilityManagement
72 };
73
74 //see 11.2.3.1.1/24.007
75 type record PDU_NAS_EPS
76 {
77 BIT4 protocolDiscriminator,
78 EPS_messages ePS_messages
79 } with { variant (ePS_messages)"CROSSTAG(
80 ePS_SessionManagement, protocolDiscriminator='0010'B;
81 ePS_MobilityManagement, protocolDiscriminator='0111'B;
82 )"
83 };
84
85 } with { encode "RAW"} // End of module
This page took 0.032597 seconds and 5 git commands to generate.