wireshark/epan/dissectors/asn1/m3ap/m3ap.cnf

349 lines
13 KiB
INI

# m3ap.cnf
# m3ap conformation file
#.OPT
PER
ALIGNED
#.END
#.USE_VALS_EXT
ProcedureCode
ProtocolIE-ID
#.EXPORTS
#.PDU
M3AP-PDU
#.MAKE_ENUM
ProcedureCode
ProtocolIE-ID
#.NO_EMIT
# TBCD-STRING
#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
ProtocolIE-FieldPair
ProtocolIE-ContainerPair
ProtocolIE-ContainerPairList
ProtocolIE-ContainerList
Presence
#.TYPE_RENAME
InitiatingMessage/value InitiatingMessage_value
SuccessfulOutcome/value SuccessfulOutcome_value
UnsuccessfulOutcome/value UnsuccessfulOutcome_value
#.FIELD_RENAME
InitiatingMessage/value initiatingMessagevalue
UnsuccessfulOutcome/value unsuccessfulOutcome_value
SuccessfulOutcome/value successfulOutcome_value
PrivateIE-Field/id private_id
ProtocolExtensionField/id ext_id
PrivateIE-Field/value private_value
ProtocolIE-Field/value ie_field_value
#.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
#.FN_FTR ProtocolIE-ID
if (tree) {
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &m3ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
}
#.END
#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
# Currently not used
# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
# FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
#.FN_HDR InitiatingMessage/value
message_type = INITIATING_MESSAGE;
#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
#.FN_HDR SuccessfulOutcome/value
message_type = SUCCESSFUL_OUTCOME;
#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
#.FN_HDR UnsuccessfulOutcome/value
message_type = UNSUCCESSFUL_OUTCOME;
#--- Parameterization is not supported in asn2wrs ---
#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES : IEsSetParam} ::=
# SEQUENCE (SIZE (lowerBound..upperBound)) OF
# ProtocolIE-Container {{IEsSetParam}}
# FN_PARS ProtocolIE-ContainerList
#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
# FN_HDR ProtocolIE-ContainerList
# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
# { "lowerBound", ASN1_PAR_INTEGER },
# { "upperBound", ASN1_PAR_INTEGER },
# { NULL, (asn1_par_type)0 }
# };
# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
# END
#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
# SEQUENCE (SIZE (lowerBound..upperBound)) OF
# ProtocolIE-ContainerPair {{IEsSetParam}}
# FN_PARS ProtocolIE-ContainerPairList
#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
# FN_HDR ProtocolIE-ContainerPairList
# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
# { "lowerBound", ASN1_PAR_INTEGER },
# { "upperBound", ASN1_PAR_INTEGER },
# { NULL, 0 }
# };
# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
# END
# following construction is not supported by asn2wrs
# PLMNidentity ::= TBCD-STRING (SIZE (3))
#.FN_BODY PLMN-Identity VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
struct m3ap_private_data *m3ap_data = m3ap_get_private_data(actx->pinfo);
e212_number_type_t number_type = m3ap_data->number_type;
m3ap_data->number_type = E212_NONE;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, &parameter_tvb);
if (!parameter_tvb)
return offset;
dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE);
#.END
#.FN_BODY ECGI
struct m3ap_private_data *m3ap_data = m3ap_get_private_data(actx->pinfo);
m3ap_data->number_type = E212_ECGI;
%(DEFAULT_BODY)s
#.FN_BODY IPAddress VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
gint tvb_len;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
tvb_len = tvb_reported_length(parameter_tvb);
subtree = proto_item_add_subtree(actx->created_item, ett_m3ap_IPAddress);
switch (tvb_len) {
case 4:
proto_tree_add_item(subtree, hf_m3ap_IPAddress_v4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
break;
case 16:
proto_tree_add_item(subtree, hf_m3ap_IPAddress_v6, parameter_tvb, 0, 16, ENC_NA);
break;
default:
proto_tree_add_expert(subtree, actx->pinfo, &ei_m3ap_invalid_ip_address_len, parameter_tvb, 0, tvb_len);
break;
}
#.END
#.FN_BODY Absolute-Time-ofMBMS-Data VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
proto_tree_add_item(tree, hf_m3ap_Absolute_Time_ofMBMS_Data_value, parameter_tvb, 0, 8, ENC_TIME_NTP|ENC_BIG_ENDIAN);
#.END
#.TYPE_ATTR
BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
#.FN_BODY MBMS-Service-Area VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
guint16 tvb_len;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
tvb_len = tvb_reported_length(parameter_tvb);
dissect_gtpv2_mbms_service_area(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
#.END
#.FN_BODY MBMS-Session-Duration VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
guint16 tvb_len;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, &parameter_tvb);
if (!parameter_tvb)
return offset;
tvb_len = tvb_reported_length(parameter_tvb);
proto_item_append_text(actx->created_item, " ");
dissect_gtpv2_mbms_session_duration(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
#.END
#.FN_BODY MinimumTimeToMBMSDataTransfer VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
guint16 tvb_len;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
tvb_len = tvb_reported_length(parameter_tvb);
dissect_gtpv2_mbms_time_to_data_xfer(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
#.END
#------ Pretify info column -----
#.FN_HDR MBMSSessionStartRequest
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Request ");
#.FN_HDR MBMSSessionStartResponse
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Response ");
#.FN_HDR MBMSSessionStartFailure
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Failure ");
#.FN_HDR MBMSSessionStopRequest
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Request ");
#.FN_HDR MBMSSessionStopResponse
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Response ");
#.FN_HDR MBMSSessionUpdateRequest
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Request ");
#.FN_HDR MBMSSessionUpdateResponse
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Response ");
#.FN_HDR MBMSSessionUpdateFailure
col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Failure ");
#.FN_HDR ErrorIndication
col_set_str(actx->pinfo->cinfo, COL_INFO,"Error Indication ");
#.FN_HDR Reset
col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset ");
#.FN_HDR ResetAcknowledge
col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset Acknowledge ");
#.FN_HDR PrivateMessage
col_set_str(actx->pinfo->cinfo, COL_INFO,"Private Message ");
#.FN_HDR MCEConfigurationUpdate
col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update ");
#.FN_HDR MCEConfigurationUpdateAcknowledge
col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Acknowledge ");
#.FN_HDR MCEConfigurationUpdateFailure
col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Failure ");
#.FN_HDR M3SetupRequest
col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Request ");
#.FN_HDR M3SetupResponse
col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Response ");
#.FN_HDR M3SetupFailure
col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Failure ");
#.ASSIGN_VALUE_TO_TYPE # M3AP does not have constants assigned to types, they are pure INTEGER
# ProcedureCode
id-mBMSsessionStart ProcedureCode
id-mBMSsessionStop ProcedureCode
id-errorIndication ProcedureCode
id-privateMessage ProcedureCode
id-Reset ProcedureCode
id-mBMSsessionUpdate ProcedureCode
id-mCEConfigurationUpdate ProcedureCode
id-m3Setup ProcedureCode
# ProtocolIE
id-MME-MBMS-M3AP-ID ProtocolIE-ID
id-MCE-MBMS-M3AP-ID ProtocolIE-ID
id-TMGI ProtocolIE-ID
id-MBMS-Session-ID ProtocolIE-ID
id-MBMS-E-RAB-QoS-Parameters ProtocolIE-ID
id-MBMS-Session-Duration ProtocolIE-ID
id-MBMS-Service-Area ProtocolIE-ID
id-TNL-Information ProtocolIE-ID
id-CriticalityDiagnostics ProtocolIE-ID
id-Cause ProtocolIE-ID
id-MBMS-Service-Area-List ProtocolIE-ID
id-MBMS-Service-Area-List-Item ProtocolIE-ID
id-TimeToWait ProtocolIE-ID
id-ResetType ProtocolIE-ID
id-MBMS-Service-associatedLogicalM3-ConnectionItem ProtocolIE-ID
id-MBMS-Service-associatedLogicalM3-ConnectionListResAck ProtocolIE-ID
id-MinimumTimeToMBMSDataTransfer ProtocolIE-ID
id-AllocationAndRetentionPriority ProtocolIE-ID
id-Global-MCE-ID ProtocolIE-ID
id-MCEname ProtocolIE-ID
id-MBMSServiceAreaList ProtocolIE-ID
id-Time-ofMBMS-DataTransfer ProtocolIE-ID
id-Time-ofMBMS-DataStop ProtocolIE-ID
id-Reestablishment ProtocolIE-ID
id-Alternative-TNL-Information ProtocolIE-ID
id-MBMS-Cell-List ProtocolIE-ID
#.REGISTER
#M3AP-PROTOCOL-IES
MME-MBMS-M3AP-ID N m3ap.ies id-MME-MBMS-M3AP-ID
MCE-MBMS-M3AP-ID N m3ap.ies id-MCE-MBMS-M3AP-ID
TMGI N m3ap.ies id-TMGI
MBMS-Session-ID N m3ap.ies id-MBMS-Session-ID
MBMS-E-RAB-QoS-Parameters N m3ap.ies id-MBMS-E-RAB-QoS-Parameters
MBMS-Session-Duration N m3ap.ies id-MBMS-Session-Duration
MBMS-Service-Area N m3ap.ies id-MBMS-Service-Area
TNL-Information N m3ap.ies id-TNL-Information
CriticalityDiagnostics N m3ap.ies id-CriticalityDiagnostics
Cause N m3ap.ies id-Cause
#MBMS-Service-Area-List N m3ap.ies id-MBMS-Service-Area-List
#MBMS-Service-Area-List-Item N m3ap.ies id-MBMS-Service-Area-List-Item
TimeToWait N m3ap.ies id-TimeToWait
ResetType N m3ap.ies id-ResetType
MBMS-Service-associatedLogicalM3-ConnectionItem N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionItem
MBMS-Service-associatedLogicalM3-ConnectionListResAck N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionListResAck
MinimumTimeToMBMSDataTransfer N m3ap.ies id-MinimumTimeToMBMSDataTransfer
AllocationAndRetentionPriority N m3ap.ies id-AllocationAndRetentionPriority
Global-MCE-ID N m3ap.ies id-Global-MCE-ID
MCEname N m3ap.ies id-MCEname
MBMSServiceAreaListItem N m3ap.ies id-MBMSServiceAreaList
Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataTransfer
Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataStop
Reestablishment N m3ap.ies id-Reestablishment
TNL-Information N m3ap.ies id-Alternative-TNL-Information
MBMS-Cell-List N m3ap.ies id-MBMS-Cell-List
#M3AP-ELEMENTARY-PROCEDURE
MBMSSessionStartRequest N m3ap.proc.imsg id-mBMSsessionStart
MBMSSessionStartResponse N m3ap.proc.sout id-mBMSsessionStart
MBMSSessionStartFailure N m3ap.proc.uout id-mBMSsessionStart
MBMSSessionStopRequest N m3ap.proc.imsg id-mBMSsessionStop
MBMSSessionStopResponse N m3ap.proc.sout id-mBMSsessionStop
MBMSSessionUpdateRequest N m3ap.proc.imsg id-mBMSsessionUpdate
MBMSSessionUpdateResponse N m3ap.proc.sout id-mBMSsessionUpdate
MBMSSessionUpdateFailure N m3ap.proc.uout id-mBMSsessionUpdate
ErrorIndication N m3ap.proc.imsg id-errorIndication
Reset N m3ap.proc.imsg id-Reset
ResetAcknowledge N m3ap.proc.sout id-Reset
PrivateMessage N m3ap.proc.imsg id-privateMessage
MCEConfigurationUpdate N m3ap.proc.imsg id-mCEConfigurationUpdate
MCEConfigurationUpdateAcknowledge N m3ap.proc.sout id-mCEConfigurationUpdate
MCEConfigurationUpdateFailure N m3ap.proc.uout id-mCEConfigurationUpdate
M3SetupRequest N m3ap.proc.imsg id-m3Setup
M3SetupResponse N m3ap.proc.sout id-m3Setup
M3SetupFailure N m3ap.proc.uout id-m3Setup
#.END