Commit 7c3514e2 authored by rennoch's avatar rennoch
Browse files

draft f_TC_S1AP_eNB_CMP_10

parent b66e6402
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -628,6 +628,17 @@ module LibS1AP_Steps {
			f_recv_S1AP_initiatingMessage(mw_UeContextReleaseRequest(p_value))
		} // End of f_recv_UE_Context_Release_Request

		/**
		* @desc Receive S1AP Message UE Context Release Request
		* @param p_value Receive template for UE CONTEXT RELEASE COMPLETE
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.7 UE CONTEXT RELEASE COMPLETE
		*/
		function f_recv_UE_Context_Release_Complete(
										template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_initiatingMessage(mw_UeContextReleaseComplete(p_value))
		} // End of f_recv_UE_Context_Release_Complete
        
    } // End of group receivePDU
    
    /**
@@ -857,6 +868,17 @@ module LibS1AP_Steps {
            f_send_S1AP_initiatingMessage(m_kill_Response(p_value))
        } // End of function f_send_Kill_Response

		/**
		* @desc Send S1AP Message UE Context Release Command
		* @param p_value Send template for UE CONTEXT RELEASE REQUEST
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.6 UE CONTEXT RELEASE COMMAND
		*/
		function f_send_UE_Context_Release_Command(
										template (value) RecordOf_ProtocolIE p_value
		) runs on S1APComponent {
			f_send_S1AP_initiatingMessage(m_UeContextReleaseCommand(p_value))
		} // End of f_recv_UE_Context_Release_Request
        
    } // End of group sendPDU
    
    /**
+51 −0
Original line number Diff line number Diff line
@@ -132,6 +132,27 @@ module LibS1AP_Templates {
                        m_securityKey_IE(p_SecurityKey)
                    } // End of template m_InitialContextSetupReqIEs

					/**
					 * @desc Send template for InitiatingMessage message with InitialContextSetup payload
					 * @param p_value           Expected procedure code
					 */
					template (value) InitiatingMessage m_UeContextReleaseCommand(
																		   in template (value) RecordOf_ProtocolIE p_value) := {
						procedureCode := id_UEContextRelease,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := valueof(p_value)}
					} // End of template m_UeContextReleaseCommand

					template (value) RecordOf_ProtocolIE m_UeContextReleaseCommandIEs(
																			in template (value) MME_UE_S1AP_ID p_MME_value,
																			in template (value) ENB_UE_S1AP_ID p_eNB_value,
																			in template (value) Cause p_cause
					) := {
						m_MME_UE_S1AP_ID(p_MME_value),
						m_eNB_UE_S1AP_ID(p_eNB_value),
						m_cause_IE(p_cause)
					} // End of template m_UeContextReleaseCommandIEs
                    
                }// End of group Context_management_group
                
                /**
@@ -554,6 +575,30 @@ module LibS1AP_Templates {
						mw_cause_IE(p_cause)
					} // End of template mw_UeContextReleaseRequestIEs

					/**
					 * @desc Receive template for UeContextReleaseComplete message
					 * @param p_procedureCode   Expected procedure code. Default: ?
					 * @param p_value           Expected procedure code. Default: ?
					 */
					template (present) SuccessfulOutcome mw_UeContextReleaseComplete(
																			   template (present) RecordOf_ProtocolIE p_value := ?
					) := {
						procedureCode := id_UEContextRelease,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := p_value}
					} // End of template mw_UeContextReleaseComplete

                    
					template (present) RecordOf_ProtocolIE mw_UeContextReleaseCompleteIEs(
																			   template (present) MME_UE_S1AP_ID p_MME_value := ?,
																			   template (present) ENB_UE_S1AP_ID p_eNB_value := ?,
																			   template (present) Cause p_cause := ?
					) := {
						mw_MME_UE_S1AP_ID(p_MME_value, ignore),
						mw_eNB_UE_S1AP_ID(p_eNB_value, ignore),
						mw_cause_IE(p_cause)
					} // End of template mw_UeContextReleaseCompleteIEs
                    
                } // End of group Context_management_group
                
                /**
@@ -3078,6 +3123,12 @@ module LibS1AP_Templates {
                    nas := p_nas
                } // End of template m_cause_nas
                
				template(value) Cause m_cause_ran(
												  in template (value) CauseRadioNetwork p_radioNetwork
				) := {
					radioNetwork := p_radioNetwork
				} // End of template m_cause_ran
				                
                template(present) Cause mw_cause_ran(
                                                     template (present) CauseRadioNetwork p_radioNetwork := ?
                ) := {
+36 −0
Original line number Diff line number Diff line
@@ -937,6 +937,42 @@ module S1AP_TCFunctions {
                
			} // End of function f_TC_S1AP_eNB_CMP_09

			/**
			 * @desc Testcase function for TC_S1AP_eNB_CMP_10
			 */
			function f_TC_S1AP_eNB_CMP_10() runs on S1APComponent { 
				// Local variables

				// Preamble
				f_S1AP_enb_init();
				
				f_rABSetupRequest();
				
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
				// Test body

				f_send_UE_Context_Release_Command(m_UeContextReleaseCommandIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					m_cause_ran(user_inactivity)
					));

				f_recv_UE_Context_Release_Complete(mw_UeContextReleaseCompleteIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID
				));
                
				// Postamble
				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_CMP_10

        } // End of group Context_management_group
        
        /**