laforge submitted this change.
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(-)
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 change 41081. To unsubscribe, or for help writing mail filters, visit settings.