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>

Reply via email to