etsi-ttcn3-s1ap-tests/ttcn3/LibS1AP/LibS1AP_Templates.ttcn

296 lines
13 KiB
Plaintext
Raw Normal View History

/**
* @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
*/
module LibS1AP_Templates {
// 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;
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
*/
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-18 11:32:36 +00:00
group sendClass1 {
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
*/
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-18 11:32:36 +00:00
group receiveClass1 {
group HandoverPreparation{
2017-01-18 11:32:36 +00:00
}// End of group HandoverPreparation
2017-01-18 11:32:36 +00:00
group HandoverResourceAllocation{
2017-01-18 11:32:36 +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: ?
*/
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-18 11:32:36 +00:00
} // End of group class1
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
group g_IEParameters {
/**
* @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
/**
* @desc Type functions
*/
group functionsForTemplates {
} // End of group functionsForTemplates
} // End of module LibS1AP_Templates