2039 lines
88 KiB
Plaintext
2039 lines
88 KiB
Plaintext
/**
|
|
* @author ETSI / STF519
|
|
* @version $URL$
|
|
* $Id$
|
|
* @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
|
|
*/
|
|
module LibS1AP_Steps {
|
|
|
|
// LibCommon
|
|
import from LibCommon_Sync all;
|
|
import from LibCommon_VerdictControl all;
|
|
import from LibCommon_BasicTypesAndValues all;
|
|
|
|
// LibS1AP
|
|
import from S1AP_CommonDataTypes language "ASN.1:1997" all;
|
|
import from S1AP_PDU_Descriptions language "ASN.1:1997" all;
|
|
import from S1AP_IEs language "ASN.1:1997" all;
|
|
|
|
import from LibS1AP_TypesAndValues all;
|
|
import from LibS1AP_Interface all;
|
|
import from LibS1AP_Pixits all;
|
|
import from LibS1AP_Templates all;
|
|
|
|
/**
|
|
* @desc Common functions description
|
|
*/
|
|
group commonFunctions {
|
|
|
|
} // End of group commonFunctions
|
|
|
|
/**
|
|
* @desc Receive functions description
|
|
*/
|
|
group receivePDU {
|
|
|
|
/**
|
|
* @desc This is a test step that assign common S1AP
|
|
* @param p_PDU Extract the message payload from the S1AP PDU
|
|
*/
|
|
function f_S1APPDU_Get(
|
|
inout S1AP_PDU p_PDU
|
|
) runs on S1APComponent {
|
|
|
|
vc_recvS1AP_PDU := p_PDU;
|
|
|
|
if (ischosen(p_PDU.initiatingMessage)) {
|
|
// Nothing to do
|
|
}
|
|
if (ischosen(p_PDU.successfulOutcome)) {
|
|
// Nothing to do
|
|
}
|
|
if (ischosen(p_PDU.unsuccessfulOutcome)) {
|
|
// Nothing to do
|
|
}
|
|
} // End of function f_S1APPDU_Get
|
|
|
|
/**
|
|
* @desc Receive S1AP PDU from protocol port
|
|
* @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;
|
|
|
|
tc_wait.start;
|
|
alt {
|
|
[] S1_MMEeNB_P.receive(p_PDU) -> value v_PDU {
|
|
tc_wait.stop;
|
|
f_S1APPDU_Get(v_PDU)
|
|
}
|
|
[] tc_wait.timeout {
|
|
setverdict(inconc,"*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***");
|
|
//Stop the component in case of timeout
|
|
all timer.stop;
|
|
f_componentStop();
|
|
}
|
|
}
|
|
|
|
} // End of function f_recv_S1AP_PDU
|
|
|
|
/**
|
|
* @desc Receive S1AP PDU with InitiatingMessage payload from protocol port
|
|
* @param p_initiatingMessage Receive template for InitiatingMessage message
|
|
*/
|
|
function f_recv_S1AP_initiatingMessage(
|
|
template (present) InitiatingMessage p_initiatingMessage := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_PDU( { initiatingMessage := p_initiatingMessage })
|
|
} // End of function f_recv_S1AP_initiatingMessage
|
|
|
|
/**
|
|
* @desc Receive S1AP PDU with SuccessfulOutcome payload from protocol port
|
|
* @param p_successfulOutcome Receive template for SuccessfulOutcome message
|
|
*/
|
|
function f_recv_S1AP_successfulOutcome(
|
|
template (present) SuccessfulOutcome p_successfulOutcome := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_PDU( {successfulOutcome := p_successfulOutcome})
|
|
} // End of f_recv_S1AP_successfulOutcome
|
|
|
|
/**
|
|
* @desc Receive S1AP PDU with UnsuccessfulOutcome payload from protocol port
|
|
* @param p_unsuccessfulOutcome Receive template for UnsuccessfulOutcome message
|
|
*/
|
|
function f_recv_S1AP_unsuccessfulOutcome(
|
|
template (present) UnsuccessfulOutcome p_unsuccessfulOutcome := ?
|
|
) 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
|
|
|
|
/**
|
|
* @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 := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABSetupResponse(p_value))
|
|
} // End of f_recv_E_RABSetupResponse
|
|
|
|
|
|
/**
|
|
* @desc Receive S1AP Message E_RABReleaseResponse
|
|
* @param p_value Receive template for E_RABReleaseResponse IEs
|
|
*/
|
|
function f_recv_E_RABReleaseResponse(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABReleaseResponseIE(p_value))
|
|
} // End of f_recv_E_RABReleaseResponse
|
|
|
|
/**
|
|
* @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
|
|
|
|
function f_recv_E_RABReleaseIndication(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABReleaseIndication(p_value))
|
|
}
|
|
|
|
function f_recv_E_RABModificationIndication(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABModificationIndication(p_value))
|
|
}
|
|
|
|
|
|
/**
|
|
* @desc Receive S1AP Message E_RABModifiedRequest
|
|
* @param p_value Receive template for E_RABModifiedRequest IEs
|
|
*/
|
|
function f_recv_E_RABModifiedRequest(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABModifiedRequest(p_value))
|
|
} // End of f_recv_E_RABModifiedRequest
|
|
|
|
/**
|
|
* @desc Receive S1AP Message E_RABReleaseCommand
|
|
* @param p_value Receive template for E_RABReleaseCommand IEs
|
|
*/
|
|
function f_recv_E_RABReleaseCommand(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABReleaseCommand(p_value))
|
|
} // End of f_recv_E_RABReleaseCommand
|
|
|
|
/**
|
|
* @desc Receive S1AP Message E_RABModificationConfirm
|
|
* @param p_value Receive template for E_RABModificationConfirm IEs
|
|
*/
|
|
function f_recv_E_RABModificationConfirm(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_E_RABModificationConfirm(p_value))
|
|
} // End of f_recv_E_RABModificationConfirm
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Required
|
|
* @param p_value Receive template for Handover Required IEs
|
|
*/
|
|
function f_recv_HandoverRequired(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_HandoverRequired(p_value))
|
|
} // End of function f_recv_HandoverRequired
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Command
|
|
* @param p_value Receive template for Handover Command IEs
|
|
*/
|
|
function f_recv_HandoverCommand(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_HandoverCommand(p_value))
|
|
} // End of function f_recv_HandoverCommand
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Preparation Failure
|
|
* @param p_value Receive template for Handover Preparation Failure IEs
|
|
*/
|
|
function f_recv_HandoverPreparationFailure(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_unsuccessfulOutcome(mw_HandoverPreparationFailure(p_value))
|
|
} // End of function f_recv_HandoverRequired
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Request
|
|
* @param p_value Receive template for Handover Request IEs
|
|
*/
|
|
function f_recv_HandoverRequest(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_HandoverRequest(p_value))
|
|
} // End of function f_recv_HandoverRequest
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Cancel
|
|
* @param p_value Receive template for Handover Cancel IEs
|
|
*/
|
|
function f_recv_HandoverCancel(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_HandoverCancel(p_value))
|
|
} // End of function f_recv_HandoverCancel
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover CancelAcknowledge
|
|
* @param p_value Receive template for Handover Cancel Acknowledge IEs
|
|
*/
|
|
function f_recv_HandoverCancelAck(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_HandoverCancelAck(p_value))
|
|
} // End of function f_recv_HandoverCancelAck
|
|
|
|
/**
|
|
* @desc Receive S1AP Message MME STATUS TRANSFER
|
|
* @param p_value Receive template for MME_STATUS_TRANSFER IEs
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.5.14 MME STATUS TRANSFER
|
|
*/
|
|
function f_recv_Mme_Status_Transfer(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_Mme_Status_Transfer(p_value))
|
|
} // End of f_recv_Mme_Status_Transfer
|
|
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Notify
|
|
* @param p_value Receive template for Handover Notify IEs
|
|
*/
|
|
function f_recv_HandoverNotify(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_HandoverNotify(p_value))
|
|
} // End of function f_recv_HandoverNotify
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Failure
|
|
* @param p_value Receive template for Handover Failure IEs
|
|
*/
|
|
function f_recv_HandoverFailure(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_unsuccessfulOutcome(mw_HandoverFailure(p_value))
|
|
} // End of function f_recv_HandoverFailure
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Handover Request Acknowlege
|
|
* @param p_value Receive template for Handover Request Acknowlege IEs
|
|
*/
|
|
function f_recv_HandoverRequestAck(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_HandoverRequestAck(p_value))
|
|
} // End of function f_recv_HandoverRequestAck
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Path Switch Request
|
|
* @param p_value Receive template for Path Switch Request IEs
|
|
*/
|
|
function f_recv_PathSwitchRequest(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_PathSwitchRequest(p_value))
|
|
} // End of function f_recv_PathSwitchRequest
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Path Switch Request Acknowledge
|
|
* @param p_value Receive template for Path Switch Request Acknowledge IEs
|
|
*/
|
|
function f_recv_PathSwitchRequestAck(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_PathSwitchRequestAck(p_value))
|
|
} // End of function f_recv_PathSwitchRequestAck
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Path Switch Request Failure
|
|
* @param p_value Receive template for Path Switch Request Failure IEs
|
|
*/
|
|
function f_recv_PathSwitchRequestFailure(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_unsuccessfulOutcome(mw_PathSwitchRequestFailure(p_value))
|
|
}
|
|
|
|
/**
|
|
* @desc Receive S1AP Message eNB Status Transfer
|
|
* @param p_value Receive template for eNB Status Transfer IEs
|
|
*/
|
|
function f_recv_EnbStatusTransfer(in template (present) RecordOf_ProtocolIE p_value :=?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_EnbStatusTransfer(p_value))
|
|
} // End of function f_recv_EnbStatusTransfer
|
|
|
|
/**
|
|
* @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 InitialContext_SetupRequest
|
|
* @param p_value Receive template for InitialContext_SetupRequest IEs
|
|
* @param p_criticality Expected criticality value. Default: reject
|
|
*/
|
|
function f_recv_InitialContext_SetupRequest(
|
|
template (present) RecordOf_ProtocolIE p_value := ?,
|
|
template (present) Criticality p_criticality := reject
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(
|
|
mw_InitialContextSetupRequest(
|
|
p_value,
|
|
p_criticality
|
|
))
|
|
} // End of f_recv_InitialContext_SetupRequest
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @desc Receive S1AP Message S1 SETUP REQUEST
|
|
* @param p_value Receive template for S1 SETUP REQUEST IEs
|
|
*/
|
|
function f_recv_S1_Setup_Request(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) 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
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @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
|
|
* @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
|
|
|
|
/**
|
|
* @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
|
|
* @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
|
|
* @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
|
|
|
|
/**
|
|
* @desc Receive S1AP Message MME CONFIGURATION TRANSFER
|
|
* @param p_value Receive template for MME_CONFIGURATION_TRANSFER IEs
|
|
* @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
|
|
* @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
|
|
* @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
|
|
* @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
|
|
* @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 HandoverRequired 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 {
|
|
f_recv_HandoverCommand(p_value);
|
|
} // End of f_recv_Handover_Required
|
|
|
|
/**
|
|
* @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
|
|
* @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 Release Command
|
|
* @param p_value Receive template for UE CONTEXT RELEASE COMMAND
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.6 UE CONTEXT RELEASE COMMAND
|
|
*/
|
|
function f_recv_UE_Context_Release_Command(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeContextReleaseCommand(p_value))
|
|
} // End of f_recv_UE_Context_Release_Command
|
|
|
|
|
|
/**
|
|
* @desc Receive S1AP Message UE Context Modification Request
|
|
* @param p_value Receive template for UE CONTEXT MODIFICATION REQUEST
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.8 UE CONTEXT MODIFICATION REQUEST
|
|
*/
|
|
function f_recv_UE_Context_Modification_Request(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeContextModificationRequest(p_value))
|
|
} // End of f_recv_UE_Context_Modification_Request
|
|
|
|
|
|
/**
|
|
* @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 Modification Confirm
|
|
* @param p_value Receive template for UE CONTEXT MODIFICATION Indication
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.14 UE CONTEXT MODIFICATION Confirm
|
|
*/
|
|
function f_recv_Ue_Context_Modification_Confirm(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeContextModificationConfirm(p_value))
|
|
} // End of f_recv_Ue_Context_Modification_Confirm
|
|
|
|
/**
|
|
* @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 Context Suspend Response
|
|
* @param p_value Receive template for UE CONTEXT Suspend Request
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.16 UE CONTEXT SUSPEND Response
|
|
*/
|
|
function f_recv_Ue_Context_Suspend_Response(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeContextSuspendResponse(p_value))
|
|
} // End of f_recv_Ue_Context_Suspend_Response
|
|
|
|
/**
|
|
* @desc Receive S1AP Message UE Context Resume Request
|
|
* @param p_value Receive template for UE CONTEXT Resume Request
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.17 UE CONTEXT Resume Request
|
|
*/
|
|
function f_recv_Ue_Context_Resume_Request(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeContextResumeRequest(p_value))
|
|
} // End of f_recv_Ue_Context_Resume_Request
|
|
|
|
/**
|
|
* @desc Receive S1AP Message UE Context Resume Response
|
|
* @param p_value Receive template for UE CONTEXT Resume Request
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.18 UE CONTEXT Resume Response
|
|
*/
|
|
function f_recv_Ue_Context_Resume_Response(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeContextResumeResponse(p_value))
|
|
} // End of f_recv_Ue_Context_Resume_Response
|
|
|
|
/**
|
|
* @desc Receive S1AP Message UE Context Resume Failure
|
|
* @param p_value Receive template for UE CONTEXT Resume Failure
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.19 UE CONTEXT Resume Faiure
|
|
*/
|
|
function f_recv_Ue_Context_Resume_Failure(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_successfulOutcome(mw_UeContextResumeFailure(p_value))
|
|
} // End of f_recv_Ue_Context_Resume_Failure
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @desc Receive S1AP Message UE RADIO_CAPABILITY_MATCH_REQUEST
|
|
* @param p_value Receive template for UE_RADIO_CAPABILITY_MATCH_REQUEST
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.11 UE_RADIO_CAPABILITY_MATCH_REQUEST
|
|
*/
|
|
function f_recv_UeRadioCapabilityMatchRequest(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_UeRadioCapabilityMatchRequest(p_value))
|
|
} // End of f_recv_UeRadioCapabilityMatchRequest
|
|
|
|
/**
|
|
* @desc Receive S1AP Message Connection Establishment Indication
|
|
* @param p_value Receive template for Connection Establishment Indication
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.20 Connection Establishment Indication
|
|
*/
|
|
function f_recv_Connection_Establishment_Indication(
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
) runs on S1APComponent {
|
|
f_recv_S1AP_initiatingMessage(mw_ConnectionEstablishmentIndication(p_value))
|
|
} // End of f_recv_Connection_Establishment_Indication
|
|
|
|
} // End of group receivePDU
|
|
|
|
/**
|
|
* @desc Send functions description
|
|
*/
|
|
group sendPDU {
|
|
|
|
/**
|
|
* @desc This is a test step that assign common S1AP
|
|
* @param p_PDU The S1AP protocol message to set up
|
|
*/
|
|
function f_S1APPDU_Set(
|
|
inout template (value) S1AP_PDU p_PDU
|
|
) runs on S1APComponent {
|
|
|
|
if (ischosen(p_PDU.initiatingMessage)) {
|
|
vc_sendS1AP_PDU:=valueof(p_PDU);
|
|
}
|
|
if (ischosen(p_PDU.successfulOutcome)) {
|
|
vc_sendS1AP_PDU:=valueof(p_PDU);
|
|
}
|
|
if (ischosen(p_PDU.unsuccessfulOutcome)) {
|
|
vc_sendS1AP_PDU:=valueof(p_PDU);
|
|
}
|
|
|
|
} // End of function f_S1APPDU_Set
|
|
|
|
/**
|
|
* @desc Send S1AP PDU to protocol port
|
|
* @param p_PDU template value message to be send
|
|
*/
|
|
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);
|
|
} // End of function f_send_S1APPDU
|
|
|
|
/**
|
|
* @desc Send S1AP PDU with InitiatingMessage payload from protocol port
|
|
* @param p_initiatingMessage Send value template for InitiatingMessage message
|
|
*/
|
|
function f_send_S1AP_initiatingMessage(
|
|
in template (value) InitiatingMessage p_initiatingMessage,
|
|
in template (value) Criticality p_criticality := reject
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_PDU( {initiatingMessage := p_initiatingMessage})
|
|
} // End of function f_send_S1AP_initiatingMessage
|
|
|
|
/**
|
|
* @desc Send S1AP PDU with SuccessfulOutcome payload from protocol port
|
|
* @param p_successfulOutcome Send value template for SuccessfulOutcome message
|
|
*/
|
|
function f_send_S1AP_successfulOutcome(
|
|
in template (value) SuccessfulOutcome p_successfulOutcome
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_PDU( {successfulOutcome := p_successfulOutcome})
|
|
} // End of function f_send_S1AP_successfulOutcome
|
|
|
|
/**
|
|
* @desc Send S1AP PDU with UnsuccessfulOutcome payload from protocol port
|
|
* @param p_unsuccessfulOutcome Send value template for UnsuccessfulOutcome message
|
|
*/
|
|
function f_send_S1AP_unsuccessfulOutcome(
|
|
in template (value) UnsuccessfulOutcome p_unsuccessfulOutcome
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome})
|
|
} // End of function f_send_S1AP_unsuccessfulOutcome
|
|
|
|
/**
|
|
* @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_SetupResponse
|
|
* @param p_value Send template with IE for E-RAB_SetupResponse
|
|
*/
|
|
function f_send_E_RABSetupResponse(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_E_RABSetupResponse(p_value))
|
|
} // End of function f_send_E_RABSetupResponse
|
|
|
|
/**
|
|
* @desc Send S1AP Message E-RAB_ReleaseRequest
|
|
* @param p_value Send template with IE for E-RAB_ReleaseRequest
|
|
*/
|
|
function f_send_E_RABReleaseRequest(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_E_RABReleaseRequest(p_value))
|
|
} // End of function f_send_E_RABReleaseRequest
|
|
|
|
/**
|
|
* @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_RABModifiedRequest
|
|
|
|
/**
|
|
* @desc Send S1AP Message E-RAB_ModifiedInd
|
|
* @param p_value Send template with IE for E-RAB_ModifiedInd
|
|
*/
|
|
function f_send_E_RABModifiedInd(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_E_RABModifiedInd(p_value))
|
|
} // End of function f_send_E_RABModifiedInd
|
|
|
|
/**
|
|
* @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,
|
|
in template (value) Criticality p_criticality := reject
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(
|
|
m_InitialContextSetupRequest(
|
|
p_value,
|
|
p_criticality
|
|
))
|
|
} // End of function f_send_InitialContext_SetupRequest
|
|
|
|
/**
|
|
* @desc Send S1AP Message f_send_HandoverRequired
|
|
* @param p_value Send template with IE for HandoverRequest
|
|
*/
|
|
function f_send_HandoverRequired(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_HandoverRequired(p_value))
|
|
} // End of function f_send_HandoverRequest
|
|
|
|
/**
|
|
* @desc Send S1AP Message f_send_HandoverRequest
|
|
* @param p_value Send template with IE for HandoverRequest
|
|
*/
|
|
function f_send_HandoverRequest(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_HandoverRequest(p_value))
|
|
} // End of function f_send_HandoverRequest
|
|
|
|
/**
|
|
* @desc Send S1AP Message f_send_HandoverRequestAcknowledge
|
|
* @param p_value Send template with IE for HandoverRequestAcknowledge
|
|
*/
|
|
function f_send_HandoverRequestAcknowledge(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_successfulOutcome(m_HandoverRequestAcknowledge(p_value))
|
|
} // End of function f_send_HandoverRequestAcknowledge
|
|
|
|
/**
|
|
* @desc Send S1AP Message f_send_HandoverCancel
|
|
* @param p_value Send template with IE for HandoverCancel
|
|
*/
|
|
function f_send_HandoverCancel(in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_HandoverCancel(p_value))
|
|
} // End of function f_send_HandoverCancel
|
|
|
|
/**
|
|
* @desc Send S1AP Message Handover Cancel Acknowledge
|
|
* @param p_value Send template with IE for Handover Cancel Acknowledge
|
|
*/
|
|
function f_send_HandoverCancelAcknowledge(
|
|
in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_successfulOutcome(m_HandoverCancelAck(p_value))
|
|
} // End of function f_send_HandoverCancelAcknowledge
|
|
|
|
/**
|
|
* @desc Send S1AP Message ENB STATUS TRANSFER
|
|
* @param p_value Send template with IE for ENB STATUS TRANSFER
|
|
*/
|
|
function f_send_eNB_Status_Transfer(
|
|
in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_eNB_Status_Transfer(p_value))
|
|
} // End of function f_send_eNB_Status_Transfer
|
|
|
|
/**
|
|
* @desc Send S1AP Message Handover Command
|
|
* @param p_value Send template with IE for Handover Command
|
|
*/
|
|
function f_send_HandoverCommand(
|
|
in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_successfulOutcome(m_HandoverCommand(p_value))
|
|
} // End of function f_send_HandoverCommand
|
|
|
|
/**
|
|
* @desc Send S1AP Message Path Switch Request
|
|
* @param p_value Send template with IE for Path Switch Request
|
|
*/
|
|
function f_send_PathSwitchRequest(
|
|
in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_PathSwitchRequest(p_value))
|
|
} // End of function f_send_PathSwitchRequestAcknowledge
|
|
|
|
/**
|
|
* @desc Send S1AP Message Path Switch Request Acknowledge
|
|
* @param p_value Send template with IE for Path Switch Request Acknowledge
|
|
*/
|
|
function f_send_PathSwitchRequestAcknowledge(
|
|
in template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_successfulOutcome(m_PathSwitchRequestAck(p_value))
|
|
} // End of function f_send_PathSwitchRequestAcknowledge
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @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
|
|
|
|
/**
|
|
* @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 Release Complete
|
|
* @param p_value Send 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_send_UE_Context_Release_Complete(
|
|
template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_UeContextReleaseComplete(p_value))
|
|
} // End of f_send_UE_Context_Release_Command
|
|
|
|
/**
|
|
* @desc Send 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_send_UE_Context_Release_Request(
|
|
template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_UeContextReleaseRequest(p_value))
|
|
} // End of f_send_UE_Context_Release_Request
|
|
|
|
/**
|
|
* @desc Send 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_send_UE_Context_Suspend_Request(
|
|
template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_UeContextSuspendRequest(p_value))
|
|
} // End of f_send_UE_Context_Suspend_Request
|
|
|
|
/**
|
|
* @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
|
|
|
|
|
|
/**
|
|
* @desc Send S1AP Message UE Context Modification Indication
|
|
* @param p_value Send 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_send_UE_Context_Modification_Indication(
|
|
template (value) RecordOf_ProtocolIE p_value
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(m_UeContextModificationIndication(p_value))
|
|
} // End of f_send_UE_Context_Modification_Request
|
|
|
|
/**
|
|
* @desc Send S1AP Message UE Context Resume Request
|
|
* @param p_value Send template for UE CONTEXT RESUME REQUEST
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 9.1.4.17 UE CONTEXT RESUME REQUEST
|
|
*/
|
|
function f_send_Ue_Context_Resume_Request(
|
|
in template (value) RecordOf_ProtocolIE p_value,
|
|
in template (value) Criticality p_criticality := reject
|
|
) runs on S1APComponent {
|
|
f_send_S1AP_initiatingMessage(
|
|
m_UeContextResumeRequest(
|
|
p_value,
|
|
p_criticality
|
|
)
|
|
)
|
|
} // 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
|
|
|
|
/**
|
|
* @desc Setup full procedure functions
|
|
* @see ETSI TS 136 413 V13.4.0 Clause 8.1 List of S1AP Elementary procedures
|
|
*/
|
|
group fullProcedures {
|
|
|
|
/**
|
|
* @desc Setup a full E-RAB Setup procedure
|
|
*/
|
|
function f_rABSetupRequest() runs on S1APComponent {
|
|
f_send_E_RABSetupRequest(m_E_RABSetupReqIEs(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
{
|
|
m_E_RABToBeSetupItemBearerSUReq(1),
|
|
m_E_RABToBeSetupItemBearerSUReq(
|
|
2,
|
|
m_e_RABlevelQoSParameters
|
|
(255)
|
|
)
|
|
}
|
|
));
|
|
f_recv_E_RABSetupResponse(mw_E_RABSetupResIEs_FailedToSetupList_E_RABSetupItemBearerSURes(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
{
|
|
mw_E_RABSetupItemBearerSURes(1)
|
|
},
|
|
{
|
|
mw_E_RABItem(
|
|
2,
|
|
{
|
|
radioNetwork :=not_supported_QCI_value
|
|
}
|
|
)
|
|
}
|
|
));
|
|
} // End of function f_rABSetupRequest
|
|
|
|
/**
|
|
* @desc Setup an initial Context E-RAB Setup procedure
|
|
*/
|
|
function f_rABInitialContextSetup(
|
|
in template (value) RecordOf_E_RABToBeSetupItemCtxtSUReq p_RecordOf_E_RABToBeSetupItemCtxt_value
|
|
) runs on S1APComponent {
|
|
f_send_InitialContext_SetupRequest(m_InitialContextSetupReqIEs(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
m_UEAggregateMaximumBitrate(1,1),
|
|
p_RecordOf_E_RABToBeSetupItemCtxt_value,
|
|
m_UESecurityCapabilities(PX_ENCRYPTION_ALGORITHM,
|
|
PX_INTEGRITY_PROTECTION_ALGORITHM),
|
|
m_securityKey
|
|
));
|
|
|
|
f_recv_InitialContext_SetupResponse(mw_InitialContextSetupResIEs(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
{
|
|
mw_E_RABSetupItemBearerSURes
|
|
}
|
|
));
|
|
} // End of function f_rABInitialContextSetup
|
|
|
|
|
|
/**
|
|
* @desc Setup a full E-RAB Release procedure
|
|
*/
|
|
function f_rABSetupRelease() runs on S1APComponent {
|
|
// Local variables
|
|
const E_RAB_ID c_E_RAB_ID_A := 0;
|
|
|
|
f_send_E_RABReleaseRequest(m_E_RABReleaseReqIEs(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
{
|
|
m_E_RABItem(
|
|
c_E_RAB_ID_A,
|
|
m_cause_ran(user_inactivity)
|
|
)
|
|
}
|
|
));
|
|
|
|
f_recv_E_RABReleaseResponse(mw_E_RABReleaseResIEs(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
{
|
|
mw_E_RABItem(
|
|
c_E_RAB_ID_A
|
|
)
|
|
}
|
|
));
|
|
} // End of function f_rABSetupRelease
|
|
|
|
/**
|
|
* @desc Initiate an Handover procedure
|
|
*/
|
|
function f_initiate_handover() runs on S1APComponent {
|
|
// Local variables
|
|
const Source_ToTarget_TransparentContainer c_source_ToTarget_TransparentContainer := '12121212'O;
|
|
|
|
f_send_HandoverRequest(
|
|
m_HandoverReqIEs(
|
|
vc_MME_UE_ID,
|
|
intralte, // Handover Type
|
|
m_cause_ran(
|
|
successful_handover
|
|
), // Cause
|
|
m_UEAggregateMaximumBitrate(1,1), // UE Aggregate_Max_Bit_Rate
|
|
{
|
|
m_E_RABToBeSetupItemHOReq (
|
|
-,
|
|
-,
|
|
-,
|
|
m_e_RABlevelQoSParameters (5)
|
|
)
|
|
}, // E_RabsToBeSetupList
|
|
c_source_ToTarget_TransparentContainer, // SourceToTargetTransparentContainer
|
|
m_UESecurityCapabilities(
|
|
PX_ENCRYPTION_ALGORITHM,
|
|
PX_INTEGRITY_PROTECTION_ALGORITHM
|
|
), // UeSecurityCapabilities
|
|
m_securityContext // SecurityContext
|
|
));
|
|
} // End of function f_initiate_handover
|
|
|
|
/**
|
|
* @desc Initiate a Trace Start procedure
|
|
*/
|
|
function f_initiate_traceStart() runs on S1APComponent {
|
|
f_send_Trace_Start(
|
|
m_trace_StartIEs(
|
|
m_traceActivation(
|
|
PX_EUTRAN_TRACE_ID,
|
|
PX_INTERFACES_TO_TRACE,
|
|
PX_TRACE_DEPTH,
|
|
PX_TRANSPORT_LAYER_ADDRESS
|
|
)));
|
|
} // End of function f_initiate_traceStart
|
|
|
|
/**
|
|
* @desc Initiate a Deactivate Trace procedure
|
|
*/
|
|
function f_initiate_deactivateTrace() runs on S1APComponent {
|
|
f_send_deactivate_Trace(
|
|
m_deactivate_TraceIEs(
|
|
vc_MME_UE_ID,
|
|
vc_eNB_UE_ID,
|
|
PX_EUTRAN_TRACE_ID
|
|
));
|
|
} // End of function f_initiate_deactivateTrace
|
|
|
|
/**
|
|
* @desc Initiate a an Write-Replace Warning Request procedure
|
|
*/
|
|
function f_writeReplaceWarningExchanges() runs on S1APComponent {
|
|
if (fx_MME_Write_Replace_Warning_procedure() == true) {
|
|
f_recv_Write_Replace_Warning_Request(
|
|
mw_write_Replace_Warning_RequestIEs(
|
|
PX_MESSAGE_IDENTIFIER,
|
|
PX_SERIAL_NUMBER,
|
|
PX_REPETITION_PERIOD,
|
|
PX_NUMBER_OF_BROADCASTS_REQUESTED
|
|
));
|
|
f_send_Write_Replace_Warning_Response(
|
|
m_write_Replace_Warning_ResponseIEs(
|
|
PX_MESSAGE_IDENTIFIER,
|
|
PX_SERIAL_NUMBER
|
|
));
|
|
f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
|
|
}
|
|
} // End of function f_writeReplaceWarningExchanges
|
|
|
|
} // End of group fullProcedures
|
|
|
|
group externalFunctions {
|
|
|
|
group eNBRole {
|
|
|
|
/**
|
|
* @desc Trigger a Handover preparation procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Handover_preparation_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Handover notification procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Handover_notification_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Path switch request procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Path_switch_request_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an INITIAL UE MESSAGE procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Initiate_NAS_transport_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an INITIAL UE MESSAGE procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_NAS_transport_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an S1 SETUP procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_S1_Setup_Request_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an eNB Configuration Update procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Configuration_Update_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an an Overload Start procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Overload_Start_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an an Overload Stop procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Overload_Stop_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an Error Indication procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Error_Indication_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a RESET procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Reset_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a CDMA2000 to be forwarded procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Uplink_S1_CDMA2000_Tunnelling_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a UE CAPABILITY INFO INDICATION procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_UE_Capability_Info_Indication_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Force the UE to be registered to a new cell
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_move_UE_to_new_cell() return boolean;
|
|
|
|
/**
|
|
* @desc Check htat UE stop reporting at change of serving cell
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_check_UE_stops_reporting() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a PWS Restart Indication procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_PWS_Restart_Indication_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a PWS Failure Indication procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_PWS_Failure_Indication_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an ENB direct information Transfer procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Direct_Information_Transfer_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an ENB Configuration Transfer procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_Configuration_Transfer_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a LPPa Transport procedure using a UE associated signalling on eNodeB
|
|
* @param p_associated_signalling_mode Set to true for an associated signalling mode, false otherwise
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_LPPa_Transport_procedure_ind(
|
|
in boolean p_associated_signalling_mode
|
|
) return boolean;
|
|
|
|
} // End of group eNBRole
|
|
|
|
group mmeRole {
|
|
|
|
/**
|
|
* @desc Trigger a Handover preparation procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Handover_preparation_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Handover notification procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Handover_notification_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a PAGING event
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Paging_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a DOWNLINK NAS TRANSPORT event
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Downlink_NAS_Transport_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a REROUTE NAS REQUEST event
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Reroute_NAS_Request_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a RESET event
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Reset_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an ERROR INDICATION event
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Error_Indication_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a CDMA2000 signalling event
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Downlink_S1_CDMA2000_Tunnelling_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Trace Start procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Trace_Start_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Deactivate Trace procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Deactivate_Trace_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Location Reporting Control procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Location_Reporting_Control_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Write-Replace Warning procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Write_Replace_Warning_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a Kill procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Kill_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an MME Direct Information Transfer procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Direct_Information_Transfer_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger an MME Configuration Transfer procedure
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_Configuration_Transfer_procedure() return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a LPPa Transport procedure using a UE associated signalling on MME
|
|
* @param p_associated_signalling_mode Set to true for an associated signalling mode, false otherwise
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_MME_LPPa_Transport_procedure_ind(
|
|
in boolean p_associated_signalling_mode
|
|
) return boolean;
|
|
|
|
/**
|
|
* @desc Trigger a E-RAB Release procedure
|
|
* @param
|
|
* @return true on success, false otherwise
|
|
*/
|
|
external function fx_eNB_erab_Release_indication_procedure() return boolean;
|
|
|
|
external function fx_eNB_erab_modification_indication_procedure () return boolean;
|
|
|
|
} // End of group mmeRole
|
|
|
|
} // End of group externalFunctions
|
|
|
|
group preambles {
|
|
|
|
group preamble_S1AP{
|
|
|
|
/**
|
|
* @desc
|
|
* @verdict
|
|
*/
|
|
function f_preambleS1AP_MME()
|
|
runs on S1APComponent {
|
|
// Nothing to do
|
|
} // End of function f_preambleS1AP_MME
|
|
|
|
/**
|
|
* @desc
|
|
* @verdict
|
|
*/
|
|
function f_preambleS1AP_eNB()
|
|
runs on S1APComponent {
|
|
// Nothing to do
|
|
} // End of function f_preambleS1AP_eNB
|
|
|
|
} // End of group preamble_S1AP
|
|
|
|
} // End of group preambles
|
|
|
|
group postambles {
|
|
|
|
group postamble_S1AP{
|
|
|
|
/**
|
|
* @desc
|
|
* @verdict
|
|
*/
|
|
function f_postambleS1AP_eNB()
|
|
runs on S1APComponent {
|
|
// Nothing to do
|
|
} // End of function f_postambleS1AP_eNB
|
|
|
|
} // End of group postamble_S1AP
|
|
|
|
} // End of group postambles
|
|
|
|
/**
|
|
* @desc Global 'altstep' statements description
|
|
*/
|
|
group globalSteps {
|
|
|
|
/**
|
|
* @desc This is a test step that init S1AP component
|
|
*/
|
|
function f_S1AP_Init_Component()
|
|
runs on S1APComponent {
|
|
// Nothing to do
|
|
} // End of function f_S1AP_Init_Component
|
|
|
|
/**
|
|
* @desc Component termination
|
|
*/
|
|
function f_S1AP_terminate_component()
|
|
runs on S1APComponent {
|
|
|
|
log("component terminated - forced!");
|
|
deactivate;
|
|
stop;
|
|
} // End of function f_S1AP_terminate_component
|
|
|
|
/**
|
|
* @desc Component termination
|
|
*/
|
|
function f_componentStop()
|
|
runs on S1APComponent {
|
|
|
|
syncPort.send(m_syncClientStop);
|
|
S1_MMEeNB_P.clear;
|
|
stop;
|
|
} // End of function f_componentStop
|
|
|
|
/**
|
|
* @desc Original copied from older LibCommon_VerdictControl
|
|
*/
|
|
function f_getVerdict() // FIXME Are you sure we really need it???
|
|
return FncRetCode {
|
|
|
|
var FncRetCode v_ret := e_error;
|
|
if (getverdict == pass or getverdict == none) {
|
|
v_ret := e_success;
|
|
}
|
|
return v_ret;
|
|
} // End of function
|
|
|
|
} // End of group globalSteps
|
|
|
|
/**
|
|
* @desc Default 'altstep' statements description
|
|
*/
|
|
group defaultsTestStep {
|
|
|
|
/**
|
|
* @desc
|
|
* @verdict
|
|
*/
|
|
altstep a_defaultS1AP()
|
|
runs on S1APComponent {
|
|
[] any timer.timeout {
|
|
all timer.stop;
|
|
if (vc_serverStop==false) {
|
|
f_selfOrClientSyncAndVerdict("error", e_timeout);
|
|
}
|
|
else {
|
|
stop;
|
|
}
|
|
}
|
|
[] S1_MMEeNB_P.receive (S1AP_PDU:{initiatingMessage := ?}) -> value vc_recvS1AP_PDUDefault {
|
|
repeat;
|
|
}
|
|
[] S1_MMEeNB_P.receive (S1AP_PDU:{successfulOutcome := ?}) -> value vc_recvS1AP_PDUDefault {
|
|
repeat;
|
|
}
|
|
[] S1_MMEeNB_P.receive (S1AP_PDU:{unsuccessfulOutcome := ?}) -> value vc_recvS1AP_PDUDefault {
|
|
repeat;
|
|
}
|
|
[] S1_MMEeNB_P.receive (S1AP_PDU:?) -> value vc_recvS1AP_PDUDefault {
|
|
if (vc_serverStop==false) {
|
|
f_selfOrClientSyncAndVerdict("error", e_error);
|
|
}
|
|
else {
|
|
stop;
|
|
}
|
|
}
|
|
[] S1_MMEeNB_P.receive {
|
|
if (vc_serverStop==false) {
|
|
f_selfOrClientSyncAndVerdict("error", e_error);
|
|
}
|
|
else {
|
|
stop;
|
|
}
|
|
}
|
|
[] a_shutdown() {
|
|
// Process temination on error
|
|
log("*** a_defaultS1AP() : Process temination on error ***");
|
|
// Terminate component execution
|
|
stop;
|
|
}
|
|
} // End of altstep a_defaultS1AP
|
|
|
|
altstep a_defaultS1AP_MME()
|
|
runs on S1APComponent {
|
|
[] any timer.timeout {
|
|
all timer.stop;
|
|
if (vc_serverStop==false) {
|
|
f_selfOrClientSyncAndVerdict("error", e_timeout);
|
|
}
|
|
else {
|
|
stop;
|
|
}
|
|
}
|
|
// Note: possible unscollicited messages should be filtered
|
|
} // End of altstep a_defaultS1AP_MME
|
|
|
|
altstep a_defaultS1AP_eNB()
|
|
runs on S1APComponent {
|
|
[] any timer.timeout {
|
|
all timer.stop;
|
|
if (vc_serverStop==false) {
|
|
f_selfOrClientSyncAndVerdict("error", e_timeout);
|
|
}
|
|
else {
|
|
stop;
|
|
}
|
|
}
|
|
// Note: possible unscollicited messages should be filtered
|
|
} // End of altstep a_defaultS1AP_eNB
|
|
|
|
} // End of group defaultsTestStep
|
|
|
|
} // End of module LibS1AP_Steps
|