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 ******************************************************************************/
12 import from General_Types all;
15 external function enc_PDU_NAS_EPS(in PDU_NAS_EPS pdu) return octetstring
16 with { extension "prototype(convert)" extension "encode(RAW)" }
18 external function dec_PDU_NAS_EPS(in octetstring stream) return PDU_NAS_EPS
19 with { extension "prototype(convert)" extension "decode(RAW)" }
21 type record ESM_CauseV
26 // 8.2.32 PDU_NAS_EPS_Uplink_Generic_NAS_Transport
27 type record PDU_NAS_EPS_Uplink_Generic_NAS_Transport
29 BIT4 securityHeaderType,
31 BIT8 generic_MessageContainerType
33 variant "PRESENCE(securityHeaderType='0000'B)"
36 // 8.3.15 PDU_NAS_EPS_ESM_Status
37 type record PDU_NAS_EPS_ESM_Status
39 BIT4 ePSBearerIdentity,
40 BIT8 procedureTransactionIdentifier,
45 //see table 9.8.2/24.301:
46 type union EPS_SessionManagement
48 PDU_NAS_EPS_ESM_Status pDU_NAS_EPS_ESM_Status
52 pDU_NAS_EPS_ESM_Status, messageType = '11101000'B;
56 //see Table 9.8.1/24.301:
57 type union EPS_MobilityManagement
59 PDU_NAS_EPS_Uplink_Generic_NAS_Transport pDU_NAS_EPS_Uplink_Generic_NAS_Transport //Table 9.8.1/23.301 v10.1.0
63 pDU_NAS_EPS_Uplink_Generic_NAS_Transport, messageType = '01101001'B;
68 type union EPS_messages
70 EPS_SessionManagement ePS_SessionManagement,
71 EPS_MobilityManagement ePS_MobilityManagement
74 //see 11.2.3.1.1/24.007
75 type record PDU_NAS_EPS
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;
85 } with { encode "RAW"} // End of module