From d97671da55af52130be0d3f2121bedf59aa13d1e Mon Sep 17 00:00:00 2001 From: garciay Date: Wed, 10 May 2017 12:09:36 +0000 Subject: [PATCH] STF519 Week #19: - Add PIXITs for Transport Layer --- ttcn3/LibS1AP/LibS1AP_Pixits.ttcn | 21 +++++++++++++++++++++ ttcn3/LibS1AP/LibS1AP_Templates.ttcn | 7 ++++--- ttcn3/S1AP_TCFunctions.ttcn | 24 ++++++++++++------------ 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/ttcn3/LibS1AP/LibS1AP_Pixits.ttcn b/ttcn3/LibS1AP/LibS1AP_Pixits.ttcn index b8f7b16..e108c7d 100644 --- a/ttcn3/LibS1AP/LibS1AP_Pixits.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Pixits.ttcn @@ -222,11 +222,32 @@ module LibS1AP_Pixits { */ modulepar EncryptionAlgorithms PX_UNSUPPORTED_ENCRYPTION_ALGORITHM := '1111111111111111'B; + /** @desc Indicates the procedure value. + * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics + */ modulepar ProcedureCode PX_PROCEURE_CODE := 0; + /** @desc Indicates triggering message value + * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics + */ modulepar TriggeringMessage PX_TRIGGERING_CODE := initiating_message; + /** @desc Indicates a the criticality + * @see ETSI TS 136 413 Clause 9.2.1.21 Criticality Diagnostics + */ modulepar Criticality PX_CRITICALITY := ignore; + /** @desc Indicates the transport layer address. + */ + modulepar TransportLayerAddress PX_TPORT_LAYER_ADDR := '1'B; + + /** @desc Indicates an unacceptable transport layer address. + */ + modulepar TransportLayerAddress PX_INVALID_TPORT_LAYER_ADDR := '0'B; + + /** @desc Indicates the Downlink GTP TEID. + */ + modulepar GTP_TEID PX_DL_GTP_TEID := '00000000'O; + } // End of module LibS1AP_Pixits diff --git a/ttcn3/LibS1AP/LibS1AP_Templates.ttcn b/ttcn3/LibS1AP/LibS1AP_Templates.ttcn index 9cd134a..457b553 100644 --- a/ttcn3/LibS1AP/LibS1AP_Templates.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Templates.ttcn @@ -23,6 +23,7 @@ module LibS1AP_Templates { import from S1AP_PDU_Descriptions language "ASN.1:1997" all; import from LibS1AP_TypesAndValues all; + import from LibS1AP_Pixits all; group g_S1AP { @@ -6197,10 +6198,10 @@ module LibS1AP_Templates { iE_Extensions := omit } // End of template m_E_RABFailedToResumeItemResumeReq - template (value) E_RABToBeModifiedItemBearerModInd m_E_RABToBeModifiedItemBearerModInd( //TODO default values + template (value) E_RABToBeModifiedItemBearerModInd m_E_RABToBeModifiedItemBearerModInd( in template (value) E_RAB_ID p_e_RAB_ID, - in template (value) TransportLayerAddress p_transportLayerAddress := '0'B, - in template (value) GTP_TEID p_dL_GTP_TEID := '00000000'O + in template (value) TransportLayerAddress p_transportLayerAddress := PX_TPORT_LAYER_ADDR, + in template (value) GTP_TEID p_dL_GTP_TEID := PX_DL_GTP_TEID ) := { e_RAB_ID := p_e_RAB_ID, transportLayerAddress := p_transportLayerAddress, diff --git a/ttcn3/S1AP_TCFunctions.ttcn b/ttcn3/S1AP_TCFunctions.ttcn index 63d40b4..509041a 100644 --- a/ttcn3/S1AP_TCFunctions.ttcn +++ b/ttcn3/S1AP_TCFunctions.ttcn @@ -23,6 +23,7 @@ module S1AP_TCFunctions { import from LibS1AP_Templates all; import from LibS1AP_Interface all; import from LibS1AP_Steps all; + import from LibS1AP_Pixits all; // S1AP_Ats import from S1AP_Steps all; @@ -983,7 +984,6 @@ module S1AP_TCFunctions { } )); - // TODO f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs( vc_MME_UE_ID, vc_eNB_UE_ID, @@ -1000,9 +1000,9 @@ module S1AP_TCFunctions { f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); - } // End of function f_TC_S1AP_eNB_RAB_20 - - /** + } // End of function f_TC_S1AP_eNB_RAB_20 + + /** * @desc Testcase function for TC_S1AP_eNB_RAB_21 */ function f_TC_S1AP_eNB_RAB_21 () runs on S1APComponent { @@ -4394,7 +4394,7 @@ module S1AP_TCFunctions { { m_E_RABToBeModifiedItemBearerModInd( c_E_RAB_ID_A, - '0'B, // TODO PIXIT for unacceptatable value + PX_INVALID_TPORT_LAYER_ADDR, - ) } @@ -4707,16 +4707,16 @@ module S1AP_TCFunctions { m_CSGMembershipInfo )); - f_recv_Ue_Context_Modification_Confirm(mw_UeContextModificationConfirmIEsCSG); + f_recv_Ue_Context_Modification_Confirm(mw_UeContextModificationConfirmIEsCSG); - // Postamble - f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + // Postamble + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); - f_postamble_S1AP_MME(); - f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); - log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + f_postamble_S1AP_MME(); + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); - } // End of function f_TC_S1AP_eNB_CMP_06 + } // End of function f_TC_S1AP_eNB_CMP_06 /**