Commit 8755ad77 authored by rennoch's avatar rennoch
Browse files

draft of f_TC_S1AP_eNB_CMP_16

parent 0ed2d2a1
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -941,6 +941,17 @@ module LibS1AP_Steps {
			f_send_S1AP_initiatingMessage(m_UeContextModificationRequest(p_value))
		} // End of f_send_UE_Context_Modification_Request

		/**
		* @desc Send S1AP Message UE Radio Capability Match Request
		* @param p_value Send template for UE_RADIO_CAPABILITY_MATCH_REQUEST
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.11 UE CONTEXT MODIFICATION COMMAND
		*/
		function f_send_UE_Radio_Capability_Match_Request(
										template (value) RecordOf_ProtocolIE p_value
		) runs on S1APComponent {
			f_send_S1AP_initiatingMessage(m_UeRadioCapabilityMatchRequest(p_value))
		} // End of f_send_UE_Radio_Capability_Match_Request

        
    } // End of group sendPDU
    
+36 −0
Original line number Diff line number Diff line
@@ -229,6 +229,27 @@ module LibS1AP_Templates {
                        m_UE_securityCapabilities_IE(p_UeSecurityCapabilities)
                    } // End of template m_ContextModificationReqIEsSecCap

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

					template (value) RecordOf_ProtocolIE m_UeRadioCapabilityMatchReqIEs(
																			in template (value) MME_UE_S1AP_ID p_MME_value,
																			in template (value) ENB_UE_S1AP_ID p_eNB_value,
																			in template (value) octetstring p_UeRadioCapabilities
					) := {
						m_MME_UE_S1AP_ID(p_MME_value),
						m_eNB_UE_S1AP_ID(p_eNB_value),
						m_UE_Radio_capability_IE(p_UeRadioCapabilities)
					} // End of template m_ContextModificationReqIEsSecCap
                    
                }// End of group Context_management_group
                
                /**
@@ -2456,6 +2477,21 @@ module LibS1AP_Templates {
                value_ := {CSFallbackIndicator := valueof(p_value)}
            } // End of template m_CS_Fallback_indicator_IE


			/**
			 * @desc Send template for UE Radio capability IE
			 * @param p_value  UESecurityCapabilities value
			 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.27 UE Radio capability
			 */
			template (value) ProtocolIE m_UE_Radio_capability_IE(
												   in template (value) octetstring p_value,
												   in template (value) ProtocolIE.criticality p_criticality := ignore
			) := {
				id := S1AP_Constants.id_UERadioCapability,
				criticality := p_criticality,
				value_ := {octetstring := valueof(p_value)}
			} // End of template m_UE_Radio_capability_IE
            
            group E_RAB_IEsend {
                
                /**
+34 −0
Original line number Diff line number Diff line
@@ -1374,6 +1374,40 @@ module S1AP_TCFunctions {
            } // End of function f_TC_S1AP_eNB_CMP_15


			/**
			 * @desc Testcase function for TC_S1AP_eNB_CMP_16
			 */
			function f_TC_S1AP_eNB_CMP_16() runs on S1APComponent { 
				// Local variables
                
				// Preamble
				f_S1AP_enb_init();
                                
				f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
				log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                
				// Test body
				f_send_UE_Radio_Capability_Match_Request(m_UeRadioCapabilityMatchReqIEs(
					vc_MME_UE_ID,
					vc_eNB_UE_ID,
					'0001'O // UERadioCapability
				));

//				f_recv_UE_Context_Modification_Failure(mw_UeContextModificationFailureIEs(
//					vc_MME_UE_ID,
//					vc_eNB_UE_ID,
//					? // cause
//				)); 
												                   
				// 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_16

        } // End of group Context_management_group
        
        /**