-
Bi-Ruei, Chiu authored
For RANAP specification : RANAP-ELEMENTARY-PROCEDURE ::= CLASS { &InitiatingMessage, &SuccessfulOutcome OPTIONAL, &UnsuccessfulOutcome OPTIONAL, &Outcome OPTIONAL, &procedureCode ProcedureCode UNIQUE, &criticality Criticality DEFAULT ignore } WITH SYNTAX { INITIATING MESSAGE &InitiatingMessage [SUCCESSFUL OUTCOME &SuccessfulOutcome] [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] [OUTCOME &Outcome] PROCEDURE CODE &procedureCode [CRITICALITY &criticality] } Not all instances of elementary procedure have all their optional members defined. For examples : iu-Release RANAP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE Iu-ReleaseCommand SUCCESSFUL OUTCOME Iu-ReleaseComplete PROCEDURE CODE id-Iu-Release CRITICALITY reject } rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= { INITIATING MESSAGE RAB-AssignmentRequest OUTCOME RAB-AssignmentResponse PROCEDURE CODE id-RAB-Assignment CRITICALITY reject } So there are empty cells generated in Outcome.c ... etc. static const asn_ioc_cell_t asn_IOS_RANAP_ELEMENTARY_PROCEDURES_1_rows[] = { { "&InitiatingMessage", aioc__type, &asn_DEF_Iu_ReleaseCommand }, { "&SuccessfulOutcome", aioc__type, &asn_DEF_Iu_ReleaseComplete }, { "&UnsuccessfulOutcome", }, { "&Outcome", }, { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_Iu_Release }, { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject }, { "&InitiatingMessage", aioc__type, &asn_DEF_RAB_AssignmentRequest }, { "&SuccessfulOutcome", }, { "&UnsuccessfulOutcome", }, { "&Outcome", aioc__type, &asn_DEF_RAB_AssignmentResponse }, { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_49_id_RAB_Assignment }, { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_49_reject } } However, in type_selector() functions, these undefined cell are still be counted into presence_index value. This results in wrong behavior for decoder. This commit is to fix this problem.
6b76c7c7