2017-01-13 10:16:04 +00:00
|
|
|
/**
|
2017-01-16 09:24:51 +00:00
|
|
|
* @author ETSI / STF519
|
|
|
|
* @version $URL:$
|
|
|
|
* $Id:$
|
|
|
|
* @desc This module provides Lib S1AP Templates used by the test component for S1AP tests.
|
|
|
|
* @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
|
2017-01-13 10:16:04 +00:00
|
|
|
*/
|
2017-01-16 09:24:51 +00:00
|
|
|
module LibS1AP_Templates {
|
2017-01-13 10:16:04 +00:00
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
// LibS1AP
|
|
|
|
import from S1AP_Constants language "ASN.1:1997" all;
|
|
|
|
import from S1AP_CommonDataTypes language "ASN.1:1997" all;
|
|
|
|
// import from S1AP_Containers language "ASN.1:1997" all;
|
|
|
|
import from S1AP_IEs language "ASN.1:1997" all;
|
|
|
|
import from S1AP_PDU_Contents language "ASN.1:1997" all;
|
|
|
|
import from S1AP_PDU_Descriptions language "ASN.1:1997" all;
|
2017-01-13 10:16:04 +00:00
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
import from LibS1AP_TypesAndValues all;
|
|
|
|
|
|
|
|
group g_S1AP {
|
|
|
|
|
|
|
|
group g_S1AP_PDU {
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Send template for S1AP PDU with InitiatingMessage payload
|
|
|
|
* @param p_procedureCode Procedure code
|
|
|
|
* @param p_value Message value according to the Procedure code
|
|
|
|
* @see ETSI TS 136 413 Clause 9.1 Message Functional Definition and Content
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (value) S1AP_PDU m_initiatingMessage(
|
|
|
|
in ProcedureCode p_procedureCode,
|
|
|
|
in anytype p_value
|
|
|
|
):= {
|
|
|
|
initiatingMessage := {
|
|
|
|
procedureCode := p_procedureCode,
|
|
|
|
criticality := reject,
|
|
|
|
value_ := p_value
|
|
|
|
}
|
|
|
|
} // End of template m_initiatingMessage
|
|
|
|
|
|
|
|
} // End of group g_S1AP_PDU
|
|
|
|
|
2017-01-18 11:32:36 +00:00
|
|
|
group class1 {
|
2017-01-16 09:24:51 +00:00
|
|
|
|
2017-01-18 11:32:36 +00:00
|
|
|
group sendClass1 {
|
2017-01-16 09:24:51 +00:00
|
|
|
|
|
|
|
group HandoverPreparation {
|
|
|
|
|
|
|
|
group initiatingMessage {
|
|
|
|
} // End of group initiatingMessage
|
|
|
|
|
|
|
|
group successfulOutcome {
|
|
|
|
} // End of group successfulOutcome
|
|
|
|
|
|
|
|
group unsuccessfulOutcome {
|
|
|
|
} // End of group unsuccessfulOutcome
|
|
|
|
|
|
|
|
} // End of group HandoverPreparation
|
|
|
|
|
|
|
|
group HandoverResourceAllocation {
|
|
|
|
|
|
|
|
}// End of group HandoverResourceAllocation
|
|
|
|
|
|
|
|
group ERABSetup{
|
|
|
|
|
2017-01-18 11:32:36 +00:00
|
|
|
/**
|
|
|
|
* @desc Send template for InitiatingMessage message with E-RABSetup payload
|
|
|
|
* @param p_value Expected procedure code
|
|
|
|
*/
|
2017-01-16 09:24:51 +00:00
|
|
|
template (value) InitiatingMessage m_initiatingMessage_E_RABSetup(
|
|
|
|
in template (value) RecordOf_ProtocolIE p_value) := {
|
|
|
|
procedureCode := id_E_RABSetup,
|
|
|
|
criticality := reject,
|
|
|
|
value_ := {RecordOf_ProtocolIE := valueof(p_value)}
|
|
|
|
} // End of template m_initiatingMessage_E_RABSetup
|
|
|
|
|
|
|
|
}// End of group ERABSetup
|
|
|
|
|
|
|
|
//TODO: Other....
|
2017-01-18 11:32:36 +00:00
|
|
|
|
|
|
|
} // End of group sendClass1
|
2017-01-16 09:24:51 +00:00
|
|
|
|
2017-01-18 11:32:36 +00:00
|
|
|
group receiveClass1 {
|
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
group HandoverPreparation{
|
2017-01-18 11:32:36 +00:00
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
}// End of group HandoverPreparation
|
2017-01-18 11:32:36 +00:00
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
group HandoverResourceAllocation{
|
2017-01-18 11:32:36 +00:00
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
}// End of group HandoverResourceAllocation
|
|
|
|
|
|
|
|
group ERABSetup{
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Receive template for SuccessfulOutcome message
|
|
|
|
* @param p_procedureCode Expected procedure code. Default: ?
|
|
|
|
* @param p_value Expected procedure code. Default: ?
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (present) SuccessfulOutcome mw_successfulOutcome_E_RABSetupResponse(
|
|
|
|
template (present) ProcedureCode p_procedureCode := ?,
|
|
|
|
template (present) RecordOf_ProtocolIE p_value := ?
|
|
|
|
) := {
|
|
|
|
procedureCode := p_procedureCode,
|
|
|
|
criticality := reject,
|
|
|
|
value_ := {RecordOf_ProtocolIE := p_value}
|
|
|
|
} // End of template mw_successfulOutcome_E_RABSetupResponse
|
|
|
|
|
|
|
|
} // End of group ERABSetup
|
|
|
|
|
|
|
|
//TODO: Other....
|
|
|
|
|
2017-01-18 11:32:36 +00:00
|
|
|
} // End of group receiveClass1
|
2017-01-16 09:24:51 +00:00
|
|
|
|
2017-01-18 11:32:36 +00:00
|
|
|
} // End of group class1
|
2017-01-16 09:24:51 +00:00
|
|
|
|
|
|
|
group Class2{
|
|
|
|
|
|
|
|
} //End of group Class2
|
|
|
|
|
|
|
|
} // End of group g_S1AP
|
|
|
|
|
|
|
|
group S1AP_Protocol_IEs {
|
|
|
|
|
|
|
|
group Send_IEs {
|
|
|
|
|
|
|
|
group E_RAB_IEsend {
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Send template for MME UE S1AP ID protocol IE
|
|
|
|
* @param p_value MME/UE S1AP identifier. Default: 1
|
|
|
|
* @see ETSI TS 136 413 Clause 9.2.3.3 MME UE S1AP ID
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (value) ProtocolIE m_E_RAB_IE_MME(
|
|
|
|
in template (value) MME_UE_S1AP_ID p_value := 1
|
|
|
|
):= {
|
|
|
|
id := S1AP_Constants.id_MME_UE_S1AP_ID,
|
|
|
|
criticality := reject,
|
|
|
|
value_ := { MME_UE_S1AP_ID := valueof(p_value) }
|
|
|
|
} // End of template m_E_RAB_IE_MME
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Send template for ENB ID protocol IE
|
|
|
|
* @param p_value ENB identifier. Default: 1
|
|
|
|
* @see ETSI TS 136 413 Clause 9.2.3.4 eNB UE S1AP ID
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (value) ProtocolIE m_E_RAB_IE_ENB(
|
|
|
|
in ENB_UE_S1AP_ID p_value := 1
|
|
|
|
):= {
|
|
|
|
id := S1AP_Constants.id_eNB_UE_S1AP_ID,
|
|
|
|
criticality := reject,
|
|
|
|
value_ := { ENB_UE_S1AP_ID := p_value }
|
|
|
|
} // End of template m_E_RAB_IE_ENB
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Send template for E-RABToBeSetupListBearerSUReq protocol IE
|
|
|
|
* @param p_value Protocol IE value. Default: m_E_RABToBeSetupItemBearerSUReq
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (value) ProtocolIE m_E_RAB_IE_ERAB(
|
|
|
|
in template (value) RecordOf_E_RABToBeSetupItemBearerSUReq p_value := { m_E_RABToBeSetupItemBearerSUReq }
|
|
|
|
):= {
|
|
|
|
id := S1AP_Constants.id_E_RABToBeSetupListBearerSUReq,
|
|
|
|
criticality := reject,
|
|
|
|
value_ := { RecordOf_E_RABToBeSetupItemBearerSUReq := valueof(p_value) }
|
|
|
|
} // End of template m_E_RAB_IE_ERAB
|
|
|
|
|
|
|
|
} // End of group E_RAB_IEsend
|
|
|
|
|
|
|
|
} // End of group Send_IEs
|
|
|
|
|
|
|
|
group Receive_IEs{
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Receive template for MME UE S1AP ID protocol IE
|
|
|
|
* @param p_value Expected MME/UE S1AP identifier. Default: ?
|
|
|
|
* @see ETSI TS 136 413 Clause 9.2.3.3 MME UE S1AP ID
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (present) ProtocolIE mw_E_RAB_IE_MME(
|
|
|
|
template (present) MME_UE_S1AP_ID p_parm := ?
|
|
|
|
) := {
|
|
|
|
id := S1AP_Constants.id_MME_UE_S1AP_ID,
|
|
|
|
criticality := ignore,
|
|
|
|
value_ := {MME_UE_S1AP_ID := p_parm}
|
|
|
|
} // End of template mw_E_RAB_IE_MME
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Receive template for ENB ID protocol IE
|
|
|
|
* @param p_value Expected ENB identifier. Default: ?
|
|
|
|
* @see ETSI TS 136 413 Clause 9.2.3.4 eNB UE S1AP ID
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (present) ProtocolIE mw_E_RAB_IE_ENB(
|
|
|
|
template(present) ENB_UE_S1AP_ID p_parm := ?
|
|
|
|
) := {
|
|
|
|
id := S1AP_Constants.id_eNB_UE_S1AP_ID,
|
|
|
|
criticality := ignore,
|
|
|
|
value_ := {ENB_UE_S1AP_ID := p_parm}
|
|
|
|
} // End of template mw_E_RAB_IE_ENB
|
|
|
|
|
|
|
|
/**
|
2017-01-18 11:32:36 +00:00
|
|
|
* @desc Receive template for E-RABToBeSetupListBearerSUReq protocol IE
|
|
|
|
* @param p_value Expected protocol IE value. Default: m_E_RABToBeSetupItemBearerSUReq
|
2017-01-16 09:24:51 +00:00
|
|
|
*/
|
|
|
|
template (present) ProtocolIE mw_E_RAB_IE_ERAB(
|
|
|
|
template (present) RecordOf_E_RABSetupItemBearerSURes p_value := { mw_E_RABSetupItemBearerSURes }
|
|
|
|
):= {
|
|
|
|
id := S1AP_Constants.id_E_RABSetupListBearerSURes,
|
|
|
|
criticality := ignore,
|
|
|
|
value_ := { RecordOf_E_RABSetupItemBearerSURes := p_value }
|
|
|
|
} // End of template
|
|
|
|
|
|
|
|
template (present) ProtocolIE mw_E_RAB_IE_fSUL(
|
|
|
|
template(present) RecordOf_E_RABItem p_value := { ? }
|
|
|
|
):= {
|
|
|
|
id := S1AP_Constants.id_E_RABFailedToSetupListBearerSURes,
|
|
|
|
criticality := ignore,
|
|
|
|
value_ := { RecordOf_E_RABItem := p_value }
|
|
|
|
} // End of template mw_E_RAB_IE_fSUL
|
|
|
|
|
|
|
|
} // End of group Receive_IEs
|
|
|
|
|
2017-01-13 10:16:04 +00:00
|
|
|
group g_IEParameters {
|
2017-01-16 09:24:51 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @desc
|
|
|
|
*/
|
|
|
|
template(value) E_RABToBeSetupItemBearerSUReq m_E_RABToBeSetupItemBearerSUReq(
|
|
|
|
in E_RAB_ID p_e_RAB_ID := 0,
|
|
|
|
in template (value) E_RABLevelQoSParameters p_e_RABlevelQoSParameters := m_e_RABlevelQoSParameters
|
|
|
|
) := {
|
|
|
|
e_RAB_ID := p_e_RAB_ID,
|
|
|
|
e_RABlevelQoSParameters := valueof(p_e_RABlevelQoSParameters),
|
|
|
|
transportLayerAddress := '0'B,
|
|
|
|
gTP_TEID := '00000000'O,
|
|
|
|
nAS_PDU := '0000'O,
|
|
|
|
iE_Extensions := omit
|
|
|
|
} // End of template m_E_RABToBeSetupItemBearerSUReq
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @desc
|
|
|
|
* @param p_qCI
|
|
|
|
*/
|
|
|
|
template (value) E_RABLevelQoSParameters m_e_RABlevelQoSParameters(
|
|
|
|
in QCI p_qCI := 0
|
|
|
|
):= {
|
|
|
|
qCI := p_qCI,
|
|
|
|
allocationRetentionPriority := {
|
|
|
|
priorityLevel := 0,
|
|
|
|
pre_emptionCapability := shall_not_trigger_pre_emption,
|
|
|
|
pre_emptionVulnerability := pre_emptable,
|
|
|
|
iE_Extensions := omit
|
|
|
|
},
|
|
|
|
gbrQosInformation := omit,
|
|
|
|
iE_Extensions := omit
|
|
|
|
} // End of template m_e_RABlevelQoSParameters
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @desc
|
|
|
|
* @param p_e_RAB_ID
|
|
|
|
* @param p_cause
|
|
|
|
*/
|
|
|
|
template (present) E_RABSetupItemBearerSURes mw_E_RABSetupItemBearerSURes(
|
|
|
|
template(present) E_RAB_ID p_e_RAB_ID := ?
|
|
|
|
):= {
|
|
|
|
e_RAB_ID := p_e_RAB_ID,
|
|
|
|
transportLayerAddress := '?'B,
|
|
|
|
gTP_TEID := ?,
|
|
|
|
iE_Extensions := *
|
|
|
|
} // End of template mw_E_RABSetupItemBearerSURes
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @desc
|
|
|
|
*/
|
|
|
|
template (present) E_RABItem mw_E_RABItem(
|
|
|
|
template (present) E_RAB_ID p_e_RAB_ID := ?,
|
|
|
|
template (present) Cause p_cause := ?
|
|
|
|
) := {
|
|
|
|
e_RAB_ID := p_e_RAB_ID,cause := p_cause,iE_Extensions := *
|
|
|
|
} // End of template mw_E_RABItem
|
|
|
|
|
|
|
|
} // End of group g_IEParameters
|
|
|
|
|
|
|
|
} // End of group S1AP_Protocol_IEs
|
2017-01-13 10:16:04 +00:00
|
|
|
|
2017-01-16 09:24:51 +00:00
|
|
|
/**
|
|
|
|
* @desc Type functions
|
|
|
|
*/
|
|
|
|
group functionsForTemplates {
|
|
|
|
|
|
|
|
} // End of group functionsForTemplates
|
|
|
|
|
|
|
|
} // End of module LibS1AP_Templates
|