Amarisoft

LTE Broadcasting Additional SIBs

This tutorial will show how to transmit additions SIB message (SIBs other than SIB1)that are not sent in the default configuration in LTE. (NOTE : This tutorial is for LTE, but you can use the same tricks in NR as well). In Amarisoft Callbox, only MIB and SIB1 are transmitted by default and most of those (Not all of them) IEs in MIB and SIB can be configured with configuration parameters. All other SIBs should be configured by separate asn file and scheduled in enb configuration file.

There are various examples for SIB asn for all the Radio Access Technologies. So I would suggest you to check with existing example files first and try to modify those files instead of creating the asn file from scratch. These example files are located in /root/enb/config directory. Check out the result of 'll *.asn' in /root/enb/config

Table of Contents

Introduction

System Information Blocks (SIBs) are critical components in the Long-Term Evolution (LTE) protocol, responsible for broadcasting essential network configuration and operational parameters to User Equipment (UE). While the Master Information Block (MIB) and System Information Block Type 1 (SIB1) are transmitted by default in most eNodeB implementations, including the Amarisoft Callbox, additional SIBs (such as SIB2, SIB3, SIB5, etc.) must be explicitly configured and scheduled to support advanced features and services. These additional SIBs are typically defined using Abstract Syntax Notation One (ASN.1) files and are referenced in the eNodeB configuration to tailor network behavior for specific deployment requirements. Understanding how to transmit and customize these SIBs is essential for network engineers and system integrators who need to optimize cell configuration, enable features like mobility management or interworking, and perform detailed testing scenarios. The Amarisoft platform provides example ASN.1 files located in the /root/enb/config directory, which can be used as templates and modified to expedite the configuration process. Mastery of SIB scheduling and ASN.1 file handling is not only crucial for LTE but is also applicable to New Radio (NR/5G) environments, offering continuity in skills across radio access technologies and supporting flexible, standards-compliant network deployments.

Summary of the Tutorial

This tutorial outlines the procedure for verifying SIB (System Information Block) message broadcasting from a callbox, focusing solely on analysis of SIB messages without UE attachment. The Device Under Test (DUT) side configuration is deemed non-critical for this particular validation.

The overall methodology is to configure the SIB scheduling, execute the LTE service, and validate the broadcasted SIBs through log analysis, ensuring each SIB is transmitted according to the test configuration.

Test Setup

Test setup for this tutorial is as shown below. In this tutorial, I would verify the test result only from the SIB messages from the callbox and would not try UE attach. DUT side configuration is not so important for this tutorial.

Only the first SDR card is cabled in this setup. The antenna goes to the RF 1 connector of that card, which is sdr 0 in the configuration file. The remaining cards are left unconnected, because one cell is enough to broadcast the SIBs.

The link between the callbox and the phone is over the air. The UE only has to be close enough to receive the BCCH. Nothing in this test depends on the UE finishing the attach procedure.

Callbox rear panel with the antenna on the first SDR card RF 1 and a UE over the air

Key Configuration Parameters

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.

Configuration

I used the enb-sib-4567.cfg which was copied and modified from enb.default.cfg.

enb config directory listing with enb.cfg symbolic link pointing to enb-sib-4567.cfg

Prepare asn files for other sibs that you want to add as shown below. These additional asn files are provided by the installation package. so you can use those files as it is or just modify the contents of the asn files.

The files that matter here are sib4.asn, sib5.asn, sib6.asn and sib7.asn. All four are already in /root/enb/config after the installation, so there is nothing to create. sib23.asn is in the same directory and that is the one the default configuration already schedules.

The directory also holds versions of the same SIBs for other radio access technologies. The files ending in _nb.asn are the NB-IoT ones and the files ending in _nr.asn are the NR ones. sib23_br.asn and sib23_br_ce.asn belong to the bandwidth reduced eMTC configuration, which is scheduled through br_sib_sched_list instead. None of them are used in this tutorial, but they are a good starting point when you write your own file.

ll listing of the asn files in /root/enb/config with sib4 to sib7 underlined

Then add sib scheduling information for the additional sibs in the configuration file(enb-sib-4567.cfg ) as shown below. I added SIB4, 5, 6, 7 in separate asn file with the same periodicity. It mean SIB 4,5,6,7 will be transmitted at the same subframe. But you can specify the periodicity as you like. (NOTE : When it comes to creating SIB asn files, you can create it with any text editor, but now we provide ASN editor GUI by which you can create any RRC message easily without making mistakes)

The first entry of sib_sched_list is the one that was already there, sib23.asn with si_periodicity 16. The four entries appended after it are sib4.asn, sib5.asn, sib6.asn and sib7.asn, each with si_periodicity 32. The first entry has to carry SIB2, so leave sib23.asn at the top and add the new blocks below it.

si_periodicity is counted in radio frames and only accepts 8, 16, 32, 64, 128, 256 or 512. The four new entries all use 32, so each of them repeats once every 32 radio frames. Change the value on one entry if you want that SIB sent more often or less often than the others.

You do not have to touch SIB1 for any of this. The eNB builds the schedulingInfoList of SIB1 from the entries in sib_sched_list, so every block you add here is announced to the UE automatically. The defines above the block are left at their default values. The cell is FDD with N_RB_DL 25 for 5 MHz and one antenna in each direction. None of them affect the SIB scheduling.

sib_sched_list with sib4 to sib7 entries added at si_periodicity 32

Perform the test

We don't need any special operation procedure for this tutorial, just running the lte service is enough, so no further details in this section. Just to [service lte restart] and collect the log capturing SIBs.

Log Analysis

Collect the SIB log on WebGUI and confirm that SIBs are broadcast as intended. If you are not familiar with how to capture SIB in the log, refer to this note. You see here that SIB1 has sib3,4,5,6,7 in its schedulingInfoList.

The log is filtered on the RRC layer and the BCCH logical channel. The Message column keeps alternating between SIB1 and SIB. SIB1 is the one repeating every 80 ms, and the rows marked SIB are the SI messages carrying the other blocks.

The schedulingInfoList of the decoded SIB1 has five entries. The first one is si-Periodicity rf16 with sib-MappingInfo sibType3, and that comes from sib23.asn. The four after it are all si-Periodicity rf32 and map sibType4, sibType5, sibType6 and sibType7. They match the si_periodicity values I put in the configuration file.

SIB2 has no entry in this list. It is always the first SI message, so it never needs to be announced. Below the list, si-WindowLength is ms40 and systemInfoValueTag is 0.

WebGUI RRC BCCH log with SIB1 schedulingInfoList listing sibType3 to sibType7

SIB2 and 3 aretrasmitted by sib23.asn which is specified in the configuration file.

The selected row at 23:05:58.719 decodes as systemInformation with criticalExtensions systemInformation-r8. sib-TypeAndInfo is a list, and sib2 is the first element of it. That is the SI message built from sib23.asn.

The sib2 content is the default one. numberOfRA-Preambles is n52, powerRampingStep is dB2 and preambleInitialReceivedTargetPower is dBm-104. preambleTransMax is n10, ra-ResponseWindowSize is sf10 and mac-ContentionResolutionTimer is sf40. prach-ConfigIndex is 3 with rootSequenceIndex 204, zeroCorrelationZoneConfig 11 and prach-FreqOffset 2. referenceSignalPower is -21 with p-b 0.

None of these values were changed for this tutorial. If you need different ones, edit sib23.asn, because the sib2 content comes from the asn file and not from the eNB configuration file.

Decoded SI message carrying sib2 with rach-ConfigCommon and prach-Config values

Check out that SIB4 is transmitted as specified in the configuration file.

This SI message is at 23:05:58.919 and sib4 is the only block in it. It carries an intraFreqNeighCellList with a single entry. physCellId is 100 and q-OffsetCell is dB0.

SIB4 holds the intra frequency neighbour cell list, so it is short. The encoded data is five bytes, 00 09 00 64 78. Add more entries to sib4.asn if you want to advertise more intra frequency neighbours.

Decoded SI message carrying sib4 with intraFreqNeighCellList physCellId 100

Check out that SIB5 is transmitted as specified in the configuration file.

sib5 comes 40 ms after sib4, at 23:05:58.959. It carries an interFreqCarrierFreqList with one carrier. dl-CarrierFreq is 300 and q-RxLevMin is -61. allowedMeasBandwidth is mbw50, presenceAntennaPort1 is FALSE and neighCellConfig is '01'B.

t-ReselectionEUTRA is 1 and both scaling factors in t-ReselectionEUTRA-SF, sf-Medium and sf-High, are oDot25. threshX-High and threshX-Low are both 0. These are the values that come with sib5.asn, and they are what you edit if you want the UE to look at a different inter frequency carrier.

Decoded SI message carrying sib5 with interFreqCarrierFreqList dl-CarrierFreq 300

Check out that SIB6 is transmitted as specified in the configuration file.

sib6 follows at 23:05:58.999 and carries a carrierFreqListUTRA-FDD with one entry. carrierFreq is 300, q-RxLevMin is -13, p-MaxUTRA is 0 and q-QualMin is 0. threshX-High and threshX-Low are both 0, and t-ReselectionUTRA outside the list is 0.

SIB6 is the UTRA reselection information, so this is the block a UE would use to move to a 3G carrier. The content comes from sib6.asn and nothing in the eNB configuration file changes it.

Decoded SI message carrying sib6 with carrierFreqListUTRA-FDD carrierFreq 300