2 # m3ap conformation file
26 # Get rid of unused code warnings
28 ProtocolIE-ContainerPair
29 ProtocolIE-ContainerPairList
30 ProtocolIE-ContainerList
34 InitiatingMessage/value InitiatingMessage_value
35 SuccessfulOutcome/value SuccessfulOutcome_value
36 UnsuccessfulOutcome/value UnsuccessfulOutcome_value
39 InitiatingMessage/value initiatingMessagevalue
40 UnsuccessfulOutcome/value unsuccessfulOutcome_value
41 SuccessfulOutcome/value successfulOutcome_value
43 PrivateIE-Field/id private_id
44 ProtocolExtensionField/id ext_id
46 PrivateIE-Field/value private_value
47 ProtocolIE-Field/value ie_field_value
49 #.FN_PARS ProtocolIE-ID VAL_PTR=&ProtocolIE_ID
50 #.FN_FTR ProtocolIE-ID
52 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)"));
56 #.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
58 # FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue
59 # FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
61 # FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID
62 #.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
64 #.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode
66 #.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
67 #.FN_HDR InitiatingMessage/value
68 message_type = INITIATING_MESSAGE;
69 #.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
70 #.FN_HDR SuccessfulOutcome/value
71 message_type = SUCCESSFUL_OUTCOME;
72 #.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
73 #.FN_HDR UnsuccessfulOutcome/value
74 message_type = UNSUCCESSFUL_OUTCOME;
76 #--- Parameterization is not supported in asn2wrs ---
78 #ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES : IEsSetParam} ::=
79 # SEQUENCE (SIZE (lowerBound..upperBound)) OF
80 # ProtocolIE-Container {{IEsSetParam}}
82 # FN_PARS ProtocolIE-ContainerList
83 #MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
84 #MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
85 # FN_HDR ProtocolIE-ContainerList
86 # static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
87 # { "lowerBound", ASN1_PAR_INTEGER },
88 # { "upperBound", ASN1_PAR_INTEGER },
89 # { NULL, (asn1_par_type)0 }
91 # asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
94 #ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M3AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
95 # SEQUENCE (SIZE (lowerBound..upperBound)) OF
96 # ProtocolIE-ContainerPair {{IEsSetParam}}
98 # FN_PARS ProtocolIE-ContainerPairList
99 #MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
100 #MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
101 # FN_HDR ProtocolIE-ContainerPairList
102 # static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
103 # { "lowerBound", ASN1_PAR_INTEGER },
104 # { "upperBound", ASN1_PAR_INTEGER },
107 # asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
110 # following construction is not supported by asn2wrs
111 # PLMNidentity ::= TBCD-STRING (SIZE (3))
113 #.FN_BODY PLMN-Identity VAL_PTR = ¶meter_tvb
114 tvbuff_t *parameter_tvb=NULL;
115 struct m3ap_private_data *m3ap_data = m3ap_get_private_data(actx->pinfo);
116 e212_number_type_t number_type = m3ap_data->number_type;
117 m3ap_data->number_type = E212_NONE;
118 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
119 3, 3, false, ¶meter_tvb);
123 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, false);
127 struct m3ap_private_data *m3ap_data = m3ap_get_private_data(actx->pinfo);
128 m3ap_data->number_type = E212_ECGI;
131 #.FN_BODY IPAddress VAL_PTR = ¶meter_tvb
132 tvbuff_t *parameter_tvb=NULL;
141 tvb_len = tvb_reported_length(parameter_tvb);
142 subtree = proto_item_add_subtree(actx->created_item, ett_m3ap_IPAddress);
145 proto_tree_add_item(subtree, hf_m3ap_IPAddress_v4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN);
148 proto_tree_add_item(subtree, hf_m3ap_IPAddress_v6, parameter_tvb, 0, 16, ENC_NA);
151 proto_tree_add_expert(subtree, actx->pinfo, &ei_m3ap_invalid_ip_address_len, parameter_tvb, 0, tvb_len);
156 #.FN_BODY Absolute-Time-ofMBMS-Data VAL_PTR = ¶meter_tvb
157 tvbuff_t *parameter_tvb=NULL;
164 proto_tree_add_item(tree, hf_m3ap_Absolute_Time_ofMBMS_Data_value, parameter_tvb, 0, 8, ENC_TIME_NTP|ENC_BIG_ENDIAN);
168 BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_bit_sec)
170 #.FN_BODY MBMS-Service-Area VAL_PTR = ¶meter_tvb
171 tvbuff_t *parameter_tvb=NULL;
179 tvb_len = tvb_reported_length(parameter_tvb);
181 dissect_gtpv2_mbms_service_area(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
184 #.FN_BODY MBMS-Session-Duration VAL_PTR = ¶meter_tvb
185 tvbuff_t *parameter_tvb=NULL;
188 offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
189 3, 3, false, ¶meter_tvb);
194 tvb_len = tvb_reported_length(parameter_tvb);
196 proto_item_append_text(actx->created_item, " ");
197 dissect_gtpv2_mbms_session_duration(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
200 #.FN_BODY MinimumTimeToMBMSDataTransfer VAL_PTR = ¶meter_tvb
201 tvbuff_t *parameter_tvb=NULL;
209 tvb_len = tvb_reported_length(parameter_tvb);
210 dissect_gtpv2_mbms_time_to_data_xfer(parameter_tvb, actx->pinfo, tree, actx->created_item, tvb_len, 0, 0, NULL);
213 #------ Pretify info column -----
214 #.FN_HDR MBMSSessionStartRequest
215 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Request ");
216 #.FN_HDR MBMSSessionStartResponse
217 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Response ");
218 #.FN_HDR MBMSSessionStartFailure
219 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Start Failure ");
220 #.FN_HDR MBMSSessionStopRequest
221 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Request ");
222 #.FN_HDR MBMSSessionStopResponse
223 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Stop Response ");
224 #.FN_HDR MBMSSessionUpdateRequest
225 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Request ");
226 #.FN_HDR MBMSSessionUpdateResponse
227 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Response ");
228 #.FN_HDR MBMSSessionUpdateFailure
229 col_set_str(actx->pinfo->cinfo, COL_INFO,"MBMS Session Update Failure ");
230 #.FN_HDR ErrorIndication
231 col_set_str(actx->pinfo->cinfo, COL_INFO,"Error Indication ");
233 col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset ");
234 #.FN_HDR ResetAcknowledge
235 col_set_str(actx->pinfo->cinfo, COL_INFO,"Reset Acknowledge ");
236 #.FN_HDR PrivateMessage
237 col_set_str(actx->pinfo->cinfo, COL_INFO,"Private Message ");
238 #.FN_HDR MCEConfigurationUpdate
239 col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update ");
240 #.FN_HDR MCEConfigurationUpdateAcknowledge
241 col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Acknowledge ");
242 #.FN_HDR MCEConfigurationUpdateFailure
243 col_set_str(actx->pinfo->cinfo, COL_INFO,"MCE Configuration Update Failure ");
244 #.FN_HDR M3SetupRequest
245 col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Request ");
246 #.FN_HDR M3SetupResponse
247 col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Response ");
248 #.FN_HDR M3SetupFailure
249 col_set_str(actx->pinfo->cinfo, COL_INFO,"M3 Setup Failure ");
252 #.ASSIGN_VALUE_TO_TYPE # M3AP does not have constants assigned to types, they are pure INTEGER
254 id-mBMSsessionStart ProcedureCode
255 id-mBMSsessionStop ProcedureCode
256 id-errorIndication ProcedureCode
257 id-privateMessage ProcedureCode
258 id-Reset ProcedureCode
259 id-mBMSsessionUpdate ProcedureCode
260 id-mCEConfigurationUpdate ProcedureCode
261 id-m3Setup ProcedureCode
264 id-MME-MBMS-M3AP-ID ProtocolIE-ID
265 id-MCE-MBMS-M3AP-ID ProtocolIE-ID
266 id-TMGI ProtocolIE-ID
267 id-MBMS-Session-ID ProtocolIE-ID
268 id-MBMS-E-RAB-QoS-Parameters ProtocolIE-ID
269 id-MBMS-Session-Duration ProtocolIE-ID
270 id-MBMS-Service-Area ProtocolIE-ID
271 id-TNL-Information ProtocolIE-ID
272 id-CriticalityDiagnostics ProtocolIE-ID
273 id-Cause ProtocolIE-ID
274 id-MBMS-Service-Area-List ProtocolIE-ID
275 id-MBMS-Service-Area-List-Item ProtocolIE-ID
276 id-TimeToWait ProtocolIE-ID
277 id-ResetType ProtocolIE-ID
278 id-MBMS-Service-associatedLogicalM3-ConnectionItem ProtocolIE-ID
279 id-MBMS-Service-associatedLogicalM3-ConnectionListResAck ProtocolIE-ID
280 id-MinimumTimeToMBMSDataTransfer ProtocolIE-ID
281 id-AllocationAndRetentionPriority ProtocolIE-ID
282 id-Global-MCE-ID ProtocolIE-ID
283 id-MCEname ProtocolIE-ID
284 id-MBMSServiceAreaList ProtocolIE-ID
285 id-Time-ofMBMS-DataTransfer ProtocolIE-ID
286 id-Time-ofMBMS-DataStop ProtocolIE-ID
287 id-Reestablishment ProtocolIE-ID
288 id-Alternative-TNL-Information ProtocolIE-ID
289 id-MBMS-Cell-List ProtocolIE-ID
294 MME-MBMS-M3AP-ID N m3ap.ies id-MME-MBMS-M3AP-ID
295 MCE-MBMS-M3AP-ID N m3ap.ies id-MCE-MBMS-M3AP-ID
296 TMGI N m3ap.ies id-TMGI
297 MBMS-Session-ID N m3ap.ies id-MBMS-Session-ID
298 MBMS-E-RAB-QoS-Parameters N m3ap.ies id-MBMS-E-RAB-QoS-Parameters
299 MBMS-Session-Duration N m3ap.ies id-MBMS-Session-Duration
300 MBMS-Service-Area N m3ap.ies id-MBMS-Service-Area
301 TNL-Information N m3ap.ies id-TNL-Information
302 CriticalityDiagnostics N m3ap.ies id-CriticalityDiagnostics
303 Cause N m3ap.ies id-Cause
304 #MBMS-Service-Area-List N m3ap.ies id-MBMS-Service-Area-List
305 #MBMS-Service-Area-List-Item N m3ap.ies id-MBMS-Service-Area-List-Item
306 TimeToWait N m3ap.ies id-TimeToWait
307 ResetType N m3ap.ies id-ResetType
308 MBMS-Service-associatedLogicalM3-ConnectionItem N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionItem
309 MBMS-Service-associatedLogicalM3-ConnectionListResAck N m3ap.ies id-MBMS-Service-associatedLogicalM3-ConnectionListResAck
310 MinimumTimeToMBMSDataTransfer N m3ap.ies id-MinimumTimeToMBMSDataTransfer
311 AllocationAndRetentionPriority N m3ap.ies id-AllocationAndRetentionPriority
312 Global-MCE-ID N m3ap.ies id-Global-MCE-ID
313 MCEname N m3ap.ies id-MCEname
314 MBMSServiceAreaListItem N m3ap.ies id-MBMSServiceAreaList
315 Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataTransfer
316 Absolute-Time-ofMBMS-Data N m3ap.ies id-Time-ofMBMS-DataStop
317 Reestablishment N m3ap.ies id-Reestablishment
318 TNL-Information N m3ap.ies id-Alternative-TNL-Information
319 MBMS-Cell-List N m3ap.ies id-MBMS-Cell-List
321 #M3AP-ELEMENTARY-PROCEDURE
322 MBMSSessionStartRequest N m3ap.proc.imsg id-mBMSsessionStart
323 MBMSSessionStartResponse N m3ap.proc.sout id-mBMSsessionStart
324 MBMSSessionStartFailure N m3ap.proc.uout id-mBMSsessionStart
326 MBMSSessionStopRequest N m3ap.proc.imsg id-mBMSsessionStop
327 MBMSSessionStopResponse N m3ap.proc.sout id-mBMSsessionStop
329 MBMSSessionUpdateRequest N m3ap.proc.imsg id-mBMSsessionUpdate
330 MBMSSessionUpdateResponse N m3ap.proc.sout id-mBMSsessionUpdate
331 MBMSSessionUpdateFailure N m3ap.proc.uout id-mBMSsessionUpdate
333 ErrorIndication N m3ap.proc.imsg id-errorIndication
335 Reset N m3ap.proc.imsg id-Reset
336 ResetAcknowledge N m3ap.proc.sout id-Reset
338 PrivateMessage N m3ap.proc.imsg id-privateMessage
340 MCEConfigurationUpdate N m3ap.proc.imsg id-mCEConfigurationUpdate
341 MCEConfigurationUpdateAcknowledge N m3ap.proc.sout id-mCEConfigurationUpdate
342 MCEConfigurationUpdateFailure N m3ap.proc.uout id-mCEConfigurationUpdate
344 M3SetupRequest N m3ap.proc.imsg id-m3Setup
345 M3SetupResponse N m3ap.proc.sout id-m3Setup
346 M3SetupFailure N m3ap.proc.uout id-m3Setup