Hello,
I have an issue with generated code from ETSI sources, namely test cases 10.7.1, 10.7.2, 10.7.3, 10.7.4. The problem is that I have different generated code from the same template source in step 3 of the above body functions.
For example, in file 36523-3_TTCN3_LTE/LTE/10/ESM_Testcases.ttcn in functions fl_TC_10_7_1_Body and fl_TC_10_7_2_Body, the step 3 contains the same reference to the template
cr_508_BearerResourceAllocReq(?, tsc_EpsDefaultBearerId)
which is generated for 10.7.1 as
NAS__CommonTypeDefs::Extd__EPS__QOS_template tmp_440;
tmp_440 = NAS__CommonTemplates::cr__Extd__EPS__QOS__Any;
tmp_440.set_ifpresent();
...
EPS__NAS__Templates::cr__508__BearerResourceAllocReq(OCTETSTRING_template(ANY_VALUE), EPS__NAS__Constants::tsc__EpsDefaultBearerId, EPS__NAS__Templates::cr__EPS__QoS__Any__lv, tmp_440)
and is different from generated code for 10.7.2:
NAS__CommonTypeDefs::Extd__EPS__QOS_template tmp_471;
...
EPS__NAS__Templates::cr__508__BearerResourceAllocReq(OCTETSTRING_template(ANY_VALUE), EPS__NAS__Constants::tsc__EpsDefaultBearerId, EPS__NAS__Templates::cr__EPS__QoS__Any__lv, tmp_471)
As you can see tmp_471 is not set 'ifpresent' attribute which leads to an execution error.
The template definition is inside 36523-3_TTCN3_LTE/Common/EPS_NAS/EPS_NAS_Templates.ttcn:
and is the following:
template (present) NAS_UL_Message_Type cr_508_BearerResourceAllocReq(template (present) ProcedureTransactionIdentifier p_ProcTi,
EPS_BearerIdentity p_LinkedEpsBearerId,
template (present) EPS_QualityOfService p_QoS := cr_EPS_QoS_Any_lv,
template Extd_EPS_QOS p_ExdQoS := cr_Extd_EPS_QOS_Any ifpresent) :=
{ /* @status APPROVED (ENDC, LTE) */
bEARER_RESOURCE_ALLOCATION_REQUEST := {
epsBearerId := '0'H,
protocolDiscriminator := tsc_PD_ESM,
procedureTransactionIdentifier := p_ProcTi,
messageType := tsc_MT_BearerResourceAllocationRequest,
spareHalfOctet := tsc_SpareHalfOctet,
linkedEpsBearerId := cr_LinkedId(hex2bit(p_LinkedEpsBearerId)), // of the associated dedicated bearer
trafficFlowAgg := cr_Tft(-, '001'B), // Create new TFT
requiredTrafficFlowQoS := p_QoS, // @sic R5-183265 sic@
protocolConfigurationOptions := cr_ProtocolConfigOptionsAny ifpresent,
deviceProperties := cr_DeviceProperties('C'H) ifpresent, /* cl. 9.9.2.0A O TV 1 IEI=0xC- @sic R5s120178 Baseline Moving sic@*/
nbifomContainer := cr_NBIFOMContainerAny ifpresent, // @sic R5s160711 Baseline Moving sic@
extdProtocolConfigurationOptions := cr_ExtdPCOAny ifpresent, // @sic R5s160711 Baseline Moving sic@
extd_EPS_QOS := p_ExdQoS // @sic R5s180271 Baseline Moving 2018 Phase 1 sic@
}
};
Appreciate your feedback.
Thanks!