| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // Copyright (c) 2000-2019 Ericsson Telecom AB |
| // |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v2.0 |
| // which accompanies this distribution, and is available at |
| // https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html |
| /////////////////////////////////////////////////////////////////////////////// |
| // File: M2UA_Types.ttcn |
| // Description: Definition of M2UA protocol |
| // Rev: R3A01 |
| // Prodnr: CNL 113 465 |
| // Updated: 2007-07-17 |
| // Contact: http://ttcn.ericsson.se |
| /////////////////////////////////////////////// |
| module M2UA_Types |
| { |
| import from General_Types all; |
| |
| |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| // External functions for encoding/decoding |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| external function enc_PDU_M2UA (in PDU_M2UA pl_PDU_M2UA) return octetstring |
| with { extension "prototype(convert) encode(RAW)" }; |
| |
| external function dec_PDU_M2UA (in octetstring pl_octetstring) return PDU_M2UA |
| with { extension "prototype(convert) decode(RAW)" }; |
| |
| |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| // M2UA PARAMETER VALUES |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type octetstring M2UA_OCT0_255 length (0..255); |
| |
| type record of LIN4_BO_LAST M2UA_IF_ID_range with { variant ""}; |
| |
| //State |
| type enumerated M2UA_State |
| { |
| M2UA_STATUS_LPO_SET(0), |
| M2UA_STATUS_LPO_CLEAR(1), |
| M2UA_STATUS_EMER_SET(2), |
| M2UA_STATUS_EMER_CLEAR(3), |
| M2UA_STATUS_FLUSH_BUFFERS(4), |
| M2UA_STATUS_CONTINUE(5), |
| M2UA_STATUS_CLEAR_RTB(6), |
| M2UA_STATUS_AUDIT(7), |
| M2UA_STATUS_CONG_CLEAR(8), |
| M2UA_STATUS_CONG_ACCEPT(9), |
| M2UA_STATUS_CONG_DISCARD(10) |
| } with { variant "FIELDLENGTH(32)"; |
| variant "BYTEORDER(last)";} |
| |
| //Event |
| type enumerated M2UA_Event |
| { |
| M2UA_EVENT_RPO_ENTER(1), |
| M2UA_EVENT_RPO_EXIT(2), |
| M2UA_EVENT_LPO_ENTER(3), |
| M2UA_EVENT_LPO_EXIT(4) |
| } with { variant "FIELDLENGTH(32)"; |
| variant "BYTEORDER(last)";} |
| |
| //Congestion Status |
| type enumerated M2UA_Congestion |
| { |
| M2UA_LEVEL_NONE(0), |
| M2UA_LEVEL_1(1), |
| M2UA_LEVEL_2(2), |
| M2UA_LEVEL_3(3) |
| } with { variant "FIELDLENGTH(32)"; |
| variant "BYTEORDER(last)";} |
| |
| //Action |
| type enumerated M2UA_Action |
| { |
| M2UA_ACTION_RTRV_BSN(1), |
| M2UA_ACTION_RTRV_MSGS(2) |
| } with { variant "FIELDLENGTH(32)"; |
| variant "BYTEORDER(last)";} |
| |
| //Result |
| type enumerated M2UA_Result |
| { |
| M2UA_RESULT_SUCCESS(0), |
| M2UA_RESULT_FAILURE(1) |
| } with { variant "FIELDLENGTH(32)"; |
| variant "BYTEORDER(last)";} |
| |
| //Error Codes |
| type enumerated M2UA_Errors |
| { |
| M2UA_INVALID_VERSION(1), |
| M2UA_INVALID_IID(2), |
| M2UA_UNSUPP_MSG_CLASS(3), |
| M2UA_UNSUPP_MSG_TYPE(4), |
| M2UA_UNSUPP_TRAFFIC_HANDLING_MODE(5), |
| M2UA_UNEXPECTED_MSG(6), |
| M2UA_PROTOCOL_ERR(7), |
| M2UA_UNSUPP_IID_TYPE(8), |
| M2UA_INVALID_STREAM_ID(9), |
| M2UA_REFUSED_MGMT_BLOCKING(13), |
| M2UA_ASP_ID_REQUIRED(14), |
| M2UA_INVALID_ASP_ID(15), |
| M2UA_ASP_ACT_FOR_IID(16), |
| M2UA_INVALID_PARAM_VALUE(17), |
| M2UA_PARAM_FIELD_ERR(18), |
| M2UA_UNEXPECTED_PARAM(19), |
| M2UA_MISSING_PARAM(22) |
| } with { variant "FIELDLENGTH(32)"; |
| variant "BYTEORDER(last)";} |
| |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| // M2UA PARAMETERS |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| //+++++++++++++++++++++++ |
| //Common Parameter Tags + |
| //+++++++++++++++++++++++ |
| |
| //0001 Interface Identifier (integer) |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_InterfaceID_integer_value |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| LIN4_BO_LAST iF_ID_value |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,iF_ID_value)"; |
| variant "PRESENCE (tag = '0001'O)"; |
| } |
| |
| type record M2UA_InterfaceID_integer_values |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_IF_ID_range iF_ID_values |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,iF_ID_values)"; |
| variant "PRESENCE (tag = '0001'O)"; |
| } |
| |
| //0003 Interface Identifier (text) |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_InterfaceID_text |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| charstring iF_ID_Text |
| } with { variant "PRESENCE (tag = '0003'O)"; |
| variant (lengthInd) "LENGTHTO(tag,lengthInd,iF_ID_Text)"; |
| variant "PADDING(dword32)"; |
| } |
| |
| //0004 INFO String |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Info_String |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_OCT0_255 infoString |
| } with { variant "PRESENCE (tag = '0004'O)"; |
| variant (lengthInd) "LENGTHTO(tag,lengthInd,infoString)"; |
| variant "PADDING(dword32)"; |
| } |
| |
| //0007 Diagnostic Information |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Diagnostic_information |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| octetstring diagnosticInformation |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,diagnosticInformation)"; |
| variant "PADDING(dword32)"; |
| variant "PRESENCE (tag = '0007'O)"; |
| } |
| |
| //0008 Interface Identifier range |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_InterfaceID_integer_range |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_IF_ID_range iF_ID_range |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,iF_ID_range)"; |
| variant "PRESENCE (tag = '0008'O)"; |
| } |
| |
| //0009 Heartbeat data |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Heartbeat_Data |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| octetstring heartbeat_Data |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,heartbeat_Data)"; |
| variant "PADDING(dword32)"; |
| variant "PRESENCE (tag = '0009'O)"; |
| } |
| |
| //000B Traffic Mode type |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Traffic_Mode_Type |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 trafficModeType |
| } with { variant (lengthInd) "LENGTHTO (tag,lengthInd,trafficModeType)"; |
| variant "PRESENCE (tag = '000B'O)"; |
| } |
| |
| //000C Error Code |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Error_Code |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Errors errorCode |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,errorCode)"; |
| variant "PRESENCE (tag = '000C'O)"; |
| } |
| |
| //000D Status |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Status |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT2 statusType, |
| OCT2 statusInformation |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,statusType,statusInformation)"; |
| variant "PRESENCE (tag = '000D'O)"; |
| } |
| |
| //0011 ASP Identifier |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASP_Identifier |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 aSPIdentifier |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,aSPIdentifier)"; |
| variant "PRESENCE (tag = '0011'O)"; |
| } |
| |
| //0013 Correlation Id |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Correlation_Id |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 correlationId |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,correlationId)"; |
| variant "PRESENCE (tag = '0013'O)"; |
| } |
| |
| //M2UA Message Header |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type union M2UA_Message_Header |
| { |
| M2UA_InterfaceID_integer_value interfaceID_integer, |
| M2UA_InterfaceID_text interfaceID_text |
| } with { variant "TAG (interfaceID_integer, tag = '0001'O; |
| interfaceID_text, tag = '0003'O)" |
| } |
| |
| //M2UA Interface Id |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type union M2UA_InterfaceID |
| { |
| M2UA_InterfaceID_integer_value interfaceID_integer, |
| M2UA_InterfaceID_text interfaceID_text |
| } with { variant "TAG (interfaceID_integer, tag = '0001'O; |
| interfaceID_text, tag = '0003'O)" |
| } |
| |
| //Combined interface IDs |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type set of M2UA_InterfaceID_integer_values M2UA_InterfaceID_integer_list |
| with { variant "" }; |
| type set of M2UA_InterfaceID_integer_range M2UA_InterfaceID_range_list |
| with { variant "" }; |
| type set of M2UA_InterfaceID_text M2UA_InterfaceID_text_list |
| with { variant "" }; |
| |
| type set M2UA_InterfaceIDs |
| { |
| M2UA_InterfaceID_integer_list interfaceIDs_integer optional, |
| M2UA_InterfaceID_range_list interfaceIDs_range optional, |
| M2UA_InterfaceID_text_list interfaceIDs_text optional |
| } with { variant (interfaceIDs_integer,interfaceIDs_range,interfaceIDs_text) |
| "REPEATABLE(yes)";}; |
| |
| |
| //++++++++++++++++++++++++++++++ |
| //M2UA Specific Parameter Tags + |
| //++++++++++++++++++++++++++++++ |
| |
| //0300 Protocol Data 1 |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Protocol_Data |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCTN data |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,data)"; |
| variant "PADDING(dword32)"; |
| variant "PRESENCE (tag = '0300'O)"; |
| } |
| |
| //0301 Protocol Data 2 (TTC) |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Protocol_Data_TTC |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCTN data |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,data)"; |
| variant "PADDING(dword32)"; |
| variant "PRESENCE (tag = '0301'O)"; |
| } |
| |
| //0302 State Request |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_State_Request |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_State state |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,state)"; |
| variant "PRESENCE (tag = '0302'O)"; |
| } |
| |
| //0303 State Event |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_State_Event |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Event event |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,event)"; |
| variant "PRESENCE (tag = '0303'O)"; |
| } |
| |
| //0304 Congestion Status |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Congestion_Status |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Congestion status |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,status)"; |
| variant "PRESENCE (tag = '0304'O)"; |
| } |
| |
| //0305 Discard Status |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Discard_Status |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Congestion status |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,status)"; |
| variant "PRESENCE (tag = '0305'O)"; |
| } |
| |
| //0306 Action |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Retrieval_Action |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Action actionValue |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,actionValue)"; |
| variant "PRESENCE (tag = '0306'O)"; |
| } |
| |
| //0307 Sequence Number |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Sequence_Number |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 seqNr |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,seqNr)"; |
| variant "PRESENCE (tag = '0307'O)"; |
| } |
| |
| //0308 Retrieval Result |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Retrieval_Result |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Result result |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,result)"; |
| variant "PRESENCE (tag = '0308'O)"; |
| } |
| |
| //0309 Link Key |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Link_Key |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Local_LK_Id localLKId, |
| M2UA_SDT_Id sdtId, |
| M2UA_SDL_Id sdlId |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,localLKId,sdtId,sdlId)"; |
| variant "PRESENCE (tag = '0309'O)"; |
| } |
| |
| //030A Local-LK-Identifier |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Local_LK_Id |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 id |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,id)"; |
| variant "PRESENCE (tag = '030A'O)"; |
| } |
| |
| //030B Signalling Data Terminal (SDT) Identifier |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_SDT_Id |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 id |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,id)"; |
| variant "PRESENCE (tag = '030B'O)"; |
| } |
| |
| //030C Signalling Data Link (SDL) Identifier |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_SDL_Id |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 id |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,id)"; |
| variant "PRESENCE (tag = '030C'O)"; |
| } |
| |
| //030D Registration Result |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Registration_Result |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_Local_LK_Id localLKId, |
| M2UA_Registration_Status status, |
| M2UA_InterfaceID interfaceId |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,localLKId,status, |
| interfaceId)"; |
| variant "PRESENCE (tag = '030D'O)"; |
| } |
| |
| //030E Registration Status |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Registration_Status |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 status |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,status)"; |
| variant "PRESENCE (tag = '030E'O)"; |
| } |
| |
| //030F De-Registration Result |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Deregistration_Result |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| M2UA_InterfaceID interfaceId, |
| M2UA_Deregistration_Status status |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,interfaceId,status)"; |
| variant "PRESENCE (tag = '030F'O)"; |
| } |
| |
| //0310 De-Registration Status |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_Deregistration_Status |
| { |
| OCT2 tag, |
| LIN2_BO_LAST lengthInd, |
| OCT4 status |
| } with { variant (lengthInd) "LENGTHTO(tag,lengthInd,status)"; |
| variant "PRESENCE (tag = '0310'O)"; |
| } |
| |
| |
| |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //M2UA MESSAGE PDUs |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| //++++++++++++++++ |
| //ASPSM Messages + |
| //++++++++++++++++ |
| |
| // M2UA_DATA |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DATA |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0601'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Protocol_Data protocolData optional, |
| M2UA_Protocol_Data_TTC protocolDataTTC optional, |
| M2UA_Correlation_Id correlationId optional |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,protocolData, |
| protocolDataTTC,correlationId)"; |
| } |
| |
| // M2UA_ESTABLISH_REQUEST |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_EST_REQ |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0602'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header)"; |
| } |
| |
| // M2UA_ESTABLISH_CONFIRM |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_EST_CFM |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0603'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header)"; |
| } |
| |
| // M2UA_RELEASE_REQUEST |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_REL_REQ |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0604'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header)"; |
| } |
| |
| // M2UA_RELEASE_CONFIRM |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_REL_CFM |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0605'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header)"; |
| } |
| |
| // M2UA_RELEASE_INDICATION |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_REL_IND |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0606'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header)"; |
| } |
| |
| // M2UA_STATE_REQUEST |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_STATE_REQ |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0607'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_State_Request state |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,state)"; |
| } |
| |
| // M2UA_STATE_CONFIRM |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_STATE_CFM |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0608'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_State_Request state |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,state)"; |
| } |
| |
| // M2UA_STATE_INDICATION |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_STATE_IND |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0609'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_State_Event event |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,event)"; |
| } |
| |
| // M2UA_DATA_RETRIEVAL_REQUEST |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DATA_RETR_REQ |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('060A'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Retrieval_Action aCTION, |
| M2UA_Sequence_Number seqNr optional |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,aCTION,seqNr)"; |
| } |
| |
| // M2UA_DATA_RETRIEVAL_CONFIRM |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DATA_RETR_CFM |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('060B'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Retrieval_Action aCTION, |
| M2UA_Retrieval_Result result, |
| M2UA_Sequence_Number seqNr optional |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,aCTION,result, |
| seqNr)"; |
| } |
| |
| // M2UA_DATA_RETRIEVAL_INDICATION |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DATA_RETR_IND |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('060C'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Protocol_Data protocolData optional, |
| M2UA_Protocol_Data_TTC protocolDataTTC optional |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,protocolData, |
| protocolDataTTC)"; |
| } |
| |
| // M2UA_DATA_RETRIEVAL_COMPLETE_INDICATION |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DATA_RETR_COMP_IND |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('060D'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Protocol_Data protocolData optional, |
| M2UA_Protocol_Data_TTC protocolDataTTC optional |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,protocolData, |
| protocolDataTTC)"; |
| } |
| |
| // M2UA_CONGESTION_INDICATION |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_CONG_IND |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('060E'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Congestion_Status congestionStatus, |
| M2UA_Discard_Status discardStatus optional |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,congestionStatus |
| ,discardStatus)"; |
| } |
| |
| // M2UA_DATA_ACKNOWLEDGE |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DATA_ACK |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('060F'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Message_Header header, |
| M2UA_Correlation_Id correlationId |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,header,correlationId)"; |
| } |
| |
| |
| //++++++++++++++++ |
| //ASPSM Messages + |
| //++++++++++++++++ |
| |
| // M2UA_ASPUP |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPUP |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0301'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPUP_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPUP_MessageParameters |
| { |
| M2UA_ASP_Identifier aSP_Identifier optional, |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| //M2UA_ASPDN |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPDN |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0302'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPDN_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPDN_MessageParameters |
| { |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| // M2UA_BEAT |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_BEAT |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0303'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_BEAT_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_BEAT_MessageParameters |
| { |
| M2UA_Heartbeat_Data heartbeat_Data optional |
| } with { variant ""} |
| |
| |
| //M2UA_ASPUP_Ack |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPUP_Ack |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0304'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPUP_Ack_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPUP_Ack_MessageParameters |
| { |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| //M2UA_ASPDN_Ack |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPDN_Ack |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0305'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPDN_Ack_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPDN_Ack_MessageParameters |
| { |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| // M2UA_BEAT_Ack |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_BEAT_Ack |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0306'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_BEAT_Ack_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_BEAT_Ack_MessageParameters |
| { |
| M2UA_Heartbeat_Data heartbeat_Data optional |
| } with { variant ""} |
| |
| |
| //++++++++++++++++ |
| //ASPTM Messages + |
| //++++++++++++++++ |
| |
| // M2UA_ASPAC |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPAC |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0401'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPAC_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPAC_MessageParameters |
| { |
| M2UA_Traffic_Mode_Type traffic_Mode_Type optional, |
| M2UA_InterfaceIDs interfaceID optional, |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| // M2UA_ASPIA |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPIA |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0402'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPIA_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPIA_MessageParameters |
| { |
| M2UA_InterfaceIDs interfaceID optional, |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| // M2UA_ASPAC_Ack |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPAC_Ack |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0403'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPAC_Ack_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPAC_Ack_MessageParameters |
| { |
| M2UA_Traffic_Mode_Type traffic_Mode_Type optional, |
| M2UA_InterfaceIDs interfaceID optional, |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| // M2UA_ASPIA_Ack |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ASPIA_Ack |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0404'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ASPIA_Ack_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ASPIA_Ack_MessageParameters |
| { |
| M2UA_InterfaceIDs interfaceID optional, |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| |
| //+++++++++++++++ |
| //MGMT Messages + |
| //+++++++++++++++ |
| |
| // M2UA_ERR PDU |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_ERR |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0000'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_ERR_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_ERR_MessageParameters |
| { |
| M2UA_Error_Code error_Code, |
| M2UA_InterfaceIDs interfaceID optional, |
| M2UA_Diagnostic_information diagnostic_information optional |
| } with { variant ""} |
| |
| |
| // M2UA_NOTIFY |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_NTFY |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0001'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_NTFY_MessageParameters messageParameters |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,messageParameters)"; |
| } |
| |
| type set M2UA_NTFY_MessageParameters |
| { |
| M2UA_Status status, |
| M2UA_ASP_Identifier aSP_Identifier optional, |
| M2UA_InterfaceIDs interfaceID optional, |
| M2UA_Info_String info_String optional |
| } with { variant ""} |
| |
| |
| //++++++++++++++ |
| //IIM Messages + |
| //++++++++++++++ |
| |
| // M2UA_REGISTRATION_REQUEST |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_REG_REQ |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0A01'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Link_Key_Record links |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,links)"; |
| } |
| |
| type record of M2UA_Link_Key M2UA_Link_Key_Record; |
| |
| // M2UA_REGISTRATION_RESPONSE |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_REG_RSP |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0A02'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Registration_Result_Record results |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,results)"; |
| } |
| |
| type record of M2UA_Registration_Result M2UA_Registration_Result_Record; |
| |
| // M2UA_DEREGISTRATION_REQUEST |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DEREG_REQ |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0A03'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_InterfaceID_Record interfaceIDs |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,interfaceIDs)"; |
| } |
| |
| type record of M2UA_InterfaceID M2UA_InterfaceID_Record; |
| |
| // M2UA_DEREGISTRATION_RESPONSE |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| type record M2UA_DEREG_RSP |
| { |
| OCT1 version ('01'O), |
| OCT1 reserved ('00'O), |
| OCT2 messageClassAndType ('0A04'O), |
| LIN4_BO_LAST messageLength, |
| M2UA_Deregistration_Result_Record results |
| } with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType, |
| messageLength,results)"; |
| } |
| |
| type record of M2UA_Deregistration_Result M2UA_Deregistration_Result_Record; |
| |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| // Top level PDU |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| //++++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| type union PDU_M2UA |
| { |
| M2UA_DATA m2UA_DATA, //Data |
| M2UA_EST_REQ m2UA_EST_REQ, //Establish Request |
| M2UA_EST_CFM m2UA_EST_CFM, //Establish Confirm |
| M2UA_REL_REQ m2UA_REL_REQ, //Release Request |
| M2UA_REL_CFM m2UA_REL_CFM, //Release Confirm |
| M2UA_REL_IND m2UA_REL_IND, //Release Indication |
| M2UA_STATE_REQ m2UA_STATE_REQ, //State Request |
| M2UA_STATE_CFM m2UA_STATE_CFM, //State Confirm |
| M2UA_STATE_IND m2UA_STATE_IND, //State Indication |
| M2UA_DATA_RETR_REQ m2UA_DATA_RETR_REQ, //Data Retrieval Request |
| M2UA_DATA_RETR_CFM m2UA_DATA_RETR_CFM, //Data Retrieval Confirm |
| M2UA_DATA_RETR_IND m2UA_DATA_RETR_IND, //Data Retrieval Indication |
| M2UA_DATA_RETR_COMP_IND m2UA_DATA_RETR_COMP_IND, //Data Retr. Complete Ind |
| M2UA_CONG_IND m2UA_CONG_IND, //Congestion Indication |
| M2UA_DATA_ACK m2UA_DATA_ACK, //Data Ack |
| M2UA_ASPUP m2UA_ASPUP, //ASP Up |
| M2UA_ASPDN m2UA_ASPDN, //ASP Down |
| M2UA_BEAT m2UA_BEAT, //Heartbeat |
| M2UA_ASPUP_Ack m2UA_ASPUP_Ack, //ASP Up Ack |
| M2UA_ASPDN_Ack m2UA_ASPDN_Ack, //ASP Down Ack |
| M2UA_BEAT_Ack m2UA_BEAT_Ack, //Heartbeat Ack |
| M2UA_ASPAC m2UA_ASPAC, //ASP Active |
| M2UA_ASPIA m2UA_ASPIA, //ASP Inactive |
| M2UA_ASPAC_Ack m2UA_ASPAC_Ack, //ASP Active Ack |
| M2UA_ASPIA_Ack m2UA_ASPIA_Ack, //ASP Inactive Ack |
| M2UA_ERR m2UA_ERR, //Error |
| M2UA_NTFY m2UA_NTFY, //Notify |
| M2UA_REG_REQ m2UA_REG_REQ, //Registration Request |
| M2UA_REG_RSP m2UA_REG_RSP, //Registration Response |
| M2UA_DEREG_REQ m2UA_DEREG_REQ, //Deregistration Request |
| M2UA_DEREG_RSP m2UA_DEREG_RSP //Deregistration Response |
| } with { variant "TAG( |
| m2UA_DATA, messageClassAndType = '0601'O; //MAUP Class(6) |
| m2UA_EST_REQ, messageClassAndType = '0602'O; //MAUP Class(6) |
| m2UA_EST_CFM, messageClassAndType = '0603'O; //MAUP Class(6) |
| m2UA_REL_REQ, messageClassAndType = '0604'O; //MAUP Class(6) |
| m2UA_REL_CFM, messageClassAndType = '0605'O; //MAUP Class(6) |
| m2UA_REL_IND, messageClassAndType = '0606'O; //MAUP Class(6) |
| m2UA_STATE_REQ, messageClassAndType = '0607'O; //MAUP Class(6) |
| m2UA_STATE_CFM, messageClassAndType = '0608'O; //MAUP Class(6) |
| m2UA_STATE_IND, messageClassAndType = '0609'O; //MAUP Class(6) |
| m2UA_DATA_RETR_REQ, messageClassAndType = '060A'O; //MAUP Class(6) |
| m2UA_DATA_RETR_CFM, messageClassAndType = '060B'O; //MAUP Class(6) |
| m2UA_DATA_RETR_IND, messageClassAndType = '060C'O; //MAUP Class(6) |
| m2UA_DATA_RETR_COMP_IND, messageClassAndType = '060D'O; //MAUP Class(6) |
| m2UA_CONG_IND, messageClassAndType = '060E'O; //MAUP Class(6) |
| m2UA_DATA_ACK, messageClassAndType = '060F'O; //MAUP Class(6) |
| m2UA_ASPUP, messageClassAndType = '0301'O; //ASPSM Class(3) |
| m2UA_ASPDN, messageClassAndType = '0302'O; //ASPSM Class(3) |
| m2UA_BEAT, messageClassAndType = '0303'O; //ASPSM Class(3) |
| m2UA_ASPUP_Ack, messageClassAndType = '0304'O; //ASPSM Class(3) |
| m2UA_ASPDN_Ack, messageClassAndType = '0305'O; //ASPSM Class(3) |
| m2UA_BEAT_Ack, messageClassAndType = '0306'O; //ASPSM Class(3) |
| m2UA_ASPAC, messageClassAndType = '0401'O; //ASPTM Class(4) |
| m2UA_ASPIA, messageClassAndType = '0402'O; //ASPTM Class(4) |
| m2UA_ASPAC_Ack, messageClassAndType = '0403'O; //ASPTM Class(4) |
| m2UA_ASPIA_Ack, messageClassAndType = '0404'O; //ASPTM Class(4) |
| m2UA_ERR, messageClassAndType = '0000'O; //MGMT Class(0) |
| m2UA_NTFY, messageClassAndType = '0001'O; //MGMT Class(0) |
| m2UA_REG_REQ, messageClassAndType = '0A01'O; //IIM Class(10) |
| m2UA_REG_RSP, messageClassAndType = '0A02'O; //IIM Class(10) |
| m2UA_DEREG_REQ, messageClassAndType = '0A03'O; //IIM Class(10) |
| m2UA_DEREG_RSP, messageClassAndType = '0A04'O; )"//IIM Class(10) |
| } |
| |
| }with{ encode "RAW"} |