E2AP: Add some missing IEs

This commit is contained in:
Martin Mathieson 2022-11-02 16:56:12 +00:00
parent 9339b357ea
commit c6a0b9b64a
3 changed files with 990 additions and 89 deletions

View File

@ -31,6 +31,11 @@ E2SM-RC-IndicationMessage
E2SM-RC-IndicationHeader
E2SM-RC-CallProcessID
E2SM-RC-ControlHeader
E2SM-RC-ControlMessage
E2SM-RC-ControlOutcome
#.MAKE_ENUM
ProcedureCode
@ -46,15 +51,6 @@ ProtocolIE-ContainerList
ProtocolIE-ContainerPair
ProtocolIE-ContainerPairList
Presence
E2SM-RC-ControlOutcome
E2SM-RC-ControlOutcome-Format3
E2SM-RC-ControlOutcome-Format2
E2SM-RC-ControlOutcome-Format1
E2SM-RC-ControlOutcome-Format3-Item
E2SM-RC-ControlOutcome-Format2-Style-Item
E2SM-RC-ControlOutcome-Format1-Item
E2SM-RC-ControlMessage
E2SM-RC-ControlHeader
FreqBandNrItem
S-NSSAI
IndexToRFSP
@ -65,18 +61,6 @@ SubscriberProfileIDforRFP
QoSID
GroupID
CoreCPID
E2RemovalFailure
E2RemovalResponse
E2RemovalRequest
E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item
E2SM-RC-ControlMessage-Format2
E2SM-RC-ControlHeader-Format2
E2SM-RC-ControlHeader-Format1
E2SM-RC-ControlOutcome-Format2-RANP-Item
E2SM-RC-ControlMessage-Format2-Style-Item
E2SM-RC-ControlMessage-Format2-ControlAction-Item
E2SM-RC-ControlMessage-Format1
E2SM-RC-ControlMessage-Format1-Item
#.END
@ -275,6 +259,32 @@ SuccessfulOutcome/value successfulOutcome_value
"ShortName does not match any known Service Model");
}
#.FN_BODY RICcontrolHeader VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
if (functions && functions->ric_control_header_dissector) {
functions->ric_control_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY RICcontrolMessage VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
if (functions && functions->ric_control_message_dissector) {
functions->ric_control_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY RICcontrolOutcome VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
if (functions && functions->ric_control_outcome_dissector) {
functions->ric_control_outcome_dissector(parameter_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY RICeventTriggerDefinition VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
@ -333,6 +343,8 @@ id-RICsubscriptionDelete ProcedureCode
id-E2nodeConfigurationUpdate ProcedureCode
id-E2connectionUpdate ProcedureCode
id-RICsubscriptionDeleteRequired ProcedureCode
id-E2removal ProcedureCode
@ -437,6 +449,9 @@ RICindicationSN N e2ap.ies id-RICindicationSN
RICindicationType N e2ap.ies id-RICindicationType
RICrequestID N e2ap.ies id-RICrequestID
RICsubscriptionDetails N e2ap.ies id-RICsubscriptionDetails
RICcontrolHeader N e2ap.ies id-RICcontrolHeader
RICcontrolMessage N e2ap.ies id-RICcontrolMessage
TimeToWait N e2ap.ies id-TimeToWait
#RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
@ -514,6 +529,10 @@ RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDele
RICsubscriptionDeleteRequired N e2ap.proc.sout id-RICsubscriptionDeleteRequired
E2RemovalFailure N e2ap.proc.uout id-E2removal
E2RemovalRequest N e2ap.proc.imsg id-E2removal
E2RemovalResponse N e2ap.proc.sout id-E2removal
#.FN_BODY RANfunctionID VAL_PTR=&value

View File

@ -74,6 +74,11 @@ static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info
static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_E2SM_RC_ControlHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_E2SM_RC_ControlMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static int dissect_E2SM_RC_ControlOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
enum {
INITIATING_MESSAGE,
@ -118,6 +123,11 @@ typedef int (*pdu_dissector_t)(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
/* Function pointers for a RANFunction */
typedef struct {
pdu_dissector_t ran_function_definition_dissector;
pdu_dissector_t ric_control_header_dissector;
pdu_dissector_t ric_control_message_dissector;
pdu_dissector_t ric_control_outcome_dissector;
pdu_dissector_t ran_action_definition_dissector;
pdu_dissector_t ran_indication_message_dissector;
pdu_dissector_t ran_indication_header_dissector;
@ -141,6 +151,11 @@ typedef struct {
static const ran_function_name_mapping_t g_ran_functioname_table[MAX_RANFUNCTIONS] =
{
{ "ORAN-E2SM-KPM", { dissect_E2SM_KPM_RANfunction_Description_PDU,
NULL,
NULL,
NULL,
dissect_E2SM_KPM_ActionDefinition_PDU,
dissect_E2SM_KPM_IndicationMessage_PDU,
dissect_E2SM_KPM_IndicationHeader_PDU,
@ -149,6 +164,11 @@ static const ran_function_name_mapping_t g_ran_functioname_table[MAX_RANFUNCTION
}
},
{ "ORAN-E2SM-RC", { dissect_E2SM_RC_RANFunctionDefinition_PDU,
dissect_E2SM_RC_ControlHeader_PDU,
dissect_E2SM_RC_ControlMessage_PDU,
dissect_E2SM_RC_ControlOutcome_PDU,
dissect_E2SM_RC_ActionDefinition_PDU,
dissect_E2SM_RC_IndicationMessage_PDU,
dissect_E2SM_RC_IndicationHeader_PDU,

File diff suppressed because it is too large Load Diff