806 lines
30 KiB
Plaintext
806 lines
30 KiB
Plaintext
/******************************************************************************
|
|
* Copyright (c) 2004, 2015 Ericsson AB
|
|
* All rights reserved. This program and the accompanying materials
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
* which accompanies this distribution, and is available at
|
|
* http://www.eclipse.org/legal/epl-v10.html
|
|
*
|
|
* Contributors:
|
|
* Ferenc Kovacs
|
|
* Gabor Bettesch
|
|
* Gabor Szalai
|
|
******************************************************************************/
|
|
//
|
|
// File: M3UA_Types.ttcn
|
|
// Rev: R2A
|
|
// Prodnr: CNL 113 536
|
|
// Reference:
|
|
|
|
module M3UA_Types {
|
|
|
|
import from General_Types all;
|
|
|
|
external function enc_PDU_M3UA(in PDU_M3UA pdu) return octetstring
|
|
with { extension "prototype(convert)"
|
|
extension "encode(RAW)"
|
|
}
|
|
|
|
external function dec_PDU_M3UA(in octetstring stream) return PDU_M3UA
|
|
with { extension "prototype(convert)"
|
|
extension "decode(RAW)"
|
|
}
|
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
// M3UA PARAMETERS
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type octetstring M3UA_OCT0_255 length (0..255);
|
|
|
|
type record M3UA_Point_Code
|
|
{
|
|
OCT1 mask,
|
|
OCT3 affected_Point_Code
|
|
}
|
|
|
|
type record of M3UA_Point_Code M3UA_Point_Codes;
|
|
|
|
type record M3UA_Error_Code
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT4 errorCode
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,errorCode)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_Routing_Context
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
octetstring routingContext
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,routingContext)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
variant "PADDING(dword32)";
|
|
}
|
|
|
|
type record M3UA_Affected_Point_Codes
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
M3UA_Point_Codes pointCodes
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,pointCodes)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_Network_Appearance
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT4 networkAppearance
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,networkAppearance)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_Diagnostic_information
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
octetstring diagnosticInformation
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,diagnosticInformation)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
variant "PADDING(dword32)";
|
|
}
|
|
|
|
type record M3UA_Correlation_ID
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT4 correlationID
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,correlationID)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_Protocol_Data
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT4 oPC,
|
|
OCT4 dPC,
|
|
OCT1 sI,
|
|
OCT1 nI,
|
|
OCT1 mP,
|
|
OCT1 sLS,
|
|
octetstring userProtocolData
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,oPC,dPC,sI,nI,mP,sLS,
|
|
userProtocolData)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
variant "PADDING(dword32)";
|
|
}
|
|
|
|
type record M3UA_Info_String
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
M3UA_OCT0_255 infoString
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,infoString)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
variant "PADDING(dword32)";
|
|
}
|
|
|
|
type record M3UA_Concerned_Destination
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT1 reserved,
|
|
OCT3 concernedDestination
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,reserved,
|
|
concernedDestination)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_Congestion_Indicators
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT1 reserved,
|
|
OCT3 congestionLevel
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,reserved,congestionLevel)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_User_Cause
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT2 cause,
|
|
OCT2 user
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,cause,user)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_ASP_Identifier
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT4 aSPIdentifier
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,aSPIdentifier)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
type record M3UA_Heartbeat_Data
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
octetstring heartbeat_Data
|
|
} with { variant (lengthInd) "LENGTHTO(tag,lengthInd,heartbeat_Data)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
variant "PADDING(dword32)";
|
|
}
|
|
|
|
type record M3UA_Traffic_Mode_Type
|
|
{
|
|
OCT2 tag,
|
|
integer lengthInd,
|
|
OCT4 trafficModeType
|
|
} with { variant (lengthInd) "LENGTHTO (tag,lengthInd,trafficModeType)";
|
|
variant (lengthInd) "FIELDLENGTH(16)";
|
|
variant (lengthInd) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
//PDUs
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
// M3UA_ERR PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ERR
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ERR_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ERR_MessageParameters
|
|
{
|
|
M3UA_Error_Code error_Code,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Affected_Point_Codes affected_Point_Codes optional,
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Diagnostic_information diagnostic_information optional
|
|
} with { variant "TAG(error_Code, tag = '000C'O;
|
|
routing_Context, tag = '0006'O;
|
|
affected_Point_Codes, tag = '0012'O;
|
|
network_Appearance, tag = '0200'O;
|
|
diagnostic_information, tag = '0007'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_NOTIFY
|
|
// NOTE1 : NOTIFY should not come and will be dropped if it comes
|
|
// NOTE2 : messageParameters is simpified implementation as octetstring
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_NOTIFY
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
octetstring messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
// M3UA_DATA PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DATA
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_DATA_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_DATA_MessageParameters
|
|
{
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Protocol_Data protocol_Data,
|
|
M3UA_Correlation_ID correlation_ID optional
|
|
} with { variant "TAG(network_Appearance, tag = '0200'O;
|
|
routing_Context, tag = '0006'O;
|
|
protocol_Data, tag = '0210'O;
|
|
correlation_ID, tag = '0013'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_DUNA PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DUNA
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_DUNA_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_DUNA_MessageParameters
|
|
{
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Affected_Point_Codes affected_Point_Codes,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(network_Appearance, tag = '0200'O;
|
|
routing_Context, tag = '0006'O;
|
|
affected_Point_Codes, tag = '0012'O;
|
|
info_String, tag = '0004'O )"
|
|
}
|
|
|
|
|
|
// M3UA_DAVA PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DAVA
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_DAVA_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_DAVA_MessageParameters
|
|
{
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Affected_Point_Codes affected_Point_Codes,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(network_Appearance, tag = '0200'O;
|
|
routing_Context, tag = '0006'O;
|
|
affected_Point_Codes, tag = '0012'O;
|
|
info_String, tag = '0004'O )"
|
|
}
|
|
|
|
|
|
// M3UA_DAUD PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DAUD
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_DAUD_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_DAUD_MessageParameters
|
|
{
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Affected_Point_Codes affected_Point_Codes,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(network_Appearance, tag = '0200'O;
|
|
routing_Context, tag = '0006'O;
|
|
affected_Point_Codes, tag = '0012'O;
|
|
info_String, tag = '0004'O )"
|
|
}
|
|
|
|
|
|
// M3UA_SCON PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_SCON
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_SCON_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_SCON_MessageParameters
|
|
{
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Affected_Point_Codes affected_Point_Codes,
|
|
M3UA_Concerned_Destination concerned_Destination optional,
|
|
M3UA_Congestion_Indicators congestion_Indicators optional,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(network_Appearance, tag = '0200'O;
|
|
routing_Context, tag = '0006'O;
|
|
affected_Point_Codes, tag = '0012'O;
|
|
concerned_Destination, tag = '0206'O;
|
|
congestion_Indicators, tag = '0205'O;
|
|
info_String, tag = '0004'O )"
|
|
}
|
|
|
|
|
|
// M3UA_DUPU PDU
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DUPU
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_DUPU_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_DUPU_MessageParameters
|
|
{
|
|
M3UA_Network_Appearance network_Appearance optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Affected_Point_Codes affected_Point_Codes,
|
|
M3UA_User_Cause user_Cause,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(network_Appearance, tag = '0200'O;
|
|
routing_Context, tag = '0006'O;
|
|
affected_Point_Codes, tag = '0012'O;
|
|
user_Cause, tag = '0204'O;
|
|
info_String, tag = '0004'O )"
|
|
}
|
|
|
|
|
|
// M3UA_DRST PDU
|
|
// NOTE1 : DRST should not come and will be dropped if it comes
|
|
// NOTE2 : messageParameters is simpified implementation as octetstring
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DRST
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
octetstring messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
// M3UA_ASPUP
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPUP
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPUP_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPUP_MessageParameters
|
|
{
|
|
M3UA_ASP_Identifier aSP_Identifier optional,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(aSP_Identifier, tag = '0011'O;
|
|
info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
//M3UA_ASPUP_Ack
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPUP_Ack
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPUP_Ack_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPUP_Ack_MessageParameters
|
|
{
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
//M3UA_ASPDN
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPDN
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPDN_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPDN_MessageParameters
|
|
{
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
//M3UA_ASPDN_Ack
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPDN_Ack
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPDN_Ack_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPDN_Ack_MessageParameters
|
|
{
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(info_String, tag = '0004'O;)"
|
|
}
|
|
|
|
|
|
// M3UA_BEAT
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_BEAT
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_BEAT_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_BEAT_MessageParameters
|
|
{
|
|
M3UA_Heartbeat_Data heartbeat_Data optional
|
|
} with { variant "TAG(heartbeat_Data, tag = '0009'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_BEAT_Ack
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_BEAT_Ack
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_BEAT_Ack_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_BEAT_Ack_MessageParameters
|
|
{
|
|
M3UA_Heartbeat_Data heartbeat_Data optional
|
|
} with { variant "TAG(heartbeat_Data, tag = '0009'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_ASPAC
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPAC
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPAC_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPAC_MessageParameters
|
|
{
|
|
M3UA_Traffic_Mode_Type traffic_Mode_Type optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(traffic_Mode_Type, tag = '000B'O;
|
|
routing_Context, tag = '0006'O;
|
|
info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_ASPAC_Ack
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPAC_Ack
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPAC_Ack_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPAC_Ack_MessageParameters
|
|
{
|
|
M3UA_Traffic_Mode_Type traffic_Mode_Type optional,
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(traffic_Mode_Type, tag = '000B'O;
|
|
routing_Context, tag = '0006'O;
|
|
info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_ASPIA
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPIA
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPIA_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPIA_MessageParameters
|
|
{
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(routing_Context, tag = '0006'O;
|
|
info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_ASPIA_Ack
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_ASPIA_Ack
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
M3UA_ASPIA_Ack_MessageParameters messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
type set M3UA_ASPIA_Ack_MessageParameters
|
|
{
|
|
M3UA_Routing_Context routing_Context optional,
|
|
M3UA_Info_String info_String optional
|
|
} with { variant "TAG(routing_Context, tag = '0006'O;
|
|
info_String, tag = '0004'O; )"
|
|
}
|
|
|
|
|
|
// M3UA_REG_REQ
|
|
// NOTE1 : REG REQ should not come and will be dropped if it comes
|
|
// NOTE2 : messageParameters is simpified implementation as octetstring
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_REG_REQ
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
octetstring messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
// M3UA_REG_RSP
|
|
// NOTE1 : REG RSP should not come and will be dropped if it comes
|
|
// NOTE2 : messageParameters is simpified implementation as octetstring
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_REG_RSP
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
octetstring messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
// M3UA_DEREG_REQ
|
|
// NOTE1 : DEREG REQ should not come and will be dropped if it comes
|
|
// NOTE2 : messageParameters is simpified implementation as octetstring
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DEREG_REQ
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
octetstring messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
// M3UA_DEREG_RSP
|
|
// NOTE1 : DEREG RSP should not come and will be dropped if it comes
|
|
// NOTE2 : messageParameters is simpified implementation as octetstring
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
type record M3UA_DEREG_RSP
|
|
{
|
|
OCT1 version,
|
|
OCT1 reserved,
|
|
OCT2 messageClassAndType,
|
|
integer messageLength,
|
|
octetstring messageParameters
|
|
} with { variant (messageLength) "LENGTHTO(version,reserved,messageClassAndType,
|
|
messageLength,messageParameters)";
|
|
variant (messageLength) "FIELDLENGTH(32)";
|
|
variant (messageLength) "BYTEORDER(last)";
|
|
}
|
|
|
|
|
|
// Top level PDU
|
|
//************************************************************************
|
|
type union PDU_M3UA
|
|
{
|
|
M3UA_ERR m3UA_ERR, // Error
|
|
M3UA_NOTIFY m3UA_NOTIFY, // Notify - should not come
|
|
M3UA_DATA m3UA_DATA, // Payload data
|
|
M3UA_DUNA m3UA_DUNA, // Destination Unavailable
|
|
M3UA_DAVA m3UA_DAVA, // Destination Available
|
|
M3UA_DAUD m3UA_DAUD, // Destination State Audit
|
|
M3UA_SCON m3UA_SCON, // Signaling Congestion
|
|
M3UA_DUPU m3UA_DUPU, // Destination User Part Unavailable
|
|
M3UA_DRST m3UA_DRST, // DRST - should not come
|
|
M3UA_ASPUP m3UA_ASPUP, // ASP up
|
|
M3UA_ASPDN m3UA_ASPDN, // ASP down
|
|
M3UA_BEAT m3UA_BEAT, // Heartbeat
|
|
M3UA_BEAT_Ack m3UA_BEAT_Ack, // Heartbeat Ack
|
|
M3UA_ASPUP_Ack m3UA_ASPUP_Ack, // ASP up ack
|
|
M3UA_ASPDN_Ack m3UA_ASPDN_Ack, // ASP down ack
|
|
M3UA_ASPAC m3UA_ASPAC, // ASP Active
|
|
M3UA_ASPIA m3UA_ASPIA, // ASP Inactive
|
|
M3UA_ASPAC_Ack m3UA_ASPAC_Ack, // ASP Active Ack
|
|
M3UA_ASPIA_Ack m3UA_ASPIA_Ack, // ASP Inactive
|
|
M3UA_REG_REQ m3UA_REG_REQ, // REG REQ - should not come
|
|
M3UA_REG_RSP m3UA_REG_RSP, // REG RSP - should not come
|
|
M3UA_DEREG_REQ m3UA_DEREG_REQ, // DEREG REQ - should not come
|
|
M3UA_DEREG_RSP m3UA_DEREG_RSP // DEREG RSP - should not come
|
|
} with { variant "TAG(
|
|
m3UA_ERR, messageClassAndType = '0000'O; //MGMT Class (0),
|
|
m3UA_NOTIFY, messageClassAndType = '0001'O; //MGMT Class (0),
|
|
m3UA_DATA, messageClassAndType = '0101'O; //Transf msg Class(1),
|
|
m3UA_DUNA, messageClassAndType = '0201'O; //SSNM Class(2),
|
|
m3UA_DAVA, messageClassAndType = '0202'O; //SSNM Class(2),
|
|
m3UA_DAUD, messageClassAndType = '0203'O; //SSNM Class(2),
|
|
m3UA_SCON, messageClassAndType = '0204'O; //SSNM Class(2),
|
|
m3UA_DUPU, messageClassAndType = '0205'O; //SSNM Class(2),
|
|
m3UA_DRST, messageClassAndType = '0206'O; //SSNM Class(2),
|
|
m3UA_ASPUP, messageClassAndType = '0301'O; //ASPSM Class(3),
|
|
m3UA_ASPDN, messageClassAndType = '0302'O; //ASPSM Class(3),
|
|
m3UA_BEAT, messageClassAndType = '0303'O; //ASPSM Class(3),
|
|
m3UA_ASPUP_Ack, messageClassAndType = '0304'O; //ASPSM Class(3),
|
|
m3UA_ASPDN_Ack, messageClassAndType = '0305'O; //ASPSM Class(3),
|
|
m3UA_BEAT_Ack, messageClassAndType = '0306'O; //ASPSM Class(3),
|
|
m3UA_ASPAC, messageClassAndType = '0401'O; //ASPTM Class(4),
|
|
m3UA_ASPIA, messageClassAndType = '0402'O; //ASPTM Class(4),
|
|
m3UA_ASPAC_Ack, messageClassAndType = '0403'O; //ASPTM Class(4),
|
|
m3UA_ASPIA_Ack, messageClassAndType = '0404'O; //ASPTM Class(4),
|
|
m3UA_REG_REQ, messageClassAndType = '0901'O; //RKM Class(9),
|
|
m3UA_REG_RSP, messageClassAndType = '0902'O; //RKM Class(9),
|
|
m3UA_DEREG_REQ, messageClassAndType = '0903'O; //RKM Class(9),
|
|
m3UA_DEREG_RSP, messageClassAndType = '0904'O; )" //RKM Class(9),
|
|
}
|
|
} with { encode "RAW"}
|