Commit f5f7314a authored by ulrichst's avatar ulrichst
Browse files

first draft of f_TC_S1AP_eNB_RAB_03

parent 7df708e7
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -556,6 +556,17 @@ module LibS1AP_Steps {
            f_recv_S1AP_initiatingMessage(mw_UplinkNonUEAssociatedLppaTransport(p_value))
        } // End of f_recv_Uplink_Non_UE_Associated_Lppa_Transport
        
		/**
		* @desc Receive S1AP Message HANDOVER_REQUIRED
		* @param p_value Receive template for UPLINK_NON_UE_ASSOCIATED_LPPA_TRANSPORT IEs
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.5.1 HANDOVER_REQUIRED
		*/
		function f_recv_Handover_Required(
										template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			// TODO
		} // End of f_recv_Uplink_Non_UE_Associated_Lppa_Transport
        
    } // End of group receivePDU
    
    /**
+35 −2
Original line number Diff line number Diff line
@@ -426,6 +426,26 @@ module LibS1AP_Templates {
            
            group receiveClass1 {
                
				group HandoverRequired{
					template (value) RecordOf_ProtocolIE mw_HandoverRequiredIEs(
						template (present) MME_UE_S1AP_ID p_MME_value := ?,
						template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
						template (present) HandoverType p_HandoverType_value := ?,
						template (present) Cause p_Cause_value := ?,
						template (present) TargetID p_TargetId_value := ?,
						template (present) Source_ToTarget_TransparentContainer p_Source_ToTarget_TransparentContainer_value := ?
					   ) := {
							mw_MME_UE_S1AP_ID(p_MME_value),
							mw_eNB_UE_S1AP_ID(p_eNB_value),
	  						mw_handoverType_IE(p_HandoverType_value),
	  						mw_cause_IE(p_Cause_value)
	  						
	  						// TODO
	  						
	  						
					   } // End of template m_E_RABSetupReqIEs
				}// End of group HandoverPreparation
                
                group HandoverPreparation{
                    
                }// End of group HandoverPreparation
@@ -2755,6 +2775,19 @@ module LibS1AP_Templates {
                value_ := { EmergencyAreaIDListForRestart := p_emergencyAreaIDListForRestart }
            } // End of template mw_emergencyAreaIDListForRestart
            
			/**
			 * @desc 
			 * @param p_handoverType
			 * @param p_criticality
			 */
			template (present) ProtocolIE mw_handoverType_IE(
				template (present) HandoverType p_handoverType := ?,
				template (present) ProtocolIE.criticality p_criticality := reject
			) := {
				id := S1AP_Constants.id_HandoverType,
				criticality := p_criticality,
				value_ := { HandoverType := p_handoverType }
			} // End of template mw_handoverType
        } // End of group Receive_IEs
        
        group g_IEParameters {
+55 −0
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@
 */
module S1AP_TCFunctions {
    
    import from S1AP_IEs language "ASN.1:1997" all;

    // LibCommon
    import from LibCommon_Sync all;
    import from LibCommon_VerdictControl all;
@@ -207,6 +209,59 @@ module S1AP_TCFunctions {
                
            } // End of function f_TC_S1AP_eNB_RAB_02
            
            
			/**
			 * @desc Testcase function for TC_S1AP_eNB_RAB_03
			 */
			function f_TC_S1AP_eNB_RAB_03() runs on S1APComponent { 
				// Local variables
    
				// Preamble
				f_S1AP_enb_init();
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
    
				f_send_E_RABSetupRequest(m_E_RABSetupReqIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					{
						m_E_RABToBeSetupItemBearerSUReq
					}
				));
   	
				f_recv_E_RABSetupResponse(mw_E_RABSetupResIEs_FailedToSetupList(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					{
						mw_E_RABItem(
							0,
							{
								radioNetwork :=
							(CauseRadioNetwork.s1_intra_system_handover_triggered,
							 CauseRadioNetwork.s1_inter_system_handover_triggered,
							 CauseRadioNetwork.x2_handover_triggered)
							}
						)
					}
				));
								
   				f_recv_Handover_Required(mw_HandoverRequiredIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					mw_handoverType_IE(HandoverType.ltetoutran),
					?,
					?,
					?
				));
    
				f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
    
				f_postamble_S1AP_eNB();
				f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
    
			} // End of function f_TC_S1AP_eNB_RAB_03
//            
        } // End of group ERAB_management_group