This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/6528 L3_Templates: Add various GMM related templates ... needed for upcoming SGSN testing Change-Id: I2026c5db3d709566dc3764515d3711b361d82a06 --- M library/L3_Templates.ttcn 1 file changed, 317 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/6528/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index b506865..a3db409 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -10,12 +10,13 @@ */ import from General_Types all; +import from Osmocom_Types all; import from MobileL3_Types all; import from MobileL3_CommonIE_Types all; import from MobileL3_MM_Types all; import from MobileL3_RRM_Types all; import from MobileL3_CC_Types all; -//import from MobileL3_GMM_SM_Types all; +import from MobileL3_GMM_SM_Types all; //import from MobileL3_SMS_Types all; @@ -61,6 +62,13 @@ } } } +} + +/* send template fro Mobile Identity (TMSI) */ +template MobileIdentityTLV ts_MI_TMSI_TLV(OCT4 tmsi) := { + elementIdentifier := '0000000'B, /* overwritten */ + spare1 := '0'B, + mobileIdentityLV := ts_MI_TMSI_LV(tmsi) } private function f_enc_IMSI_L3(hexstring digits) return IMSI_L3 { @@ -1155,6 +1163,314 @@ } } +/*********************************************************************** + * GPRS Mobility Management + ***********************************************************************/ + +template (value) MSNetworkCapabilityV ts_GMM_MsNetCapV := { + gea1bit := '1'B, + smCapabilitiesviaDedicatedChannels := '1'B, + smCapabilitiesviaGPRSChannels := '0'B, + ucs2Support := '1'B, + ssScreeningIndicator := '01'B, + solSACapability := omit, + revisionLevelIndicatior := omit, + pFCFeatureMode := omit, + extendedGEAbits := omit, + lcsVAcapability := omit, + pSInterRATHOtoUTRANIuModeCapability := omit, + pSInterRATHOtoEUTRANS1ModeCapability := omit, + eMMCombinedProceduresCapability := omit, + iSRSupport := omit, + sRVCCtoGERANUTRANCapability := omit, + ePCCapability := omit, + nFCapability := omit, + gERANNertworkSharingCapability := omit, + spare_octets := omit +}; + +template (value) MSNetworkCapabilityLV ts_GMM_MsNetCapLV := { + lengthIndicator := 0, /* overwritten */ + msNetworkCapabilityV := ts_GMM_MsNetCapV +}; + +type enumerated GprsAttachType { + GPRS_ATT_T_GPRS, + GPRS_ATT_T_GPRS_IMSI_COMBINED +}; + +function ts_GMM_AttachType(boolean combined := false, boolean follow_on_pending := false) +return AttachTypeV { + var AttachTypeV att; + if (combined) { + att.attachType := '011'B; + } else { + att.attachType := '001'B; + } + att.for_l3 := bool2bit(combined); + return att; +} + +type enumerated GprsUpdateType { + GPRS_UPD_T_RA ('000'B), + GPRS_UPD_T_RA_LA_COMBINED ('001'B), + GPRS_UPD_T_RA_LA_COMBINED_IMSI_ATT ('010'B), + GPRS_UPD_T_PERIODIC ('011'B) +}; + +/* 10.5.5.18 Update Type */ +template UpdateTypeV ts_GMM_UpdateType(GprsUpdateType upd_t, boolean combined := false, + boolean follow_on_pending := false) := { + valueField := int2bit(enum2int(upd_t), 3), + for_l3 := bool2bit(combined) +} + +template (value) DRXParameterV ts_DrxParameterV := { + splitPGCycleCode := '00'O, /* no DRX */ + nonDRXTimer := '000'B, /* no non-DRX mode */ + splitOnCCCH := '0'B, /* not supported */ + cnSpecificDRXCycleLength := '0000'B /* SI value used */ +}; + +template (value) AccessCapabilitiesStruct ts_AccesssCap := { + lengthIndicator := 0, /* overwritten */ + accessCapabilities := { + rfPowerCapability := '001'B, /* FIXME */ + presenceBitA5 := '0'B, + a5bits := omit, + esind := '1'B, + psbit := '0'B, + vgcs := '0'B, + vbs := '0'B, + presenceBitMultislot := '0'B, + multislotcap := omit, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit +} + +template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att) := { + mSRACapabilityValues := { + mSRACapabilityValuesExclude1111 := { + accessTechnType := '0001'B, /* E-GSM */ + accessCapabilities := ts_AccesssCap + } + }, + presenceBitMSRACap := '0'B +}; + +template (value) MSRadioAccessCapabilityLV ts_MS_RaCapa := { + lengthIndicator := 0, /* overwritten */ + msRadioAccessCapabilityV := { + ts_RaCapRec('0001'B) /* E-GSM */ + } +} + +template (value) PDU_L3_MS_SGSN + ts_GMM_ATTACH_REQ(MobileIdentityLV mi_lv, RoutingAreaIdentificationV old_ra, + boolean combined := false, boolean follow_on_pending := false, + template (omit) MobileStationClassmark2_TLV cm2_tlv, + template (omit) MobileStationClassmark3_TLV cm3_tlv + ) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + attachRequest := { + messageType := '00000000'B, /* overwritten */ + msNetworkCapability := ts_GMM_MsNetCapLV, + attachType := valueof(ts_GMM_AttachType(combined, follow_on_pending)), + gprsCKSN := { '111'B, '0'B }, + drxParam := ts_DrxParameterV, + mobileIdentity := mi_lv, + oldRoutingAreaID := old_ra, + msRACap := ts_MS_RaCapa, + ptmsiSignature := omit, /* TODO */ + reqGPRStimer := omit, + tmsiStatus := omit, + pC_LCSCapability := omit, + mobileStationClassmark2 := cm2_tlv, + mobileStationClassmark3 := cm3_tlv, + supportedCodecs := omit, + uENetworkCapability := omit, + additionalMobileIdentity := omit, + routingAreaIdentification2 := omit, + voiceDomainandUEsUsageSetting := omit, + deviceProperties := omit, + p_TMSI_Type := omit, + mS_NetworkFeatureSupport := omit, + oldLocationAreaIdentification := omit, + additionalUpdateType := omit, + tMSIBasedNRIcontainer := omit, + t3324 := omit, + t3312_ExtendedValue := omit, + extendedDRXParameters := omit + } + } + } +} + + +template (value) PDU_L3_MS_SGSN ts_GMM_ATTACH_COMPL := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + attachComplete := { + messageType := '00000000'B, /* overwritten */ + interRATHandoverInformation := omit, + eUTRANinterRATHandoverInformation := omit + } + } + } +} + +template (value) PDU_L3_MS_SGSN + ts_GMM_RAU_REQ(MobileIdentityLV mi_lv, GprsUpdateType upd_type, + RoutingAreaIdentificationV old_ra, + boolean follow_on_pending := false, + template (omit) MobileStationClassmark2_TLV cm2_tlv, + template (omit) MobileStationClassmark3_TLV cm3_tlv + ) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + routingAreaUpdateRequest := { + messageType := '00000000'B, /* overwritten */ + updateType := ts_GMM_UpdateType(upd_type, follow_on_pending), + gprsCKSN := { '111'B, '0'B }, + oldRoutingAreaId := old_ra, + msRACap := ts_MS_RaCapa, + oldPTMSISignature := omit, /* TODO */ + readyTimerValue := omit, + drxParameter := omit, + tmsiStatus := omit, + ptmsi := omit, + mSNetworkCapability := omit, + pdpContextStatus := omit, /* TODO */ + pC_LCSCapability := omit, + uENetworkCapability := omit, + additionalMobileIdentity := omit, + oldRoutingAreaIdentification2 := omit, + mobileStationClassmark2 := cm2_tlv, + mobileStationClassmark3 := cm3_tlv, + supportedCodecs := omit, + voiceDomainUEUsageSetting := omit, + p_TMSI_Type := omit, + deviceProperties := omit, + mS_NetworkFeatureSupport := omit, + oldLocationAreaIdentification := omit, + additionalUpdateType := omit, + tMSIBasedNRIcontainer := omit, + t3324 := omit, + t3312_ExtendedValue := omit, + extendedDRXParameters := omit + } + } + } +} + +template (value) PDU_L3_MS_SGSN ts_GMM_RAU_COMPL := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + routingAreaUpdateComplete := { + messageType := '00000000'B, /* overwritten */ + receiveNPDUNumbers := omit, + interRATHandoverInformation := omit, + eUTRANinterRATHandoverInformation := omit + } + } + } +} + +template (value) PDU_L3_MS_SGSN ts_GMM_PTMSI_REALL_COMPL := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + p_TMSIReallocationComplete := { + messageType := '00000000'B /* overwritten */ + } + } + } +} + +template (value) PDU_L3_MS_SGSN ts_GMM_AUTH_CIPH_COMPL(ACReferenceNumberV ref, OCT4 res) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + authenticationAndCipheringResponse := { + messageType := '00000000'B, /* overwritten */ + acReferenceNumber := ref, + spare := '0000'B, + authenticationParResp := { + elementIdentifier := '22'O, + valueField := res + }, + imeisv := omit, + authenticationRespParExt := omit + } + } + } +} + +template (value) PDU_L3_MS_SGSN ts_GMM_ID_RESP(MobileIdentityLV mi_lv) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + identityResponse := { + messageType := '00000000'B, /* overwritten */ + mobileIdentity := mi_lv + } + } + } +} + +const BIT3 c_GMM_DTT_MO_GPRS := '001'B; +const BIT3 c_GMM_DTT_MO_IMSI := '010'B; +const BIT3 c_GMM_DTT_MO_GPRS_IMSI_COMBINED := '011'B; + +template (value) DetachTypeV ts_GMM_DetType(BIT3 dtt) := { + detachType := dtt, + powerOffFlag := '0'B +} + +template (value) PDU_L3_MS_SGSN ts_GMM_DET_REQ_MO(BIT3 dtt := c_GMM_DTT_MO_GPRS) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + gprs_mm := { + detachRequest_MS_SGSN := { + messageType := '00000000'B, /* overwritten */ + detachType := valueof(ts_GMM_DetType(dtt)), + spare := '0000'B, + ptmsi := omit, /* TODO */ + ptmsiSignature := omit /* TODO */ + } + } + } +} } -- To view, visit https://gerrit.osmocom.org/6528 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2026c5db3d709566dc3764515d3711b361d82a06 Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>