Newer
Older
*/
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);
}
vc_sendS1AP_PDU:=valueof(p_PDU);
}
vc_sendS1AP_PDU:=valueof(p_PDU);
}
* @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);
* @desc Send S1AP PDU with InitiatingMessage payload from protocol port
* @param p_initiatingMessage Send value template for InitiatingMessage message
in template (value) InitiatingMessage p_initiatingMessage,
in template (value) Criticality p_criticality := reject
f_send_S1AP_PDU( {initiatingMessage := p_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
f_send_S1AP_PDU( {successfulOutcome := p_successfulOutcome})
* @desc Send S1AP PDU with UnsuccessfulOutcome payload from protocol port
* @param p_unsuccessfulOutcome Send value template for UnsuccessfulOutcome message
in template (value) UnsuccessfulOutcome p_unsuccessfulOutcome
) runs on S1APComponent {
f_send_S1AP_PDU( {unsuccessfulOutcome := p_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
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
* @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
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
/**
* @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
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
/**
* @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
/**
* @desc Send S1AP Message UPLINK NAS TRANSPORT
* @param p value Send template for UPLINK NAS TRANSPORT IEs
*/
function f_send_Uplink_NAS_Transport(
template (value) RecordOf_ProtocolIE p_value
) runs on S1APComponent {
f_send_S1AP_initiatingMessage(m_uplink_nAS_Transport(p_value))
} // End of f_send_Uplink_NAS_Transport
/**
* @desc Send S1AP Message INITIAL UE MESSAGE
* @param p_value Receive template for INITIAL UE MESSAGE IEs
*/
function f_send_Initial_UE_Message(
template (value) RecordOf_ProtocolIE p_value
) runs on S1APComponent {
f_send_S1AP_initiatingMessage(m_initial_uE_Message(p_value))
} // End of f_send_Initial_UE_Message
/**
* @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_recvResponse() runs on S1APComponent {
f_send_E_RABSetupRequest(m_E_RABSetupReqIEs(
vc_MME_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,
{
mw_E_RABSetupItemBearerSURes(1)
},
{
mw_E_RABItem(
2,
{
radioNetwork :=not_supported_QCI_value
}
)
}
));
} // End of function f_rABSetupRequest_recvResponse
/**
* @desc Setup a full E-RAB Setup procedure
*/
function f_rABSetupRequest_sendResponse() runs on S1APComponent {
f_recv_E_RABSetupRequest(mw_E_RABSetupReqIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{ mw_E_RABToBeSetupItemBearerSUReq(?,?,?,?,?) }
));
f_send_E_RABSetupResponse(m_E_RABSetupResIEs(
vc_MME_UE_ID,
vc_eNB_UE_ID,
{m_E_RABSetupItemBearerSURes}
));
} // End of function f_rABSetupRequest_sendResponse
/**
* @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,
)
}
));
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 {
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
// 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 group fullProcedures
group externalFunctions {
/**
* @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;
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
/**
* @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;
/**
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
* @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
* @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 externalFunctions
function f_preambleS1AP_MME()
runs on S1APComponent {
function f_preambleS1AP_eNB()
runs on S1APComponent {
} // End of function f_preambleS1AP_eNB
} // End of group preamble_S1AP
function f_postambleS1AP_eNB()
runs on S1APComponent {
pintar
committed
/**
* @desc
* @verdict
*/
function f_postambleS1AP_MME()
runs on S1APComponent {
// Nothing to do
} // End of function f_postambleS1AP_MME
} // 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 {
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
} // 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