LibS1AP_Steps.ttcn 61.6 KB
Newer Older
garciay's avatar
garciay committed
 *    @author   ETSI / STF519
garciay's avatar
garciay committed
 *    @desc     This module provides functions used in S1AP.
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *    @see      ETSI TS 136 413 / 3GPP TS 36.413 version 13.4.0 Release 13
garciay's avatar
garciay committed
module LibS1AP_Steps {
    
garciay's avatar
garciay committed
    // LibCommon
    import from LibCommon_Sync all;
garciay's avatar
garciay committed
    import from LibCommon_VerdictControl all;
    import from LibCommon_BasicTypesAndValues all;
garciay's avatar
garciay committed
    // LibS1AP
    import from S1AP_PDU_Descriptions language "ASN.1:1997" all;
pintar's avatar
pintar committed
    import from LibS1AP_TypesAndValues all;
garciay's avatar
garciay committed
    import from LibS1AP_Interface all;
    import from LibS1AP_Pixits all;
    import from LibS1AP_Templates all;
    
garciay's avatar
garciay committed
    /**
     * @desc Common functions description
     */
    group commonFunctions {
garciay's avatar
garciay committed
         * @desc  Indicate if the provided value is greather or equal to 0
         * @return true if value of p_int greater than 0
         * @param p_int - integer value
         */
        function f_gtZero( // FIXME Do we really need a function for <= mathematical operation???
garciay's avatar
garciay committed
                          in integer p_int
        ) return boolean {
            if (p_int > 0){
                return true;
            }
            else{
                return false;
            }
garciay's avatar
garciay committed
        } // End of function f_gtZero
        
garciay's avatar
garciay committed
         * @desc  Increment the provided value by one
         * @return incremented value of p_int 0
garciay's avatar
garciay committed
         * @param p_int - integer value
         */
        function f_inc(
                       inout UInt32 p_int
        ) return UInt32 {
garciay's avatar
garciay committed
            p_int := p_int + 1;
            return p_int;
garciay's avatar
garciay committed
        } // End of function f_inc
        
garciay's avatar
garciay committed
    } // End of group commonFunctions
garciay's avatar
garciay committed
    /**
     * @desc Receive functions description
     */
    group receivePDU {
garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
         *  @desc    This is a test step that assign common S1AP
garciay's avatar
garciay committed
         *  @param   p_PDU Extract the message payload from the S1AP PDU
garciay's avatar
garciay committed
         */
        function f_S1APPDU_Get(
                               inout S1AP_PDU p_PDU
        ) runs on S1APComponent {
            
            vc_recvS1AP_PDU := p_PDU;
            
            if (ischosen(p_PDU.initiatingMessage)) {
                //TODO...
            }
            if (ischosen(p_PDU.successfulOutcome)) {
                //TODO...
            }
            if (ischosen(p_PDU.unsuccessfulOutcome)) {
                 //TODO...
            }
        } // End of function f_S1APPDU_Get
        
        /**
garciay's avatar
garciay committed
         * @desc Receive S1AP PDU from protocol port
garciay's avatar
garciay committed
         * @param p_PDU template of the message to be received
         */
        function f_recv_S1AP_PDU(
                                 in template S1AP_PDU p_PDU
        ) runs on S1APComponent {
            var S1AP_PDU v_PDU;
garciay's avatar
garciay committed
            
            tc_wait.start;
garciay's avatar
garciay committed
            alt {
                [] S1_MMEeNB_P.receive(p_PDU) -> value v_PDU {
                    tc_wait.stop;
garciay's avatar
garciay committed
                    f_S1APPDU_Get(v_PDU)
                }
                [] tc_wait.timeout {
                    setverdict(inconc,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***");
garciay's avatar
garciay committed
                    //Stop the component in case of timeout
                    all timer.stop;
                    f_componentStop();
                }
garciay's avatar
garciay committed
            }
            
        } // End of function f_recv_S1AP_PDU
garciay's avatar
garciay committed
        /**
garciay's avatar
garciay committed
         * @desc Receive S1AP PDU with InitiatingMessage payload from protocol port
         * @param p_initiatingMessage Receive template for InitiatingMessage message
garciay's avatar
garciay committed
         */
        function f_recv_S1AP_initiatingMessage(
garciay's avatar
garciay committed
                                               template (present) InitiatingMessage p_initiatingMessage := ?
garciay's avatar
garciay committed
        ) runs on S1APComponent {
garciay's avatar
garciay committed
            f_recv_S1AP_PDU( { initiatingMessage := p_initiatingMessage })
garciay's avatar
garciay committed
        } // End of function f_recv_S1AP_initiatingMessage
        
        /**
garciay's avatar
garciay committed
         * @desc Receive S1AP PDU with SuccessfulOutcome payload from protocol port
         * @param p_successfulOutcome Receive template for SuccessfulOutcome message
garciay's avatar
garciay committed
         */
        function f_recv_S1AP_successfulOutcome(
garciay's avatar
garciay committed
                                               template (present) SuccessfulOutcome p_successfulOutcome := ?
garciay's avatar
garciay committed
        ) runs on S1APComponent {
            f_recv_S1AP_PDU( {successfulOutcome := p_successfulOutcome})
garciay's avatar
garciay committed
        } // End of f_recv_S1AP_successfulOutcome
        
        /**
garciay's avatar
garciay committed
         * @desc Receive S1AP PDU with UnsuccessfulOutcome payload from protocol port
         * @param p_unsuccessfulOutcome Receive template for UnsuccessfulOutcome message
garciay's avatar
garciay committed
         */
        function f_recv_S1AP_unsuccessfulOutcome(
garciay's avatar
garciay committed
                                                 template (present) UnsuccessfulOutcome p_unsuccessfulOutcome := ?
garciay's avatar
garciay committed
        ) runs on S1APComponent {
            f_recv_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome})
        } // End of function f_recv_S1AP_unsuccessfulOutcome 
        
        /**
         * @desc Receive S1AP Message E-RAB_SetupRequest
         * @param p_value Receive template for E-RAB_SetupRequest IEs
         */
        function f_recv_E_RABSetupRequest(in template (present) RecordOf_ProtocolIE p_value :=?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_E_RABSetupRequest(p_value))
        } // End of function f_recv_E_RABSetupRequest
pintar's avatar
pintar committed
        /**
         * @desc Receive S1AP Message E_RABSetupResponse
         * @param p_value Receive template for E_RABSetupResponse IEs
         */
        function f_recv_E_RABSetupResponse(
                                           template (present) RecordOf_ProtocolIE p_value := ?
pintar's avatar
pintar committed
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_E_RABSetupResponse(p_value))
        } // End of f_recv_E_RABSetupResponse

		/**
		 * @desc Receive S1AP Message E_RABModifiedResponse
		 * @param p_value Receive template for E_RABModifiedResponse IEs
		 */
		function f_recv_E_RABModifiedResponse(
										   template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_successfulOutcome(mw_E_RABModifiedResponse(p_value))
		} // End of f_recv_E_RABModifiedResponse
pintar's avatar
pintar committed
        
        /**
         * @desc Receive S1AP Message InitialContext_SetupResponse
         * @param p_value Receive template for InitialContext_SetupResponse IEs
         */
        function f_recv_InitialContext_SetupResponse(
                                           template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_InitialContextSetupResponse(p_value))
        } // End of f_recv_InitialContext_SetupResponse
        /**
         * @desc Receive S1AP Message INITIAL UE MESSAGE
         * @param p_value Receive template for INITIAL UE MESSAGE IEs
         */
        function f_recv_Initial_UE_Message(
                                           template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_initial_uE_Message(p_value))
        } // End of f_recv_Initial_UE_Message
        
garciay's avatar
garciay committed
        /**
         * @desc Receive S1AP Message S1 SETUP REQUEST
         * @param p_value Receive template for S1 SETUP REQUEST IEs
garciay's avatar
garciay committed
         */
        function f_recv_S1_Setup_Request(
                                         template (present) RecordOf_ProtocolIE p_value := ?
garciay's avatar
garciay committed
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_s1_Setup_Request(p_value))
        } // End of f_recv_S1_Setup_Request
        
        /**
         * @desc Receive S1AP Message ENB CONFIGURATION UPDATE
         * @param p_value Receive template for ENB CONFIGURATION UPDATE IEs
         */
        function f_recv_eNB_Configuration_Update(
                                                 template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_eNB_Configuration_Update(p_value))
        } // End of f_recv_eNB_Configuration_Update
        
        /**
         * @desc Receive S1AP Message OVERLOAD START
         * @param p_value Receive template for OVERLOAD START IEs
         */
        function f_recv_eNB_Overload_Start(
                                           template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_eNB_Overload_Start(p_value))
        } // End of f_recv_eNB_Overload_Start
        
        /**
         * @desc Receive S1AP Message OVERLOAD STOP
         * @param p_value Receive template for OVERLOAD STOP IEs
         */
        function f_recv_eNB_Overload_Stop(
                                          template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_eNB_Overload_Stop(p_value))
        } // End of f_recv_eNB_Overload_Stop
        
garciay's avatar
garciay committed
        /**
         * @desc Receive S1AP Message ERROR_INDICATION
         * @param p_value Receive template for ERROR_INDICATION IEs
         */
        function f_recv_Error_Indication(
                                         template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_error_Indication(p_value))
        } // End of f_recv_Error_Indication
        
        /**
         * @desc Receive S1AP Message S1 SETUP RESPONSE
         * @param p_value Receive template for S1 SETUP RESPONSE IEs
         */
        function f_recv_S1_Setup_Response(
                                         template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_s1_Setup_Response(p_value))
        } // End of f_recv_S1_Setup_Response
        
        /**
         * @desc Receive S1AP Message S1 SETUP FAILURE
         * @param p_value Receive template for S1 SETUP FAILURE IEs
         */
        function f_recv_S1_Setup_Failure(
                                         template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_s1_Setup_Failure(p_value))
        } // End of f_recv_S1_Setup_Failure
        
        /**
         * @desc Receive S1AP Message ENB CONFIGURATION UPDATE ACKNOWLEDGE
         * @param p_value Receive template for ENB CONFIGURATION UPDATE ACKNOWLEDGE IEs
         */
        function f_recv_eNB_Configuration_Update_Acknowledge(
                                                             template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_eNB_Configuration_Update_Acknowledge(p_value))
        } // End of f_recv_eNB_Configuration_Update_Acknowledge
        
        /**
         * @desc Receive S1AP Message ENB CONFIGURATION UPDATE FAILURE
         * @param p_value Receive template for ENB CONFIGURATION UPDATE FAILURE IEs
         */
        function f_recv_eNB_Configuration_Update_Failure(
                                                         template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_eNB_Configuration_Update_Failure(p_value))
        } // End of f_recv_eNB_Configuration_Update_Failure
        
        /**
         * @desc Receive S1AP Message MME CONFIGURATION UPDATE ACKNOWLEDGE
         * @param p_value Receive template for MME CONFIGURATION UPDATE ACKNOWLEDGE IEs
         */
        function f_recv_MME_Configuration_Update_Acknowledge(
                                                             template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_mME_Configuration_Update_Acknowledge(p_value))
        } // End of f_recv_MME_Configuration_Update_Acknowledge
        
        /**
         * @desc Receive S1AP Message MME CONFIGURATION UPDATE FAILURE
         * @param p_value Receive template for MME CONFIGURATION UPDATE FAILURE IEs
         */
        function f_recv_MME_Configuration_Update_Failure(
                                                         template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_mME_Configuration_Update_Failure(p_value))
        } // End of f_recv_MME_Configuration_Update_Failure
        
        /**
         * @desc Receive S1AP Message PAGING
         * @param p value Receive template for PAGING IEs
         */
        function f_recv_Paging(
                               template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_paging(p_value))
        } // End of f_recv_Paging
        
        /**
         * @desc Receive S1AP Message DOWNLINK NAS TRANSPORT
         * @param p value Receive template for DOWNLINK NAS TRANSPORT IEs
         */
        function f_recv_Downlink_NAS_Transport(
                                               template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_downlink_nAS_Transport(p_value))
        } // End of f_recv_Downlink_NAS_Transport
        
        /**
         * @desc Receive S1AP Message UPLINK NAS TRANSPORT
         * @param p value Receive template for UPLINK NAS TRANSPORT IEs
         */
        function f_recv_Uplink_NAS_Transport(
                                               template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_uplink_nAS_Transport(p_value))
        } // End of f_recv_Uplink_NAS_Transport
        
        /**
         * @desc Receive S1AP Message sends a NAS NON DELIVERY INDICATION
         * @param p value Receive template for NAS NON DELIVERY INDICATION IEs
         */
        function f_recv_NAS_Non_Delivery_Indication(
                                                    template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_nAS_Non_Delivery_Indication(p_value))
        } // End of f_recv_NAS_Non_Delivery_Indication
        
        /**
         * @desc Receive S1AP Message REROUTE NAS REQUEST
         * @param p value Receive template for REROUTE NAS REQUEST IEs
         */
        function f_recv_Reroute_NAS_Request(
                                            template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_reroute_nAS_Request(p_value))
        } // End of f_recv_Reroute_NAS_Request
        
        /**
         * @desc Receive S1AP Message RESET
         * @param p_value Receive template for RESET IEs
         */
        function f_recv_Reset(
                              template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_reset(p_value))
        } // End of f_recv_Reset
        
        /**
         * @desc Receive S1AP Message RESET ACKNOWLEDGE
         * @param p_value Receive template for RESET ACKNOWLEDGE IEs
         */
        function f_recv_Reset_Acknowledge(
                                          template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_reset_Acknowledge(p_value))
        } // End of f_recv_Reset_Acknowledge
        
        /**
         * @desc Receive S1AP Message an UPLINK S1 CDMA2000 TUNNELLING
         * @param p_value Receive template for UPLINK S1 CDMA2000 TUNNELLING IEs
         */
        function f_recv_Uplink_S1_CDMA2000_Tunnelling(
                                                          template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_uplink_S1_CDMA2000_Tunnelling(p_value))
        } // End of f_recv_Uplink_S1_CDMA2000_Tunnelling
        
        /**
         * @desc Receive S1AP Message UE CAPABILITY INFO INDICATION
         * @param p_value Receive template for UE CAPABILITY INFO INDICATION IEs
         */
        function f_recv_eNB_UE_Capability_Info_Indication(
                                                          template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_uE_Capability_Info_Indication(p_value))
        } // End of f_recv_eNB_UE_Capability_Info_Indication
        
garciay's avatar
garciay committed
        /**
         * @desc Receive S1AP Message TRACE FAILURE INDICATION
         * @param p_value Receive template for TRACE FAILURE INDICATION IEs
         */
        function f_recv_Trace_Failure_Indication(
                                                 template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_trace_Failure_Indication(p_value))
        } // End of f_recv_Trace_Failure_Indication
        
        /**
         * @desc Receive S1AP Message CELL TRAFFIC TRACE
         * @param p_value Receive template for CELL TRAFFIC TRACE IEs
         */
        function f_recv_Cell_Traffic_Trace(
                                           template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_cell_Traffic_Trace(p_value))
        } // End of f_recv_Cell_Traffic_Trace
        
garciay's avatar
garciay committed
        /**
         * @desc Receive S1AP Message LOCATION REPORT
         * @param p_value Receive template for LOCATION REPORT IEs
         */
        function f_recv_Location_Report(
                                        template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_location_Report(p_value))
        } // End of f_recv_Location_Report
        
        /**
         * @desc Receive S1AP Message LOCATION REPORT FAILURE INDICATION
         * @param p_value Receive template for LOCATION REPORT FAILURE INDICATION IEs
         */
        function f_recv_Location_Report_Failure_Indication(
                                                           template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_location_Report_Failure_Indication(p_value))
        } // End of f_recv_Location_Report_Failure_Indication
        
        /**
         * @desc Receive S1AP Message WRITE-REPLACE WARNING RESPONSE
         * @param p_value Receive template for WRITE-REPLACE WARNING RESPONSE IEs
         */
        function f_recv_Write_Replace_Warning_Response(
                                                       template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_write_Replace_Warning_Response(p_value))
        } // End of f_recv_Write_Replace_Warning_Response
        
        /**
         * @desc Receive S1AP Message WRITE-REPLACE WARNING RESPONSE
         * @param p_value Receive template for WRITE-REPLACE WARNING RESPONSE IEs
         */
        function f_recv_Kill_Response(
                                                       template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_successfulOutcome(mw_kill_Response(p_value))
        } // End of f_recv_Kill_Response
        
        /**
         * @desc Receive S1AP Message PWS RESTART INDICATION
         * @param p_value Receive template for PWS_RESTART_INDICATION IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.13.5 PWS RESTART INDICATION
         */
        function f_recv_eNB_PWS_Restart_Indication(
                                                   template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_pWS_Restart_Indication(p_value))
        } // End of f_recv_eNB_PWS_Restart_Indication
        
        /**
         * @desc Receive S1AP Message PWS FAILURE INDICATION
         * @param p_value Receive template for PWS_FAILURE_INDICATION IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.13.6 PWS FAILURE INDICATION
         */
        function f_recv_eNB_PWS_Failure_Indication(
                                                   template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_pWS_Failure_Indication(p_value))
        } // End of f_recv_eNB_PWS_Failure_Indication
        
        /**
         * @desc Receive S1AP Message ENB DIRECT INFORMATION TRANSFER
         * @param p_value Receive template for ENB_DIRECT_INFORMATION_TRANSFER IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.14 eNB DIRECT INFORMATION TRANSFER
         */
        function f_recv_eNB_Direct_Information_Transfer(
                                                        template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_eNB_Direct_Information_Transfer(p_value))
        } // End of f_recv_eNB_Configuration_Transfer
        
        /**
         * @desc Receive S1AP Message DOWNLINK S1 CDMA2000 TUNNELLING
         * @param p_value Receive template for DOWNLINK S1 CDMA2000 TUNNELLING IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.9.1 DOWNLINK S1 CDMA2000 TUNNELLING
         */
        function f_recv_Downlink_S1_CDMA2000_Tunnelling(
                                                            template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_downlink_S1_CDMA2000_Tunnelling(p_value))
        } // End of f_recv_Downlink_S1_CDMA2000_Tunnelling
        
garciay's avatar
garciay committed
        /**
         * @desc Receive S1AP Message TRACE START 
         * @param p_value Receive template for TRACE START IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.11.1 TRACE START
         */
        function f_recv_Trace_Start(
                                    template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_trace_Start(p_value))
        } // End of f_recv_Trace_Start
        
        /**
         * @desc Receive S1AP Message DEACTIVATE TRACE 
         * @param p_value Receive template for DEACTIVATE TRACE IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.11.3 DEACTIVATE TRACE
         */
        function f_recv_Deactivate_Trace(
                                         template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_deactivate_Trace(p_value))
        } // End of f_recv_Deactivate_Trace
        
        /**
         * @desc Receive S1AP Message LOCATION REPORTING CONTROL 
         * @param p_value Receive template for LOCATION_REPORTING_CONTROL IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.12.1 LOCATION REPORTING CONTROL
         */
        function f_recv_Location_Reporting_Control(
                                                      template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_location_Reporting_Control(p_value))
        } // End of f_recv_Location_Reporting_Control
        
        /**
         * @desc Receive S1AP Message WRITE-REPLACE WARNING REQUEST 
         * @param p_value Receive template for WRITE_REPLACE_WARNING_REQUEST IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.13.1 WRITE-REPLACE WARNING REQUEST
         */
        function f_recv_Write_Replace_Warning_Request(
                                                      template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_write_Replace_Warning_RequestResponse(p_value))
        } // End of f_recv_Write_Replace_Warning_Request
        
        /**
         * @desc Receive S1AP Message KILL_REQUEST
         * @param p_value Receive template forKILL_REQUEST IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.13.3 KILL REQUEST
         */
        function f_recv_Kill_Request(
                                     template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_kill_RequestResponse(p_value))
        } // End of f_recv_Kill_Request
        
        /**
         * @desc Receive S1AP Message MME DIRECT INFORMATION TRANSFER
         * @param p_value Receive template for MME_DIRECT_INFORMATION_TRANSFER IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.15 MME DIRECT INFORMATION TRANSFER
         */
        function f_recv_Mme_Direct_Information_Transfer(
                                                        template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_Mme_Direct_Information_Transfer(p_value))
        } // End of f_recv_Mme_Configuration_Transfer
        
        /**
         * @desc Receive S1AP Message ENB CONFIGURATION TRANSFER
         * @param p_value Receive template for ENB_CONFIGURATION_TRANSFER IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.16 eNB CONFIGURATION TRANSFER
         */
        function f_recv_eNB_Configuration_Transfer(
                                                   template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_eNB_Configuration_Transfer(p_value))
        } // End of f_recv_eNB_Configuration_Transfer
        
garciay's avatar
garciay committed
        /**
         * @desc Receive S1AP Message MME Direct Information Transfer
         * @param p_value Receive template for MME DIRECT INFORMATION TRANSFER IEs
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.15 MME DIRECT INFORMATION TRANSFER
         */
        function f_MME_Direct_Information_Transfer_procedure(
                                                             template (present) RecordOf_ProtocolIE p_value := ?
garciay's avatar
garciay committed
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_Mme_Configuration_Transfer(p_value))
        } // End of fx_MME_Direct_Information_Transfer_procedure
        
        /**
         * @desc Receive S1AP Message MME CONFIGURATION TRANSFER
         * @param p_value Receive template for MME_CONFIGURATION_TRANSFER IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.17 MME CONFIGURATION TRANSFER
         */
        function f_recv_Mme_Configuration_Transfer(
                                                   template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_Mme_Configuration_Transfer(p_value))
        } // End of f_recv_Mme_Configuration_Transfer
        
        /**
         * @desc Receive S1AP Message DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT
         * @param p_value Receive template for DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.19.1 DOWNLINK UE ASSOCIATED LPPA TRANSPORT
         */
        function f_recv_Downlink_UE_Associated_Lppa_Transport(
                                                              template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_DownlinkUEAssociatedLppaTransport(p_value))
        } // End of f_recv_Downlink_UE_Associated_Lppa_Transport
        
        /**
         * @desc Receive S1AP Message UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT
         * @param p_value Receive template for UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.17 MME CONFIGURATION TRANSFER
         */
        function f_recv_Uplink_UE_Associated_Lppa_Transport(
                                                            template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_UplinkUEAssociatedLppaTransport(p_value))
        } // End of f_recv_Uplink_UE_Associated_Lppa_Transport
        
        /**
         * @desc Receive S1AP Message DOWNLINK_NON_UE_ASSOCIATED_LPPA_TRANSPORT
         * @param p_value Receive template for DOWNLINK_NON_UE_ASSOCIATED_LPPA_TRANSPORT IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.19.3 DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT
         */
        function f_recv_Downlink_Non_UE_Associated_Lppa_Transport(
                                                                  template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_DownlinkNonUEAssociatedLppaTransport(p_value))
        } // End of f_recv_Downlink_Non_UE_Associated_Lppa_Transport
        
        /**
         * @desc Receive S1AP Message UPLINK_NON_UE_ASSOCIATED_LPPA_TRANSPORT
         * @param p_value Receive template for UPLINK_NON_UE_ASSOCIATED_LPPA_TRANSPORT IEs
garciay's avatar
garciay committed
         * @see ETSI TS 136 413 V13.4.0 Clause 9.1.19.4 UPLINK NON UE ASSOCIATED LPPA TRANSPORT
         */
        function f_recv_Uplink_Non_UE_Associated_Lppa_Transport(
                                                                template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            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
        
		/**
		* @desc Receive S1AP Message UE Context Release Request
		* @param p_value Receive template for UE CONTEXT RELEASE REQUEST
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.5 UE CONTEXT RELEASE REQUEST
		*/
		function f_recv_UE_Context_Release_Request(
										template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_initiatingMessage(mw_UeContextReleaseRequest(p_value))
		} // End of f_recv_UE_Context_Release_Request
		* @desc Receive S1AP Message UE Context Release Complete
rennoch's avatar
rennoch committed
		* @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

		/**
		* @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

		/**
		* @desc Receive S1AP Message UE Context Modification Failure
		* @param p_value Receive template for UE CONTEXT MODIFICATION FAILURE
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.10 UE CONTEXT MODIFICATION FAILURE
		*/
		function f_recv_UE_Context_Modification_Failure(
										template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_initiatingMessage(mw_UeContextModificationFailure(p_value))
		} // End of f_recv_UE_Context_Modification_Failure
        /**
        * @desc Receive S1AP Message UE Context Modification Indication
        * @param p_value Receive template for UE CONTEXT MODIFICATION Indication
        * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.13 UE CONTEXT MODIFICATION Indication
        */
        function f_recv_Ue_Context_Modification_Indication(
                                        template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_UeContextModificationIndication(p_value))
        } // End of f_recv_Ue_Context_Modification_Indication

        /**
        * @desc Receive S1AP Message UE Context Suspend Request
        * @param p_value Receive template for UE CONTEXT Suspend Request
        * @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.15 UE CONTEXT SUSPEND Request
        */
        function f_recv_Ue_Context_Suspend_Request(
                                        template (present) RecordOf_ProtocolIE p_value := ?
        ) runs on S1APComponent {
            f_recv_S1AP_initiatingMessage(mw_UeContextSuspendRequest(p_value))
        } // End of f_recv_Ue_Context_Suspend_Request


		/**
		* @desc Receive S1AP Message UE RADIO_CAPABILITY_MATCH_RESPONSE
		* @param p_value Receive template for UE_RADIO_CAPABILITY_MATCH_RESPONSE
		* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.12 UE_RADIO_CAPABILITY_MATCH_RESPONSE
		*/
		function f_recv_UeRadioCapabilityMatchResponse(
										template (present) RecordOf_ProtocolIE p_value := ?
		) runs on S1APComponent {
			f_recv_S1AP_initiatingMessage(mw_UeRadioCapabilityMatchResponse(p_value))
		} // End of f_recv_UeRadioCapabilityMatchResponse
garciay's avatar
garciay committed
    } // End of group receivePDU
garciay's avatar
garciay committed
    /**
     * @desc Send functions description
     */
    group sendPDU {
garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
         *  @desc    This is a test step that assign common S1AP
garciay's avatar
garciay committed
         *  @param p_PDU The S1AP protocol message to set up
garciay's avatar
garciay committed
         */
        function f_S1APPDU_Set(
                               inout template (value) S1AP_PDU p_PDU
        ) runs on S1APComponent {
            
            if (ischosen(p_PDU.initiatingMessage)) {
                //TODO...
                vc_sendS1AP_PDU:=valueof(p_PDU);
            }
garciay's avatar
garciay committed
            if (ischosen(p_PDU.successfulOutcome)) {
                //TODO...
                vc_sendS1AP_PDU:=valueof(p_PDU);
            }
garciay's avatar
garciay committed
            if (ischosen(p_PDU.unsuccessfulOutcome)) {
                 //TODO...
                 vc_sendS1AP_PDU:=valueof(p_PDU);
            }
garciay's avatar
garciay committed
            
        } // End of function f_S1APPDU_Set
garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
         * @desc Send S1AP PDU to protocol port
         * @param p_PDU template value message to be send
         */
garciay's avatar
garciay committed
        function f_send_S1AP_PDU(
                                 in template (value) S1AP_PDU p_PDU
        ) runs on S1APComponent {
            f_S1APPDU_Set(p_PDU);
            S1_MMEeNB_P.send(p_PDU);
garciay's avatar
garciay committed
        } // End of function f_send_S1APPDU
        
        /**
garciay's avatar
garciay committed
         * @desc Send S1AP PDU with InitiatingMessage payload from protocol port
         * @param p_initiatingMessage Send value template for InitiatingMessage message
garciay's avatar
garciay committed
         */
        function f_send_S1AP_initiatingMessage(
                                               in template (value) InitiatingMessage p_initiatingMessage
        ) runs on S1APComponent {
            f_send_S1AP_PDU( {initiatingMessage := p_initiatingMessage})
garciay's avatar
garciay committed
        } // End of function f_send_S1AP_initiatingMessage
garciay's avatar
garciay committed
        /**
garciay's avatar
garciay committed
         * @desc Send S1AP PDU with SuccessfulOutcome payload from protocol port
         * @param p_successfulOutcome Send value template for SuccessfulOutcome message
garciay's avatar
garciay committed
         */
        function f_send_S1AP_successfulOutcome(
                                               in template (value) SuccessfulOutcome p_successfulOutcome
garciay's avatar
garciay committed
        ) runs on S1APComponent {
            f_send_S1AP_PDU( {successfulOutcome := p_successfulOutcome})
garciay's avatar
garciay committed
        } // End of function f_send_S1AP_successfulOutcome
garciay's avatar
garciay committed
        /**
garciay's avatar
garciay committed
         * @desc Send S1AP PDU with UnsuccessfulOutcome payload from protocol port
         * @param p_unsuccessfulOutcome Send value template for UnsuccessfulOutcome message
garciay's avatar
garciay committed
         */
        function f_send_S1AP_unsuccessfulOutcome(
garciay's avatar
garciay committed
                                                 in template (value) UnsuccessfulOutcome p_unsuccessfulOutcome
        ) runs on S1APComponent {
            f_send_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome})
garciay's avatar
garciay committed
        } // End of function f_send_S1AP_unsuccessfulOutcome 
pintar's avatar
pintar committed
        /**
         * @desc Send S1AP Message E-RAB_SetupRequest
         * @param p_value Send template with IE for E-RAB_SetupRequest
         */
        function f_send_E_RABSetupRequest(in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_E_RABSetupRequest(p_value))
        } // End of function f_send_E_RABSetupRequest
        
		/**
		 * @desc Send S1AP Message E-RAB_ModifiedRequest
		 * @param p_value Send template with IE for E-RAB_ModifiedRequest
		 */
		function f_send_E_RABModifiedRequest(in template (value) RecordOf_ProtocolIE p_value
		) runs on S1APComponent {
			f_send_S1AP_initiatingMessage(m_E_RABModifiedRequest(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
        
garciay's avatar
garciay committed
         * @desc Send S1AP Message S1 SETUP RESPONSE
         * @param p_value Send template with IE for S1 SETUP RESPONSE
         */
        function f_send_S1_Setup_Response(
                                          in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_successfulOutcome(m_s1_Setup_Response(p_value))
        } // End of function f_send_S1_Setup_Response
        
        /**
         * @desc Send S1AP Message ENB CONFIGURATION UPDATE ACKNOWLEDGE
         * @param p_value Send template with IE for ENB CONFIGURATION UPDATE ACKNOWLEDGE
         */
        function f_send_eNB_Configuration_Update_Acknowledge(
                                                             in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_successfulOutcome(m_eNB_Configuration_Update_Acknowledge(p_value))
        } // End of function f_send_eNB_Configuration_Update_Acknowledge
        
garciay's avatar
garciay committed
        /**
         * @desc Send S1AP Message RESET
         * @param p_value Send template with IE for RESET
         */
        function f_send_Reset(
                              in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_reset(p_value))
        } // End of function f_send_Reset
        
garciay's avatar
garciay committed
        /**
         * @desc Send S1AP Message S1 SETUP REQUEST
         * @param p_value Send template with IE for S1 SETUP REQUEST
         */
        function f_send_S1_Setup_Request(
                                         in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_s1_Setup_Request(p_value))
        } // End of function f_send_S1_Setup_Request
        
        /**
         * @desc Send S1AP Message ENB CONFIGURATION UPDATE
         * @param p_value Send template with IE for ENB CONFIGURATION UPDATE 
         */
        function f_send_eNB_Configuration_Update(
                                                 in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_eNB_Configuration_Update(p_value))
        } // End of function f_send_eNB_Configuration_Update
        
        /**
         * @desc Send S1AP Message MME CONFIGURATION UPDATE 
         * @param p_value Send template with IE for MME CONFIGURATION UPDATE
         */
        function f_send_MME_Configuration_Update(
                                                 in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_mME_Configuration_Update(p_value))
        } // End of function f_send_MME_Configuration_Update
        
garciay's avatar
garciay committed
        /**
         * @desc Send S1AP Message TRACE START
         * @param p_value Send template with IE for TRACE START
         */
        function f_send_Trace_Start(
                                    in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_trace_Start(p_value))
        } // End of function f_send_Trace_Start
        
        /**
         * @desc Send S1AP Message DEACTIVATE TRACE 
         * @param p_value Send template with IE for DEACTIVATE TRACE
         */
        function f_send_deactivate_Trace(
                                         in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_deactivate_Trace(p_value))
        } // End of function f_send_deactivate_Trace
        
        /**
         * @desc Send S1AP Message LOCATION REPORTING CONTROL
         * @param p_value Send template with IE for LOCATION REPORTING CONTROL
         */
        function f_send_Location_Reporting_Control(
                                                   in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_location_Reporting_Control(p_value))
        } // End of function f_send_Location_Reporting_Control
        
        /**
         * @desc Send S1AP Message LOCATION REPORT FAILURE INDICATION
         * @param p_value Receive template for LOCATION REPORT FAILURE INDICATION IEs
         */
        function f_send_Location_Report_Failure_Indication(
                                                           template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_location_Report_Failure_Indication(p_value))
        } // End of f_send_Location_Report_Failure_Indication
        
        /**
         * @desc Send S1AP Message WRITE-REPLACE WARNING REQUEST
         * @param p_value Send template with IE for WRITE-REPLACE WARNING REQUEST
         */
        function f_send_Write_Replace_Warning_Request(
                                                      in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_write_Replace_Warning_Request(p_value))
        } // End of function f_send_Write_Replace_Warning_Request
        
        /**
         * @desc Send S1AP Message WRITE-REPLACE WARNING RESPONSE
         * @param p_value Send template with IE for WRITE-REPLACE WARNING RESPONSE
         */
        function f_send_Write_Replace_Warning_Response(
                                                      in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_write_Replace_Warning_Response(p_value))
        } // End of function f_send_Write_Replace_Warning_Response
        
        /**
         * @desc Send S1AP Message KILL REQUEST
         * @param p_value Send template with IE for KILL REQUEST
         */
        function f_send_Kill_Request(
                                     in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_kill_Request(p_value))
        } // End of function f_send_Kill_Request
        
        /**
         * @desc Send S1AP Message KILL REQUEST
         * @param p_value Send template with IE for KILL REQUEST
         */
        function f_send_Kill_Response(
                                     in template (value) RecordOf_ProtocolIE p_value
        ) runs on S1APComponent {
            f_send_S1AP_initiatingMessage(m_kill_Response(p_value))
        } // End of function f_send_Kill_Response
rennoch's avatar
rennoch committed

		/**
		* @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_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

rennoch's avatar
rennoch committed
		/**
		* @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

garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
    } // End of group sendPDU