Commit 107407f6 authored by rennoch's avatar rennoch
Browse files

new IE UEAggregateMaximumBitrate

parent b4ba09b3
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -626,6 +626,15 @@ module LibS1AP_Steps {
            f_send_S1AP_initiatingMessage(m_E_RABSetupRequest(p_value))
        } // End of function f_send_E_RABSetupRequest
        
		/**
		 * @desc Send S1AP Message InitialContext_SetupRequest
		 * @param p_value Send template with IE for InitialContext_SetupRequest
		 */
		function f_send_InitialContext_SetupRequest(in template (value) RecordOf_ProtocolIE p_value
		) runs on S1APComponent {
			f_send_S1AP_initiatingMessage(m_InitialContextSetupRequest(p_value))
		} // End of function f_send_InitialContext_SetupRequest
        
        /**
         * @desc Send S1AP Message S1 SETUP RESPONSE
         * @param p_value Send template with IE for S1 SETUP RESPONSE
+55 −0
Original line number Diff line number Diff line
@@ -99,6 +99,36 @@ module LibS1AP_Templates {
                    
                }// End of group ERABSetup

				/**
				 * @desc Send messages for Context Management procedures
				 */
				group Context_management_group {

					/**
					 * @desc Send template for InitiatingMessage message with InitialContextSetup payload
					 * @param p_value           Expected procedure code
					 */
					template (value) InitiatingMessage m_InitialContextSetupRequest(
																		   in template (value) RecordOf_ProtocolIE p_value) := {
						procedureCode := id_E_RABSetup,
						criticality := reject,
						value_ := {RecordOf_ProtocolIE := valueof(p_value)}
					} // End of template m_InitialContextSetupRequest
                    
					template (value) RecordOf_ProtocolIE m_InitialContextSetupReqIEs(
																			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,
																			in template (value) RecordOf_E_RABToBeSetupItemBearerSUReq p_RecordOf_E_RABToBeSetupItem_value
					) := {
						m_MME_UE_S1AP_ID(p_MME_value),
						m_eNB_UE_S1AP_ID(p_eNB_value),
						m_UE_aggregate_maximum_bitrate_IE(p_uEAggregateMaximumBitrate),
						m_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value)
					} // End of template m_InitialContextSetupReqIEs
					
                }// End of group Context_management_group
                
                /**
                 * @desc Send messages for Management procedures
                 */
@@ -1847,6 +1877,20 @@ module LibS1AP_Templates {
                value_ := {Cause := valueof(p_cause)}
            } // End of template m_cause_IE

			/**
			 * @desc Send template for UE aggregate maxmum bitrate IE
			 * @param p_cause  UEAggregateMaximumBitrate value
			 * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.3 Cause
			 */
			template (value) ProtocolIE m_UE_aggregate_maximum_bitrate_IE(
												   in template (value) UEAggregateMaximumBitrate p_value,
												   in template (value) ProtocolIE.criticality p_criticality := reject
			) := {
				id := S1AP_Constants.id_uEaggregateMaximumBitrate,
				criticality := p_criticality,
				value_ := {UEAggregateMaximumBitrate := valueof(p_value)}
			} // End of template m_UE_aggregate_maximum_bitrate_IE
            
            group E_RAB_IEsend {
                
                /**
@@ -2752,6 +2796,17 @@ module LibS1AP_Templates {
                e_RAB_ID := p_e_RAB_ID,cause := p_cause,iE_Extensions := *
            } // End of template mw_E_RABItem

			/**
			 * @desc 
			 */
			template (value) UEAggregateMaximumBitrate m_UEAggregateMaximumBitrate (BitRate p_dl, BitRate p_ul):= {
			  uEaggregateMaximumBitRateDL := p_dl,
			  uEaggregateMaximumBitRateUL := p_ul,
			  iE_Extensions := omit
			}


            
            group Management_group {
                
                template (value) ResetType m_resetType_all := {
+41 −0
Original line number Diff line number Diff line
@@ -216,6 +216,47 @@ module S1AP_TCFunctions {
		 */
		group Context_management_group {

            /**
             * @desc Testcase function for TC_S1AP_CON_MGT_01
             */
            function f_TC_S1AP_CON_MGT_01() 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_InitialContext_SetupRequest(m_InitialContextSetupReqIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
				    m_UEAggregateMaximumBitrate(1,1),
                    {m_E_RABToBeSetupItemBearerSUReq (
                        -,
                        m_e_RABlevelQoSParameters
                        (5)
                    )}
                ));

                f_recv_E_RABSetupResponse(mw_E_RABSetupResIEs(
                    vc_MME_UE_ID,
                    vc_eNB_UE_ID,
                    {
                        mw_E_RABSetupItemBearerSURes
                    }
                ));
                
                
                // 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_CON_MGT_01

            
		} // End of group Context_management_group