Commit 3f9ed8c9 authored by rennoch's avatar rennoch
Browse files

completion of f_TC_S1AP_eNB_CMP_13

parent 8031d6b5
Loading
Loading
Loading
Loading
+25 −2
Original line number Diff line number Diff line
@@ -639,7 +639,7 @@ module LibS1AP_Steps {
		} // End of f_recv_UE_Context_Release_Request

		/**
		* @desc Receive S1AP Message UE Context Release Request
		* @desc Receive S1AP Message UE Context Release Complete
		* @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
		*/
@@ -649,6 +649,17 @@ module LibS1AP_Steps {
			f_recv_S1AP_initiatingMessage(mw_UeContextReleaseComplete(p_value))
		} // End of f_recv_UE_Context_Release_Complete

		/**
		* @desc Receive S1AP Message UE Context Modification Response
		* @param p_value Receive template for UE CONTEXT MODIFICATION RESPONSE
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.9 UE CONTEXT MODIFICATION RESPONSE
		*/
		function f_recv_UE_Context_Modification_Response(
										template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_initiatingMessage(mw_UeContextModificationResponse(p_value))
		} // End of f_recv_UE_Context_Modification_Response
        
    } // End of group receivePDU
    
    /**
@@ -896,7 +907,19 @@ module LibS1AP_Steps {
										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 f_send_UE_Context_Release_Command

		/**
		* @desc Send S1AP Message UE Context Modification Request
		* @param p_value Send template for UE CONTEXT MODIFICATION REQUEST
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.8 UE CONTEXT MODIFICATION COMMAND
		*/
		function f_send_UE_Context_Modification_Request(
										template (value) RecordOf_ProtocolIE p_value
		) runs on S1APComponent {
			f_send_S1AP_initiatingMessage(m_UeContextModificationRequest(p_value))
		} // End of f_send_UE_Context_Modification_Request

        
    } // End of group sendPDU
    
+44 −1
Original line number Diff line number Diff line
@@ -158,7 +158,7 @@ module LibS1AP_Templates {
                    } // End of template m_InitialContextSetupReqIEs

					/**
					 * @desc Send template for InitiatingMessage message with InitialContextSetup payload
					 * @desc Send template for InitiatingMessage message with UeContextReleaseCommand payload
					 * @param p_value           Expected procedure code
					 */
					template (value) InitiatingMessage m_UeContextReleaseCommand(
@@ -184,6 +184,28 @@ module LibS1AP_Templates {
						m_cause_IE(p_cause)
					} // End of template m_UeContextReleaseCommandIEs_ENB


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

					template (value) RecordOf_ProtocolIE m_ContextModificationReqIEs(
																			in template (value) MME_UE_S1AP_ID p_MME_value,
																			in template (value) ENB_UE_S1AP_ID p_eNB_value,
																			in template (value) UEAggregateMaximumBitrate p_uEAggregateMaximumBitrate
					) := {
						m_MME_UE_S1AP_ID(p_MME_value),
						m_eNB_UE_S1AP_ID(p_eNB_value),
						m_UE_aggregate_maximum_bitrate_IE(p_uEAggregateMaximumBitrate)
					} // End of template m_ContextModificationReqIEs
                    
                }// End of group Context_management_group
                
                /**
@@ -671,6 +693,27 @@ module LibS1AP_Templates {
						mw_cause_IE(p_cause)
					} // End of template mw_UeContextReleaseCompleteIEs

					/**
					 * @desc Receive template for mw_UeContextModificationResponse message
					 * @param p_procedureCode   Expected procedure code. Default: ?
					 * @param p_value           Expected procedure code. Default: ?
					 */
					template (present) SuccessfulOutcome mw_UeContextModificationResponse(
																			   template (present) RecordOf_ProtocolIE p_value := ?
					) := {
						procedureCode := id_UEContextModification,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := p_value}
					} // End of template mw_UeContextReleaseComplete
                    
					template (present) RecordOf_ProtocolIE mw_UeContextModificationResponseIEs(
																			   template (present) MME_UE_S1AP_ID p_MME_value := ?,
																			   template (present) ENB_UE_S1AP_ID p_eNB_value := ?
					) := {
						mw_MME_UE_S1AP_ID(p_MME_value, ignore),
						mw_eNB_UE_S1AP_ID(p_eNB_value, ignore)
					} // End of template mw_UeContextReleaseCompleteIEs
                    
                } // End of group Context_management_group
                
                /**
+35 −0
Original line number Diff line number Diff line
@@ -1229,6 +1229,41 @@ module S1AP_TCFunctions {
                
            } // End of function f_TC_S1AP_eNB_CMP_12

            /**
             * @desc Testcase function for TC_S1AP_eNB_CMP_13
             */
            function f_TC_S1AP_eNB_CMP_13() 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_Modification_Request(m_ContextModificationReqIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    m_UEAggregateMaximumBitrate(1,1)
                ));

				f_recv_UE_Context_Modification_Response(mw_UeContextModificationResponseIEs(
                    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_13


        } // End of group Context_management_group