Loading ttcn3/LibS1AP/LibS1AP_Steps.ttcn +71 −42 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ module LibS1AP_Steps { // LibS1AP import from S1AP_PDU_Descriptions language "ASN.1:1997" all; import from S1AP_IEs language "ASN.1:1997" all; import from LibS1AP_TypesAndValues all; import from LibS1AP_Interface all; import from LibS1AP_Pixits all; Loading @@ -33,7 +35,7 @@ module LibS1AP_Steps { * @return true if value of p_int greater than 0 * @param p_int - integer value */ function f_gtZero( // FIXME Do we really need a function for <= mathematical operation??? function f_gtZero( // FIXME: Not used to be removed in integer p_int ) return boolean { if (p_int > 0){ Loading @@ -49,7 +51,7 @@ module LibS1AP_Steps { * @return incremented value of p_int 0 * @param p_int - integer value */ function f_inc( function f_inc( // FIXME: Not used to be removed inout UInt32 p_int ) return UInt32 { p_int := p_int + 1; Loading Loading @@ -809,7 +811,6 @@ module LibS1AP_Steps { f_recv_S1AP_initiatingMessage(mw_UeContextResumeRequest(p_value)) } // End of f_recv_Ue_Context_Resume_Request /** * @desc Receive S1AP Message UE RADIO_CAPABILITY_MATCH_RESPONSE * @param p_value Receive template for UE_RADIO_CAPABILITY_MATCH_RESPONSE Loading Loading @@ -1209,7 +1210,29 @@ module LibS1AP_Steps { * @desc Setup a full E-RAB Release procedure */ function f_rABSetupRelease() runs on S1APComponent { // TODO // Local variables const E_RAB_ID c_E_RAB_ID_A := 0; f_send_E_RABReleaseRequest(m_E_RABReleaseReqIEs( vc_MME_UE_ID, vc_eNB_UE_ID, { m_E_RABItem( c_E_RAB_ID_A, m_cause_ran(user_inactivity) // FIXME To be checked ) } )); f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs( vc_MME_UE_ID, vc_eNB_UE_ID, { mw_E_RABItem( c_E_RAB_ID_A ) } )); } // End of function f_rABSetupRelease /** Loading Loading @@ -1237,14 +1260,33 @@ module LibS1AP_Steps { * @desc Initiate a Deactivate Trace procedure */ function f_initiate_deactivateTrace() runs on S1APComponent { // TODO f_send_deactivate_Trace( m_deactivate_TraceIEs( vc_MME_UE_ID, vc_eNB_UE_ID, PX_EUTRAN_TRACE_ID )); } // End of function f_initiate_deactivateTrace /** * @desc Initiate a an Write-Replace Warning Request procedure */ function f_writeReplaceWarningExchanges() runs on S1APComponent { // TODO if (fx_MME_Write_Replace_Warning_procedure() == true) { f_recv_Write_Replace_Warning_Request( mw_write_Replace_Warning_RequestIEs( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER, PX_REPETITION_PERIOD, PX_NUMBER_OF_BROADCASTS_REQUESTED )); f_send_Write_Replace_Warning_Response( m_write_Replace_Warning_ResponseIEs( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } } // End of function f_writeReplaceWarningExchanges } // End of group fullProcedures Loading Loading @@ -1533,7 +1575,7 @@ module LibS1AP_Steps { */ function f_S1AP_Init_Component() runs on S1APComponent { // Nothing to do } // End of function f_S1AP_Init_Component /** Loading Loading @@ -1571,19 +1613,6 @@ module LibS1AP_Steps { return v_ret; } // End of function /** * * @desc Wait for particular time before next expected message */ // function f_wait(float p_time) // FIXME To be replace by LibCommon.f_sleep!!! // runs on S1APComponent { // // tc_wait.start(p_time); // alt { // [] tc_wait.timeout{ } // } // } // End of function f_wait } // End of group globalSteps /** Loading ttcn3/S1AP_Pics.ttcn +44 −0 Original line number Diff line number Diff line Loading @@ -27,9 +27,53 @@ module S1AP_Pics { } // End of group PICS_A2 group PICS_A3 { /** * @desc Does eNB support repetition of the sending of eNB CONFIGURATION UPDATE messages in case of no reply? * @see ETSI DTS_INT-00135-1 A.3/6.4.1 */ modulepar boolean PICS_S1AP_eNB_REPETITION_SENDING_CONF_UPDATE := false; /** * @desc Does eNB support initiation oft the Error Indication procedure when a transfer syntax error is detected? * @see ETSI DTS_INT-00135-1 A.3/17.1 */ modulepar boolean PICS_S1AP_eNB_INITIATION_ERROR_IND_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when an abstract syntax error is detected? * @see ETSI DTS_INT-00135-1 A.3/17.2 */ modulepar boolean PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when a logical error is detected? * @see ETSI DTS_INT-00135-1 A.3/17.3 */ modulepar boolean PICS_S1AP_eNB_INITIATION_ERROR_IND_LOGICAL_ERROR_PROCEDURE := false; } // End of group PICS_A3 group PICS_A4 { /** * @desc Does eNB support initiation oft the Error Indication procedure when a transfer syntax error is detected? * @see ETSI DTS_INT-00135-1 A.4/17.1 */ modulepar boolean PICS_S1AP_MME_INITIATION_ERROR_IND_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when an abstract syntax error is detected? * @see ETSI DTS_INT-00135-1 A.4/17.2 */ modulepar boolean PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when a logical error is detected? * @see ETSI DTS_INT-00135-1 A.4/17.3 */ modulepar boolean PICS_S1AP_MME_INITIATION_ERROR_IND_LOGICAL_ERROR_PROCEDURE := false; } // End of group PICS_A4 } // End of module S1AP_Pics ttcn3/S1AP_Steps.ttcn +6 −6 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ module S1AP_Steps { // Defaults vc_default_s1ap := activate (a_defaultS1AP()); //Base LibDiameter init function if there will be any base initialisation // Base LibS1AP init function if there will be any base initialisation f_S1AP_Init_Component(); vc_ETS_address := PX_S1AP_MME_ETS_IPADDR; Loading @@ -48,7 +48,7 @@ module S1AP_Steps { // Defaults vc_default_s1ap := activate (a_defaultS1AP()); //Base LibDiameter init function if there will be any base initialisation // Base LibS1AP init function if there will be any base initialisation f_S1AP_Init_Component(); vc_ETS_address := PX_S1AP_eNB_ETS_IPADDR; Loading @@ -67,7 +67,7 @@ module S1AP_Steps { // Defaults vc_default_s1ap := activate (a_defaultS1AP()); //Base LibDiameter init function if there will be any base initialisation // Base LibS1AP init function if there will be any base initialisation f_S1AP_Init_Component(); vc_ETS_address := PX_S1AP_eNB_ETS_IPADDR2; Loading ttcn3/S1AP_TCFunctions.ttcn +3 −12 Original line number Diff line number Diff line Loading @@ -3449,19 +3449,14 @@ module S1AP_TCFunctions { } // End of group ENB_direct_information_transfer_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.14 MME direct information transport group */ group MME_direct_information_transfer_group { // Void } // End of group MME_direct_information_transfer_group /** * @desc eNB configuration transfer group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.15 eNB configuration transfer group Loading Loading @@ -3504,18 +3499,14 @@ module S1AP_TCFunctions { } // End of group ENB_configuration_transfer_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.16 MME configuration transport group */ group MME_configuration_transfer_group { // Void } // End of group MME_configuration_transfer_group /** * @desc LPPa transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.17 LPPa transport group Loading Loading @@ -4595,7 +4586,7 @@ module S1AP_TCFunctions { // Preamble f_S1AP_mme_init(); // Preamble action: E-RAB Setup is exchanged // Preamble action: A warning message procedure is exchanged f_writeReplaceWarningExchanges(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); Loading Loading
ttcn3/LibS1AP/LibS1AP_Steps.ttcn +71 −42 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ module LibS1AP_Steps { // LibS1AP import from S1AP_PDU_Descriptions language "ASN.1:1997" all; import from S1AP_IEs language "ASN.1:1997" all; import from LibS1AP_TypesAndValues all; import from LibS1AP_Interface all; import from LibS1AP_Pixits all; Loading @@ -33,7 +35,7 @@ module LibS1AP_Steps { * @return true if value of p_int greater than 0 * @param p_int - integer value */ function f_gtZero( // FIXME Do we really need a function for <= mathematical operation??? function f_gtZero( // FIXME: Not used to be removed in integer p_int ) return boolean { if (p_int > 0){ Loading @@ -49,7 +51,7 @@ module LibS1AP_Steps { * @return incremented value of p_int 0 * @param p_int - integer value */ function f_inc( function f_inc( // FIXME: Not used to be removed inout UInt32 p_int ) return UInt32 { p_int := p_int + 1; Loading Loading @@ -809,7 +811,6 @@ module LibS1AP_Steps { f_recv_S1AP_initiatingMessage(mw_UeContextResumeRequest(p_value)) } // End of f_recv_Ue_Context_Resume_Request /** * @desc Receive S1AP Message UE RADIO_CAPABILITY_MATCH_RESPONSE * @param p_value Receive template for UE_RADIO_CAPABILITY_MATCH_RESPONSE Loading Loading @@ -1209,7 +1210,29 @@ module LibS1AP_Steps { * @desc Setup a full E-RAB Release procedure */ function f_rABSetupRelease() runs on S1APComponent { // TODO // Local variables const E_RAB_ID c_E_RAB_ID_A := 0; f_send_E_RABReleaseRequest(m_E_RABReleaseReqIEs( vc_MME_UE_ID, vc_eNB_UE_ID, { m_E_RABItem( c_E_RAB_ID_A, m_cause_ran(user_inactivity) // FIXME To be checked ) } )); f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs( vc_MME_UE_ID, vc_eNB_UE_ID, { mw_E_RABItem( c_E_RAB_ID_A ) } )); } // End of function f_rABSetupRelease /** Loading Loading @@ -1237,14 +1260,33 @@ module LibS1AP_Steps { * @desc Initiate a Deactivate Trace procedure */ function f_initiate_deactivateTrace() runs on S1APComponent { // TODO f_send_deactivate_Trace( m_deactivate_TraceIEs( vc_MME_UE_ID, vc_eNB_UE_ID, PX_EUTRAN_TRACE_ID )); } // End of function f_initiate_deactivateTrace /** * @desc Initiate a an Write-Replace Warning Request procedure */ function f_writeReplaceWarningExchanges() runs on S1APComponent { // TODO if (fx_MME_Write_Replace_Warning_procedure() == true) { f_recv_Write_Replace_Warning_Request( mw_write_Replace_Warning_RequestIEs( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER, PX_REPETITION_PERIOD, PX_NUMBER_OF_BROADCASTS_REQUESTED )); f_send_Write_Replace_Warning_Response( m_write_Replace_Warning_ResponseIEs( PX_MESSAGE_IDENTIFIER, PX_SERIAL_NUMBER )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } } // End of function f_writeReplaceWarningExchanges } // End of group fullProcedures Loading Loading @@ -1533,7 +1575,7 @@ module LibS1AP_Steps { */ function f_S1AP_Init_Component() runs on S1APComponent { // Nothing to do } // End of function f_S1AP_Init_Component /** Loading Loading @@ -1571,19 +1613,6 @@ module LibS1AP_Steps { return v_ret; } // End of function /** * * @desc Wait for particular time before next expected message */ // function f_wait(float p_time) // FIXME To be replace by LibCommon.f_sleep!!! // runs on S1APComponent { // // tc_wait.start(p_time); // alt { // [] tc_wait.timeout{ } // } // } // End of function f_wait } // End of group globalSteps /** Loading
ttcn3/S1AP_Pics.ttcn +44 −0 Original line number Diff line number Diff line Loading @@ -27,9 +27,53 @@ module S1AP_Pics { } // End of group PICS_A2 group PICS_A3 { /** * @desc Does eNB support repetition of the sending of eNB CONFIGURATION UPDATE messages in case of no reply? * @see ETSI DTS_INT-00135-1 A.3/6.4.1 */ modulepar boolean PICS_S1AP_eNB_REPETITION_SENDING_CONF_UPDATE := false; /** * @desc Does eNB support initiation oft the Error Indication procedure when a transfer syntax error is detected? * @see ETSI DTS_INT-00135-1 A.3/17.1 */ modulepar boolean PICS_S1AP_eNB_INITIATION_ERROR_IND_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when an abstract syntax error is detected? * @see ETSI DTS_INT-00135-1 A.3/17.2 */ modulepar boolean PICS_S1AP_eNB_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when a logical error is detected? * @see ETSI DTS_INT-00135-1 A.3/17.3 */ modulepar boolean PICS_S1AP_eNB_INITIATION_ERROR_IND_LOGICAL_ERROR_PROCEDURE := false; } // End of group PICS_A3 group PICS_A4 { /** * @desc Does eNB support initiation oft the Error Indication procedure when a transfer syntax error is detected? * @see ETSI DTS_INT-00135-1 A.4/17.1 */ modulepar boolean PICS_S1AP_MME_INITIATION_ERROR_IND_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when an abstract syntax error is detected? * @see ETSI DTS_INT-00135-1 A.4/17.2 */ modulepar boolean PICS_S1AP_MME_INITIATION_ERROR_IND_ABSTRACT_SYNTAX_PROCEDURE := false; /** * @desc Does eNB support initiation of the Error Indication procedure when a logical error is detected? * @see ETSI DTS_INT-00135-1 A.4/17.3 */ modulepar boolean PICS_S1AP_MME_INITIATION_ERROR_IND_LOGICAL_ERROR_PROCEDURE := false; } // End of group PICS_A4 } // End of module S1AP_Pics
ttcn3/S1AP_Steps.ttcn +6 −6 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ module S1AP_Steps { // Defaults vc_default_s1ap := activate (a_defaultS1AP()); //Base LibDiameter init function if there will be any base initialisation // Base LibS1AP init function if there will be any base initialisation f_S1AP_Init_Component(); vc_ETS_address := PX_S1AP_MME_ETS_IPADDR; Loading @@ -48,7 +48,7 @@ module S1AP_Steps { // Defaults vc_default_s1ap := activate (a_defaultS1AP()); //Base LibDiameter init function if there will be any base initialisation // Base LibS1AP init function if there will be any base initialisation f_S1AP_Init_Component(); vc_ETS_address := PX_S1AP_eNB_ETS_IPADDR; Loading @@ -67,7 +67,7 @@ module S1AP_Steps { // Defaults vc_default_s1ap := activate (a_defaultS1AP()); //Base LibDiameter init function if there will be any base initialisation // Base LibS1AP init function if there will be any base initialisation f_S1AP_Init_Component(); vc_ETS_address := PX_S1AP_eNB_ETS_IPADDR2; Loading
ttcn3/S1AP_TCFunctions.ttcn +3 −12 Original line number Diff line number Diff line Loading @@ -3449,19 +3449,14 @@ module S1AP_TCFunctions { } // End of group ENB_direct_information_transfer_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.14 MME direct information transport group */ group MME_direct_information_transfer_group { // Void } // End of group MME_direct_information_transfer_group /** * @desc eNB configuration transfer group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.15 eNB configuration transfer group Loading Loading @@ -3504,18 +3499,14 @@ module S1AP_TCFunctions { } // End of group ENB_configuration_transfer_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.16 MME configuration transport group */ group MME_configuration_transfer_group { // Void } // End of group MME_configuration_transfer_group /** * @desc LPPa transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.17 LPPa transport group Loading Loading @@ -4595,7 +4586,7 @@ module S1AP_TCFunctions { // Preamble f_S1AP_mme_init(); // Preamble action: E-RAB Setup is exchanged // Preamble action: A warning message procedure is exchanged f_writeReplaceWarningExchanges(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); Loading