Skip to content
Commits on Source (11)
  • Pau Espin Pedrol's avatar
    cosmetic: Fix trailing whitespace · 890eb69b
    Pau Espin Pedrol authored
    890eb69b
  • Pau Espin Pedrol's avatar
    NAS_Common_Templates: cdr_NR5GC_UENetworkCap(): Fix build with titan · 7adf9a92
    Pau Espin Pedrol authored
    titan 11.0.0 doesn't support concatenating templates.
    7adf9a92
  • Pau Espin Pedrol's avatar
    NAS_CommonTypeDefs.ttcn: Use specific type instead of 'record of' · eb41232b
    Pau Espin Pedrol authored
    This fixes build errors with titan 11.0.0:
    
    NAS_CommonTemplates.ttcn:1448.20-39: error: Type mismatch: a value or template of type `@NAS_CommonTypeDefs.ExtdProtocolConfigOptions.pco' was expected instead of `@NAS_CommonTypeDefs.NAS_ExtdProtocolConfigOptions_Type'
    
    NAS_AuxiliaryDefsAndFunctions.ttcn:124.42-50: error: Type mismatch: a value or template of type `@NAS_CommonTypeDefs.ProtocolConfigOptions.pco' was expected instead of `@NAS_CommonTypeDefs.NAS_ExtdProtocolConfigOptions_Type
    
    NAS_AuxiliaryDefsAndFunctions.ttcn:124.42-50: error: Type mismatch: a value or template of type `@NAS_CommonTypeDefs.NAS_ProtocolConfigOptions_Type' was expected instead of `@NAS_CommonTypeDefs.NAS_ExtdProtocolConfigOptions_Type'
    eb41232b
  • Pau Espin Pedrol's avatar
    NG_NAS_TypeDefs.ttcn: Use specific type instead of 'record of' · af8b2b18
    Pau Espin Pedrol authored
    titan 11.0.0 fails during compilation with:
    
    NG_NAS_Common.ttcn:405.21-55: error: Type mismatch: a value of type `@NG_NAS_TypeDefs.XtdRejectedS_NSSAI_List' was expected instead of `@NG_NAS_TypeDefs.PartialXtdRejectedNSSAIType0.rejectS_NSSAI'
    NG_NAS_Templates.ttcn:2212.22-32: error: Type mismatch: a value or template of type `@NG_NAS_TypeDefs.QoS_Flow.parameterList' was expected instead of `@NAS_CommonTypeDefs.QoSParametersList
    NG_NAS_Templates.ttcn:2364.24-34: error: Type mismatch: a value or template of type `@NG_NAS_TypeDefs.QoSFlowDescr.listofFlows' was expected instead of `@NG_NAS_TypeDefs.QoS_FlowList
    af8b2b18
  • Pau Espin Pedrol's avatar
    NAS_AuxiliaryDefsAndFunctions.ttcn: Fix build with titan · 2b3d98ba
    Pau Espin Pedrol authored
    titan 11.0.0 fails to compile:
       NAS_AuxiliaryDefsAndFunctions.ttcn:319.12-34: error: Reference to a value was expected instead of template variable `v_ProtocolContainerList'
       NAS_AuxiliaryDefsAndFunctions.ttcn:319.38-70: error: Reference to a value was expected instead of template parameter `p_AdditionalProtocolConfigOptions'
    2b3d98ba
  • Pau Espin Pedrol's avatar
    CommonDefs.ttcn: Fix compilation errors · 86d05d81
    Pau Espin Pedrol authored
    Fix compilation errors building with titan 9.0.0:
    CommonDefs.ttcn:1298.12-23: error: Reference to a value was expected instead of template variable `v_Substring1'
    CommonDefs.ttcn:1298.12-31: In the right operand of operation `&':
    CommonDefs.ttcn:1298.27-31: error: Reference to a value was expected instead of template parameter `p_Bit'
    CommonDefs.ttcn:1298.12-46: In the right operand of operation `&':
    CommonDefs.ttcn:1298.35-46: error: Reference to a value was expected instead of template variable `v_Substring2'
    86d05d81
  • Pau Espin Pedrol's avatar
  • Pau Espin Pedrol's avatar
  • Pau Espin Pedrol's avatar
  • Pau Espin Pedrol's avatar
    NG_NAS_TypeDefs.ttcn: Fix dec of NG_SECURITY_MODE_COMMAND · 4bb557ec
    Pau Espin Pedrol authored
    The iei field in nasSecurityAlgorithms is filled by the decoder, which should be
    decoded as "omit".
    type record NAS_KeySetIdentifier already has a variant "FORCEOMIT(iei)"
    in its definition, but according to "Programmers' Technical Reference
    Guide for the TITAN TTCN-3 Toolset", FORCEOMIT "Forces the lower-level
    optional field(s) specified by the parameters to always be
    omitted. It does not affect the own fields of the defining record/set."
    
    Applying the variant in the parent-level record fixes the decoding
    issue.
    4bb557ec
  • Bostjan Pintar's avatar
    Merge branch 'pespin/pr' into 'main' · 1d79f32e
    Bostjan Pintar authored
    Multiple fixes to build and run with eclipse titan
    
    See merge request int/5g-core/nas!6
    1d79f32e
......@@ -1285,8 +1285,8 @@ module CommonDefs {
template (present) B1_Type p_Bit) return template (present) bitstring
{ /* ES 201 873-1 clause 15.6.1 does not allow index notation */
/* p_Bitstring needs to be a bitstring with well-defined length (i.e. allowing lengthof(p_Bitstring)) */
var template (present) bitstring v_Substring1;
var template (present) bitstring v_Substring2;
var bitstring v_Substring1;
var bitstring v_Substring2;
var integer v_Length := lengthof(p_Bitstring);
if (p_Position >= v_Length) {
......@@ -1295,7 +1295,7 @@ module CommonDefs {
v_Substring1 := substr(p_Bitstring, 0, p_Position);
v_Substring2 := substr(p_Bitstring, p_Position + 1, v_Length - p_Position - 1);
return v_Substring1 & p_Bit & v_Substring2;
return v_Substring1 & valueof(p_Bit) & v_Substring2;
}
//----------------------------------------------------------------------------
......
......@@ -117,7 +117,7 @@ module NAS_AuxiliaryDefsAndFunctions {
function f_ExtdProtocolConfigOptions_Get(template (omit) ExtdProtocolConfigOptions p_Pco,
O2_Type p_ProtocolID) return template (omit) octetstring
{
var NAS_ProtocolConfigOptions_Type v_ProtocolConfigOptions;
var NAS_ExtdProtocolConfigOptions_Type v_ProtocolConfigOptions;
var integer i;
if (isvalue(p_Pco.pco)) {
......@@ -316,7 +316,7 @@ module NAS_AuxiliaryDefsAndFunctions {
v_PcoCnt := v_PcoCnt + 1;
}
}
return v_ProtocolContainerList & p_AdditionalProtocolConfigOptions;
return valueof(v_ProtocolContainerList) & valueof(p_AdditionalProtocolConfigOptions);
}
/*
......
......@@ -1034,8 +1034,8 @@ module NAS_CommonTemplates {
template (present) UE_NetworkCap cdr_NR5GC_UENetworkCap (template (omit) IEI8_Type p_IEI)
modifies cr_UENetworkCap_Any :=
{ /* @status APPROVED (ENDC, NR5GC_IRAT) */
cIoT_proSeCap := ('1'B & ? length (7)), // @sic R5-196647, R5-217714 sic@
cIoT_V2X := (? length (2) & '1'B & ? length (5))
cIoT_proSeCap := '1???????'B, // @sic R5-196647, R5-217714 sic@
cIoT_V2X := '??1?????'B
};
template (present) VoiceDomainPref cr_VoiceDomainPref_Any :=
......
......@@ -24,8 +24,8 @@ module NAS_CommonTypeDefs {
type HalfOctet_Type IEI4_Type; /* 4 bit info element identifier for type 1 IEs */
type Octet_Type IEI8_Type; /* 8 bit info element identifier */
type O1_Type Type4Length_Type;
type O2_Type Type6Length_Type;
type O1_Type Type4Length_Type with { variant "COMP(nosign), BYTEORDER(last)" };
type O2_Type Type6Length_Type with { variant "COMP(nosign), BYTEORDER(last)" };
type HalfOctet_Type SpareHalfOctet;
......@@ -458,7 +458,7 @@ module NAS_CommonTypeDefs {
bitstring spareBits2 optional
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO (spareBit, multibandSupported, a5_7, a5_6, a5_5, a5_4, associatedRadioCapabilty2, spareBits1, associatedRadioCapabilty1, maskBit1, rGSM_RadioCapability, maskBit2, multiSlotClass, uCS2Treatment, extMeasurementCapability, maskBit3, msMeasurementCapability, maskBit4, msPositioningMethod, maskBit5, eDGE_MultiSlot, maskBit6, psk8_Struct, maskBit7, gSM400BandsSupported, gSM400AssociatedRadioCapability, maskBit8, gSM850AssociatedRadiioCapability, maskBit9, pCS1900AssociatedRadiioCapability, uMTS_FDD_RAT_Capability, uMTS384TDD_RAT_Capability, cDMA2000_RAT_Capability, maskBit10, dTM_GPRS_MultiSlotSubclass, singleSlotDTM, maskBit11, dTM_EGPRS_MultiSlorSubclass, maskBit12, singleBandSupport, maskBit13, gSM700AssociatedRadioCapability, uMTS128TDD_RAT_Capability, gERANFeatPack1, mask14, extDTM_GPRS_MultiSlotSubclass, etxDTM_EGPRS_MultiSlotSubclass, mask15, highMultislotCap, spare2, gERANFeatPack2, gMSKMultislotPowerProfile, pSKMultislotPowerProfile, mask17, tGSM400BandsSupported, tGSM400AssocRadioCap, spare, dlAdvancedRxPerf, dTMEhancCap, mask19, dTMGPRSHighMultislotClass, offsetReq, mask20, dTMEGPRSHighMultislotClass, rptdACCHCap, mask21, gsm710AssocRadioCap, mask22, tgsm810AssocRadioCap, cipheringModeSettingCap, addPositionCap, eutraFDDSupport, eutraTDDSupport, eutraMeasAndReporting, priorityBasedReselection, utraCSGCellsReporting, vamosLevel, tighterCap, selectCipheringDLSACCH, csPS_SRVCC_G2U, csPS_SRVCC_G2E, geranNwkSharing, eutraWidebandRSRQMeas, erBandSupport, utraMultipleFreqBandInd, eutraMultipleFreqBandInd, xtdTSCSetCap, xtdEARFCNValueRange)";
variant (iel) "LENGTHTO (spareBit, multibandSupported, a5_7, a5_6, a5_5, a5_4, associatedRadioCapabilty2, spareBits1, associatedRadioCapabilty1, maskBit1, rGSM_RadioCapability, maskBit2, multiSlotClass, uCS2Treatment, extMeasurementCapability, maskBit3, msMeasurementCapability, maskBit4, msPositioningMethod, maskBit5, eDGE_MultiSlot, maskBit6, psk8_Struct, maskBit7, gSM400BandsSupported, gSM400AssociatedRadioCapability, maskBit8, gSM850AssociatedRadiioCapability, maskBit9, pCS1900AssociatedRadiioCapability, uMTS_FDD_RAT_Capability, uMTS384TDD_RAT_Capability, cDMA2000_RAT_Capability, maskBit10, dTM_GPRS_MultiSlotSubclass, singleSlotDTM, maskBit11, dTM_EGPRS_MultiSlorSubclass, maskBit12, singleBandSupport, maskBit13, gSM700AssociatedRadioCapability, uMTS128TDD_RAT_Capability, gERANFeatPack1, mask14, extDTM_GPRS_MultiSlotSubclass, etxDTM_EGPRS_MultiSlotSubclass, mask15, highMultislotCap, spare2, gERANFeatPack2, gMSKMultislotPowerProfile, pSKMultislotPowerProfile, mask17, tGSM400BandsSupported, tGSM400AssocRadioCap, spare, dlAdvancedRxPerf, dTMEhancCap, mask19, dTMGPRSHighMultislotClass, offsetReq, mask20, dTMEGPRSHighMultislotClass, rptdACCHCap, mask21, gsm710AssocRadioCap, mask22, tgsm810AssocRadioCap, cipheringModeSettingCap, addPositionCap, eutraFDDSupport, eutraTDDSupport, eutraMeasAndReporting, priorityBasedReselection, utraCSGCellsReporting, vamosLevel, tighterCap, selectCipheringDLSACCH, csPS_SRVCC_G2U, csPS_SRVCC_G2E, geranNwkSharing, eutraWidebandRSRQMeas, erBandSupport, utraMultipleFreqBandInd, eutraMultipleFreqBandInd, xtdTSCSetCap, xtdEARFCNValueRange, spareBits2)";
variant (iel) "BYTEORDER(last)";
variant (spareBits2) "BYTEORDER(last)";
};
......@@ -637,8 +637,7 @@ type record Non3GPP_NW_ProvidedPolicies {
B1_Type ext,
B4_Type spare,
B3_Type configProtocol,
record length (0..83) of
ProtocolContainer pco optional
NAS_ProtocolConfigOptions_Type pco optional
} with {
variant "FIELDORDER(msb)";
// FIXME variant (pco) "FORCEOMIT(protocolLongLength)";
......@@ -658,7 +657,7 @@ type record Non3GPP_NW_ProvidedPolicies {
variant (content) "BYTEORDER(last)";
};
type ProtocolConfigOptions.pco NAS_ProtocolConfigOptions_Type;
type record length (0..83) of ProtocolContainer NAS_ProtocolConfigOptions_Type;
type record APNRateControlParams { // 3GPP 24.008 / 10.5.6.3.2
B4_Type spare,
......@@ -1202,10 +1201,10 @@ type record NBIFOMContainer {
B1_Type ext,
B4_Type spare,
B3_Type configProtocol,
record of ProtocolContainer pco optional
NAS_ExtdProtocolConfigOptions_Type pco optional
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO (ext, spare, configProtocol, configProtocol)";
variant (iel) "LENGTHTO (ext, spare, configProtocol, pco)";
variant (iel) "BYTEORDER(last)";
};
......@@ -1387,7 +1386,7 @@ type record NBIFOMContainer {
B8_Type guaranteedBitRateDL_Ext2 optional // @sic R5s1300195 Baseline Moving, R5s180640 sic@
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO (maxBitRateUl, maxBitRateDl, guaranteedBitRateUl, guaranteedBitRateDl, maxBitRateUlExt, maxBitRateDlExt, guaranteedBitRateUlExt, guaranteedBitRateDlExt, maxBitRateUL_Ext2, maxBitRateDL_Ext2, guaranteedBitRateUL_Ext2, guaranteedBitRateDL_Ext2)";
variant (iel) "LENGTHTO (qci, maxBitRateUl, maxBitRateDl, guaranteedBitRateUl, guaranteedBitRateDl, maxBitRateUlExt, maxBitRateDlExt, guaranteedBitRateUlExt, guaranteedBitRateDlExt, maxBitRateUL_Ext2, maxBitRateDL_Ext2, guaranteedBitRateUL_Ext2, guaranteedBitRateDL_Ext2)";
variant (iel) "BYTEORDER(last)";
};
......@@ -1400,7 +1399,7 @@ type record NBIFOMContainer {
B8_Type ebi8_15 /* EBI(8)- EBI(15)*/
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO (ebi5_7, ebi4_1, spare, ebi5_7)";
variant (iel) "LENGTHTO (ebi5_7, ebi4_1, spare, ebi8_15)";
variant (iel) "BYTEORDER(last)";
};
......
......@@ -742,6 +742,7 @@ module NG_NAS_TypeDefs {
S1_UE_SecurityCapability replayedUESecurityCap optional /* cl. 9.11.3.48A O TLV 4-7 IEI=19 Dec18 @sic R5s190421 sic@*/
} with {
variant "FIELDORDER(msb)";
variant (nasSecurityAlgorithms) "FORCEOMIT(iei)";
variant (ngNasKSI) "FORCEOMIT(iei)";
variant (ueSecurityCapability) "FORCEOMIT(iei)";
variant "TAG(imeisvRequest, iei = 'E'H;
......@@ -2218,7 +2219,7 @@ module NG_NAS_TypeDefs {
B1_Type spare,
B3_Type typeOfList ('000'B),
B4_Type numOfElements,
record of XtdRejectedS_NSSAI rejectS_NSSAI // @sic RAN5#97 sidebar sic@
XtdRejectedS_NSSAI_List rejectS_NSSAI // @sic RAN5#97 sidebar sic@
} with {
variant "FIELDORDER(msb)";
};
......@@ -2249,6 +2250,7 @@ module NG_NAS_TypeDefs {
PartialXtdRejectedNSSAI_List partialXtd // @sic RAN5#97 sidebar sic@
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO(partialXtd)";
};
type record NG_PagingRestriction { /* 24.501 cl. 9.11.3.77 */
......@@ -2508,7 +2510,7 @@ module NG_NAS_TypeDefs {
B6_Type spare6,
B1_Type eBit,
B6_Type numOfParameters,
record of QoSParameters parameterList optional
QoSParametersList parameterList optional
} with {
variant "FIELDORDER(msb)";
};
......@@ -2517,7 +2519,7 @@ module NG_NAS_TypeDefs {
type record QoSFlowDescr { /* 24.501 cl. 9.11.4.12 */
IEI8_Type iei, // @sic R5s190470 sic@
Type6Length_Type iel,
record of QoS_Flow listofFlows
QoS_FlowList listofFlows
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO (listofFlows)";
......@@ -2893,6 +2895,7 @@ module NG_NAS_TypeDefs {
PacketCounterValueList counterValue
} with {
variant "FIELDORDER(msb)";
variant (iel) "LENGTHTO(counterValue)";
};
type record UE_TEST_LOOP_NR_SIDELINK_COUNTER_RESPONSE {
......