laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41081?usp=email )
Change subject: library/NAS_EPS_Templates.ttcn: Add templates to handle CS Fallback related procedures ...................................................................... library/NAS_EPS_Templates.ttcn: Add templates to handle CS Fallback related procedures These will be used to test MT CS call over SGsAP in MME_Tests_SGsAP. Change-Id: If8884224e353a9883200c84d737e63c3a3ca9b33 --- M library/NAS_EPS_Templates.ttcn 1 file changed, 100 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/NAS_EPS_Templates.ttcn b/library/NAS_EPS_Templates.ttcn index 9b1242c..90c507a 100644 --- a/library/NAS_EPS_Templates.ttcn +++ b/library/NAS_EPS_Templates.ttcn @@ -71,6 +71,30 @@ elementIdentifier := '1000'B } +/* 9.9.3.5 CSFB response */ +template (value) CSFB_ResponseTV +ts_NAS_CSFB_ResponseTV(template (value) BIT3 cSFB_ResponseValue) := { + cSFB_ResponseValue := cSFB_ResponseValue, + spare := '0'B, + elementIdentifier := '1011'B +} +function f_ts_CSFB_ResponseTV(template (omit) BIT3 cSFB_ResponseValue) +return template (omit) CSFB_ResponseTV { + if (istemplatekind(cSFB_ResponseValue, "omit")) { + return omit; + } + return ts_NAS_CSFB_ResponseTV(cSFB_ResponseValue); +} + +/* 9.9.2.3 Mobile identity */ +template (value) MobileIdentityV +ts_NAS_MobileIdentityV_TMSI(OCT4 tmsi) := { + typeOfIdentity := '100'B, + oddEvenInd_identity := { + tmsi_ptmsi_mtmsi := f_enc_TMSI_PTMSI_MTMSI(oct2hex(tmsi)) + } +} + private template (value) MobileIdentityLV ts_NAS_MobileIdLV(template (value) MobileIdentityV mid) := { lengthIndicator := 0, @@ -121,6 +145,19 @@ return l3; } +private function f_enc_TMSI_PTMSI_MTMSI(hexstring digits) return TMSI_PTMSI_MTMSI { + var TMSI_PTMSI_MTMSI l3; + var integer len := lengthof(digits); + if (len rem 2 == 1) { /* modulo remainder */ + l3.oddevenIndicator := '1'B; + } else { + l3.oddevenIndicator := '0'B; + } + l3.digits := digits; + l3.fillerDigit := '1111'B; + return l3; +} + template (value) GUTI ts_NAS_GUTI(hexstring mcc_mnc, OCT2 mmegi, OCT1 mmec, OCT4 tmsi) := { oddevenIndicator := '0'B, spare := '1111'B, @@ -204,6 +241,20 @@ return ts_NonceTV(nonce); } +/* 9.9.3.25A Paging identity */ +template (present) PagingIdentityV +tr_PagingIdentityV(template (present) BIT1 pagingIdentityValue := ?) := { + pagingIdentityValue := pagingIdentityValue, + spare := '0000000'B +} +template (value) PagingIdentityV +ts_PagingIdentityV(template (value) BIT1 pagingIdentityValue) := { + pagingIdentityValue := pagingIdentityValue, + spare := '0000000'B +} +template (value) PagingIdentityV +ts_PagingIdentityV_TMSI := tr_PagingIdentityV('1'B); + /* 9.9.3.26 P-TMSI signature */ template (value) P_TMSISignatureTV ts_PTMSI_SignatureTV(template (value) OCT3 ptmsi_sig) := { @@ -384,6 +435,55 @@ } } +/* 8.2.9 CS service notirication */ +template (present) PDU_NAS_EPS +tr_NAS_CS_ServiceNotification(template (present) PagingIdentityV pagingIdentity := ?, + template CLITLV cLI := *, + template SS_CodeTV sS_Code := *, + template LCS_IndicatorTV lCS_Indicator := *, + template LCS_ClientIdentityTLV lCS_ClientIdentity := *) := { + protocolDiscriminator := c_EPS_NAS_PD_EMM, + ePS_messages := { + ePS_MobilityManagement := { + pDU_NAS_EPS_CS_ServiceNotification := { + securityHeaderType := c_EPS_SEC_NONE, + messageType := '01100100'B, + pagingIdentity := pagingIdentity, + cLI := cLI, + sS_Code := sS_Code, + lCS_Indicator := lCS_Indicator, + lCS_ClientIdentity := lCS_ClientIdentity + } + } + } +} + +/* 8.2.15 Extended service request */ +template (value) PDU_NAS_EPS +ts_NAS_CS_ExtendedServiceRequest(template (value) BIT4 serviceType, + template (value) NAS_KeySetIdentifierV nAS_KeySetIdentifier, + template (value) MobileIdentityV m_TMSI, + template (omit) BIT3 cSFB_ResponseValue := omit, + template (omit) EPS_BearerContextStatusTLV ePS_BearerContextStatus := omit, + template (omit) DevicePropertiesTV deviceProperties := omit) := { + protocolDiscriminator := c_EPS_NAS_PD_EMM, + ePS_messages := { + ePS_MobilityManagement := { + pDU_NAS_EPS_ExtendedServiceRequest := { + securityHeaderType := c_EPS_SEC_NONE, + messageType := '01001100'B, + serviceType := serviceType, + nAS_KeySetIdentifier := nAS_KeySetIdentifier, + m_TMSI := ts_NAS_MobileIdLV(m_TMSI), + cSFB_Response := f_ts_CSFB_ResponseTV(cSFB_ResponseValue), + ePS_BearerContextStatus := ePS_BearerContextStatus, + deviceProperties := deviceProperties + } + } + } +} + + /* 9.9.3.14 EPS update type */ const BIT3 c_EPS_UPD_TYPE_TA_UPD := '000'B; const BIT3 c_EPS_UPD_TYPE_COMB_TA_LA_UPD := '001'B; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41081?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8884224e353a9883200c84d737e63c3a3ca9b33 Gerrit-Change-Number: 41081 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de> Gerrit-Reviewer: laforge <lafo...@osmocom.org>