From 552c5aafc429852efbd3c0c0708ccd9885a3981c Mon Sep 17 00:00:00 2001 From: rennoch Date: Fri, 12 May 2017 08:34:10 +0000 Subject: [PATCH] preambles for f_TC_S1AP_MME_RAB_08 and _09 --- ttcn3/LibS1AP/LibS1AP_Steps.ttcn | 25 +++++++++++++++ ttcn3/S1AP_TCFunctions.ttcn | 52 +++++++++++++++----------------- 2 files changed, 50 insertions(+), 27 deletions(-) diff --git a/ttcn3/LibS1AP/LibS1AP_Steps.ttcn b/ttcn3/LibS1AP/LibS1AP_Steps.ttcn index 3650cb2..fd2a8fd 100644 --- a/ttcn3/LibS1AP/LibS1AP_Steps.ttcn +++ b/ttcn3/LibS1AP/LibS1AP_Steps.ttcn @@ -1470,6 +1470,31 @@ module LibS1AP_Steps { } )); } // End of function f_rABSetupRequest + + /** + * @desc Setup an initial Context E-RAB Setup procedure + */ + function f_rABInitialContextSetup( + in template (value) RecordOf_E_RABToBeSetupItemCtxtSUReq p_RecordOf_E_RABToBeSetupItemCtxt_value + ) runs on S1APComponent { + f_send_InitialContext_SetupRequest(m_InitialContextSetupReqIEs( + vc_MME_UE_ID, + vc_eNB_UE_ID, + m_UEAggregateMaximumBitrate(1,1), + p_RecordOf_E_RABToBeSetupItemCtxt_value, + m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B), + m_securityKey + )); + + f_recv_InitialContext_SetupResponse(mw_InitialContextSetupResIEs( + vc_MME_UE_ID, + vc_eNB_UE_ID, + { + mw_E_RABSetupItemBearerSURes + } + )); + } // End of function f_rABInitialContextSetup + /** * @desc Setup a full E-RAB Release procedure diff --git a/ttcn3/S1AP_TCFunctions.ttcn b/ttcn3/S1AP_TCFunctions.ttcn index 6bc735d..0e43bf9 100644 --- a/ttcn3/S1AP_TCFunctions.ttcn +++ b/ttcn3/S1AP_TCFunctions.ttcn @@ -4505,39 +4505,26 @@ module S1AP_TCFunctions { function f_TC_S1AP_MME_RAB_08() runs on S1APComponent { // Local variables const E_RAB_ID c_E_RAB_ID_A := 0; + const E_RAB_ID c_E_RAB_ID_B := 1; // Preamble f_S1AP_mme_init(); - // TODO Preamble action: INITIAL_CONTEXT_SETUP_REQUEST containing at least two E-RABs and INITIAL_CONTEXT_SETUP_RESPONSE are exchanged. - + // Preamble action: INITIAL_CONTEXT_SETUP_REQUEST + // containing at least two E-RABs and + // INITIAL_CONTEXT_SETUP_RESPONSE are exchanged. + f_rABInitialContextSetup({ + m_E_RABToBeSetupItemCtxtSUReq + (c_E_RAB_ID_A, + m_e_RABlevelQoSParameters), + m_E_RABToBeSetupItemCtxtSUReq + (c_E_RAB_ID_B, + m_e_RABlevelQoSParameters) + }); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test body - f_send_InitialContext_SetupRequest(m_InitialContextSetupReqIEs( - vc_MME_UE_ID, - vc_eNB_UE_ID, - m_UEAggregateMaximumBitrate(1,1), - {m_E_RABToBeSetupItemCtxtSUReq ( - c_E_RAB_ID_A, - m_e_RABlevelQoSParameters - ), - m_E_RABToBeSetupItemCtxtSUReq ( - c_E_RAB_ID_A, - m_e_RABlevelQoSParameters - )}, - m_UESecurityCapabilities('0101010101010101'B,'0101010101010101'B), - m_securityKey - )); - - f_recv_InitialContext_SetupResponse(mw_InitialContextSetupResIEs( - vc_MME_UE_ID, - vc_eNB_UE_ID, - { - mw_E_RABSetupItemBearerSURes - } - )); - f_send_E_RABModifiedInd( m_E_RABModifiedIndIEs( @@ -4581,10 +4568,21 @@ module S1AP_TCFunctions { function f_TC_S1AP_MME_RAB_09() runs on S1APComponent { // Local variables const E_RAB_ID c_E_RAB_ID_A := 0; + const E_RAB_ID c_E_RAB_ID_B := 1; // Preamble f_S1AP_mme_init(); - + // Preamble action: INITIAL_CONTEXT_SETUP_REQUEST + // containing at least two E-RABs and + // INITIAL_CONTEXT_SETUP_RESPONSE are exchanged. + f_rABInitialContextSetup({ + m_E_RABToBeSetupItemCtxtSUReq + (c_E_RAB_ID_A, + m_e_RABlevelQoSParameters), + m_E_RABToBeSetupItemCtxtSUReq + (c_E_RAB_ID_B, + m_e_RABlevelQoSParameters) + }); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");