The GSM/LTE LabKit is very easily configurable for a wide range of purposes, including the most uncommon setups necessary for debugging and running virtually any IoT application. Advertising of all kind of configurations from the LabKit to UEs is achieved with plain XML files which are transformed into binary SIBs (System Information Blocks).

XML files may include any information elements defined in the Release 12 3GPP specification (3GPP 36.331). Granular control of the LTE LabKit is useful for a variety of purposes, such as debugging a prototype IoT UE. By using Wireshark, Yate/YateBTS customers are able to get the transport blocks above the physical layer of communication between the UE and the eNB.
The XML files can easily be edited via SSH and/or locally, due to the stand-alone computer architecture of the LTE LabKit.

Contents

Overview

System Information Blocks (SIBs) are broadcast messages that advertise the configuration of the eNodeB.

The yateenb module generates the binary content of its SIBs from XML files.
The module parses these files whenever it is started or restarted.
Any information elements defined in the Release 12 RRC specification (3GPP 36.331) can be encoded into these files, regardless of whether the associated features are actually supported in the yateenb module.

The XER-UPER encoder for these files is generated directly from the ASN.1 source code in the specifications.
The syntax of the XML files is standard ASN.1 XER, except that the "-" character is substituted with "_" in element names and enumerated values.

For SIB Type 1, there are two possible XML files, one for TDD and one for FDD:

enb-sib1.fdd.xml

enb-sib1-tdd.xml

For all other SIB types there is a single possible XML file named "enb-SIB<N>.xml", where <N> is the SIB type.
Except for sib-12, which is special case:

SIB name in the SibList configuration parameter is sibType12-v920" and not just sib12 ".

The xml file name needs to be enb-sib12-v920.xml

In the XML file, the outermost tag needs to be "sib12-v920", not just "sib12"

In a Lab Kit or SatSite system, these files are located in /usr/share/yate/scripts.

Note: Advertising features that the eNodeB does not support may cause UE connections to fail. Understand the implications of any changes to the SIB content before making those changes. Save copies of the default, original SIB XML files before changing them.

Variable Substitution

The XML encoder can set the values of SIB information elements from "general" section of the yateenb.conf or yateenb-custom.conf configuration file.
These values are substituted into the XML as strings before the XML-to-PER encoding step.

Note: If you try to add new parameters to yatenb.conf instead of yateenb-custom.conf, the LMI or MMI will erase them the next time it updates the configuration.

Note: Parameters that are hard-coded in the SIBs provide reasonable default values in most cases. Changing them may degrade performance.

Error Checking

The yateenb module logs XML/SIB encoding errors the CRIT level.
If you edit the XML files, be sure to check the logs for encoding error warnings the first time you run the eNodeB.

Adding New SIBs

The yateenb module schedules all SIBs Type 2 and higher in a single SI Message, with the same periodicity.

To add a new SIB type <N> to the eNodeB:

Create the new XML file "enb-sib<N>.xml" in /usr/share/yate/scripts.

Define a parameter SibList in yateenb-custom.conf that list all of the SIBs (above SIB Type 2) that are to be used.

The form for the SibList parameter is "sibType3 sibType4", etc.

The presence of SIB Types 1 and 2 is implied, so those do not appear in the list.

Example

For example, to add a simple SIB Type 4 with one neighbor, define a new file enb-sib4.xml with this content:

<sib4>
<intraFreqNeighCellList>
<IntraFreqNeighCellInfo>
<!-- These values will be pulled from the configuration when the message is generated -->
<physCellId>${neighborPhyCellID}</physCellId>
<q_OffsetCell>dB${neighborOffset}</q_OffsetCell>
</IntraFreqNeighCellInfo>
</intraFreqNeighCellList>
</sib4>

Message Size Limitation

All SIBs Type 2 and higher must fit together into a single SI Message in a single subframe using QPSK modulation.
The yateenb module will lower the coding rate for SIBs as needed to try to fit all of these SIBs into the subframe.
If the SIBs do not fit into the subframe even at the lowest allowed rate, the eNodeB will log a warning at the CRIT level.

Approximate maximum message sizes are:

LTE Bandwidth (MHz)

Approx Max SI Message (kbits)

1.4

1.4

3

3.5

5

5.9

10

12

15

18

20

24

The yateenb module may also change the DCI type for SIBs to increase the maximum message size.
It will log a message at the CONF level if it does this.

Note: This is the on-line version of the GSM/LTE LabKit AppNote no. 2/2018-02-08.