library/GSM_RR_Types: add minimalistic AssignmentCommand
Unfortunately, the existing implementation [1] is somewhat incomplete and unfriendly to build templates on: - some fields holding integer numbers defined as BITx, so we would have to do bit2int() / int2bit(); - some bit-map fields defined as octetstrings; - some fields are not decoded at all (raw octetstrings). Let's work this around by defining a minimalistic implementation of (RR) Assignment Command with all mandatory and some optional fields. Reuse some IEs directly from MobileL3_RRM_Types. [1] titan.ProtocolModules.MobileL3_v13.4.0 MobileL3_RRM_Types.PDU_RRM_AssignmentCommand_NW_MS Change-Id: If1a5244a688abed6e6de2bf3f6e19e0e28129ea5 Related: SYS#4868, OS#4545
This commit is contained in:
parent
12941bd6b0
commit
27b3801bed
|
@ -17,6 +17,7 @@ module GSM_RR_Types {
|
||||||
import from GSM_Types all;
|
import from GSM_Types all;
|
||||||
import from RLCMAC_CSN1_Types all;
|
import from RLCMAC_CSN1_Types all;
|
||||||
import from MobileL3_CommonIE_Types all;
|
import from MobileL3_CommonIE_Types all;
|
||||||
|
import from MobileL3_RRM_Types all;
|
||||||
|
|
||||||
/* Table 10.4.1 of Section 10.4 / 3GPP TS 44.018 */
|
/* Table 10.4.1 of Section 10.4 / 3GPP TS 44.018 */
|
||||||
type enumerated RrMessageType {
|
type enumerated RrMessageType {
|
||||||
|
@ -671,6 +672,29 @@ module GSM_RR_Types {
|
||||||
type record of NcellReport NcellReports;
|
type record of NcellReport NcellReports;
|
||||||
|
|
||||||
|
|
||||||
|
/* 3GPP TS 44.018, section 9.1.2 (minimalistic implementation) */
|
||||||
|
type record AssignmentCommand {
|
||||||
|
ChannelDescription chan_desc,
|
||||||
|
PowerCommand_V power_cmd,
|
||||||
|
FrequencyList_TLV freq_list_at optional,
|
||||||
|
CellChannelDescription_TV cell_chan_desc optional,
|
||||||
|
/* TODO: Multislot Allocation IE */
|
||||||
|
ChannelMode_TV chan1_mode optional,
|
||||||
|
ChannelMode_TV chan2_mode optional,
|
||||||
|
/* TODO: Mode of Channel Set 3..8 IE */
|
||||||
|
MobileAllocationTLV mobile_allocation optional
|
||||||
|
/* TODO: more optional IEs... */
|
||||||
|
} with {
|
||||||
|
variant "TAG(
|
||||||
|
freq_list_at, elementIdentifier = '05'O;
|
||||||
|
cell_chan_desc, elementIdentifier = '62'O;
|
||||||
|
chan1_mode, elementIdentifier = '63'O;
|
||||||
|
chan2_mode, elementIdentifier = '11'O;
|
||||||
|
mobile_allocation, iei = '72'O;
|
||||||
|
)"
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/* 9.1.18 */
|
/* 9.1.18 */
|
||||||
type record ImmediateAssignment {
|
type record ImmediateAssignment {
|
||||||
DedicatedModeOrTbf ded_or_tbf,
|
DedicatedModeOrTbf ded_or_tbf,
|
||||||
|
@ -828,6 +852,7 @@ module GSM_RR_Types {
|
||||||
type union RrL3Union {
|
type union RrL3Union {
|
||||||
PagingResponse paging_response,
|
PagingResponse paging_response,
|
||||||
MeasurementReport meas_rep,
|
MeasurementReport meas_rep,
|
||||||
|
AssignmentCommand ass_cmd,
|
||||||
octetstring other
|
octetstring other
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -837,6 +862,7 @@ module GSM_RR_Types {
|
||||||
} with { variant (payload) "CROSSTAG(
|
} with { variant (payload) "CROSSTAG(
|
||||||
paging_response, header.message_type = PAGING_RESPONSE;
|
paging_response, header.message_type = PAGING_RESPONSE;
|
||||||
meas_rep, header.message_type = MEASUREMENT_REPORT;
|
meas_rep, header.message_type = MEASUREMENT_REPORT;
|
||||||
|
ass_cmd, header.message_type = ASSIGNMENT_COMMAND;
|
||||||
other, OTHERWISE;
|
other, OTHERWISE;
|
||||||
)" }
|
)" }
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc
|
||||||
gen_links $DIR $FILES
|
gen_links $DIR $FILES
|
||||||
|
|
||||||
DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
|
DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
|
||||||
FILES="MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn"
|
FILES="MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn"
|
||||||
gen_links $DIR $FILES
|
gen_links $DIR $FILES
|
||||||
|
|
||||||
DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
|
DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
|
||||||
|
|
Loading…
Reference in New Issue