From 4f502b6d30694f802b67eb307fe2e54737fc8b1f Mon Sep 17 00:00:00 2001 From: rennoch Date: Wed, 10 May 2017 09:32:14 +0000 Subject: [PATCH] initial part of f_TC_S1AP_MME_RAB_04 --- ttcn3/LibS1AP/LibS1AP_Steps.ttcn | 10 +++++++ ttcn3/LibS1AP/LibS1AP_Templates.ttcn | 31 +++++++++++++++++++- ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn | 7 ++++- ttcn3/S1AP_TCFunctions.ttcn | 35 ++++++++++++++++++++++- 4 files changed, 80 insertions(+), 3 deletions(-) diff --git a/ttcn3/LibS1AP/LibS1AP_Steps.ttcn b/ttcn3/LibS1AP/LibS1AP_Steps.ttcn index 5834f0f..4e0edc1 100644 --- a/ttcn3/LibS1AP/LibS1AP_Steps.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Steps.ttcn @@ -173,6 +173,16 @@ module LibS1AP_Steps { ) runs on S1APComponent { f_recv_S1AP_successfulOutcome(mw_E_RABReleaseCommand(p_value)) } // End of f_recv_E_RABReleaseCommand + + /** + * @desc Receive S1AP Message E_RABModificationConfirm + * @param p_value Receive template for E_RABModificationConfirm IEs + */ + function f_recv_E_RABModificationConfirm( + template (present) RecordOf_ProtocolIE p_value := ? + ) runs on S1APComponent { + f_recv_S1AP_successfulOutcome(mw_E_RABModificationConfirm(p_value)) + } // End of f_recv_E_RABModificationConfirm /** * @desc Receive S1AP Message Handover Required diff --git a/ttcn3/LibS1AP/LibS1AP_Templates.ttcn b/ttcn3/LibS1AP/LibS1AP_Templates.ttcn index 30f9c0c..3047648 100644 --- a/ttcn3/LibS1AP/LibS1AP_Templates.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Templates.ttcn @@ -1452,7 +1452,7 @@ module LibS1AP_Templates { } // End of template mw_UserLocationInformation /** - * @desc Receive template for InitiatingMessage message with Realease Command payload + * @desc Receive template for InitiatingMessage message with Release Command payload * @param p_value The list of Protocol IE values */ template (present) InitiatingMessage mw_E_RABReleaseCommand( @@ -1472,6 +1472,27 @@ module LibS1AP_Templates { mw_E_RABReleaseList(p_RecordOf_E_RABReleaseListItem_value) } // End of template mw_E_RABReleaseCmdIEs + /** + * @desc Receive template for InitiatingMessage message with Modification confirm payload + * @param p_value The list of Protocol IE values + */ + template (present) InitiatingMessage mw_E_RABModificationConfirm( + template (present) RecordOf_ProtocolIE p_value) := { + procedureCode := id_E_RABRelease, + criticality := reject, + value_ := {RecordOf_ProtocolIE := p_value} + } // End of template mw_E_RABModificationConfirm + + template (present) RecordOf_ProtocolIE mw_E_RABModificationConfirmIEs( + template (present) MME_UE_S1AP_ID p_MME_value := ?, + template (present) ENB_UE_S1AP_ID p_eNB_value := ?, + template (present) RecordOf_E_RABItem p_RecordOf_E_RABModifyListItem_value := {?} + ) := { + mw_MME_UE_S1AP_ID(p_MME_value, ignore), + mw_eNB_UE_S1AP_ID(p_eNB_value, ignore), + mw_E_RABModifyList(p_RecordOf_E_RABModifyListItem_value) + } // End of template mw_E_RABModificationConfirmIEs + } } @@ -4394,6 +4415,14 @@ module LibS1AP_Templates { value_ := { RecordOf_E_RABItem := p_value } } // End of template mw_E_RABReleaseList + template (present) ProtocolIE mw_E_RABModifyList( + template (present) RecordOf_E_RABItem p_value := { ? } + ) := { + id := S1AP_Constants.id_E_RABToBeReleasedList, + criticality := ignore, + value_ := { RecordOf_E_RABItem := p_value } + } // End of template mw_E_RABModifyList + /** * @desc Receive template for E-RABSetupListBearerSUReq protocol IE * @param p_value Expected protocol IE value. Default: mw_E_RABToBeSetupItemBearerSUReq diff --git a/ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn b/ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn index 5fd01e8..13c2908 100644 --- a/ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn @@ -41,8 +41,13 @@ module LibS1AP_TypesAndValues { type record of E_RABSetupItemBearerSURes RecordOf_E_RABSetupItemBearerSURes; /** - * @desc List of E-RABModifyItemBearerModRes IEs + * @desc List of E-RABModifyItemBearerModConf IEs */ + type record of E_RABModifyItemBearerModConf RecordOf_E_RABModifyItemBearerModConf; + + /** + * @desc List of E-RABModifyItemBearerModRes IEs + */ type record of E_RABModifyItemBearerModRes RecordOf_E_RABModifyItemBearerModRes; /** diff --git a/ttcn3/S1AP_TCFunctions.ttcn b/ttcn3/S1AP_TCFunctions.ttcn index 8b093d6..21ad453 100644 --- a/ttcn3/S1AP_TCFunctions.ttcn +++ b/ttcn3/S1AP_TCFunctions.ttcn @@ -4273,7 +4273,7 @@ module S1AP_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test body - action("trigger an E-RAB Modify request"); + action("trigger an E-RAB Release request"); f_recv_E_RABReleaseCommand(mw_E_RABReleaseCmdIEs( vc_MME_UE_ID, @@ -4291,6 +4291,39 @@ module S1AP_TCFunctions { log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_S1AP_MME_RAB_03 + + /** + * @desc Testcase function for TC_S1AP_eNB_RAB_04 + */ + function f_TC_S1AP_MME_RAB_04() runs on S1APComponent { + // Local variables + + // Preamble + f_S1AP_mme_init(); + f_rABSetupRequest(); + + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Test body +// action("trigger an E-RAB Modify request"); + + f_recv_E_RABModificationConfirm(mw_E_RABModificationConfirmIEs( + vc_MME_UE_ID, + vc_eNB_UE_ID, + {mw_E_RABItem} + )); + + f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); + + // Postamble + + f_postamble_S1AP_MME(); + + f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); + + } // End of function f_TC_S1AP_MME_RAB_04 } // End of group ERAB_management_group