Amarisoft

Remote API - Changing SIB contents

 

The purpose of this tutorial is to show you how to change the contents of SIB message using Remote API. Not all SIB IE can be changed by Remote API. There are a certain set of SIB IEs that is allowed to be changed by remote API and they are documented in lteenb.pdf. If you are not familiar with the basic operation of Remote API, I would suggest you to look into this tutorial first.

In general, Amarisoft allows IE (information element) changes in this way mainly for SIB1, SIB2 and small numbers of IEs for other SIBs. For IE changes for other SIBs, it is recommended to manually change the asn file. Regarding the SIB changes with asn file, refer this tutorial.

NOTE :  There are two different way ot chaning IEs of SIB message with remote API. First one is to change a specific IE explicitely(explicit IE change) with the message format  '{"message":"sib_set","cells":{"cell_id":{"sib":{IE setting}}}} as shown in Test 1' and the other one is to change the entire payload of the SIB (payload change) with the message format  '{"message":"sib_set","cells":{"cell id":{"sib":{ "type": "hex", "payload" : "Hex string of the entire sib message"}}}}' as shown in  Test 2'

NOTE :  Not every SIB IE can be changed by the explicit IE changes. There are only small number of IEs that can be changed in this way. Refer to this document and check which IE of which SIB can be changed in this way.

NOTE : Not every SIB IE can be changed by the payload change. The SIB should provide 'type', 'payload' parameter for this type of manipulation. Refer to this document and check which SIB support these parameters.

 

Table of Contents

 

 

 

Test 1 : Changing p-Max in SIB1

This test shows how to change a specific IE (information elements) of a SIB with Remote API. As an example, I will show you how to change p-Max in SIB1. You can use the same logic for other IEs in other SIBs. However, not all IEs in every SIBs can be changed this way. There are only small portions of IEs that can be changed this way. Refer to sib_set document to figure out which IE of which sib can be changed this way.

NOTE :  Not every SIB IE can be changed by this method (i.e, explicit IE changes). There are only small number of IEs that can be changed in this way. Refer to this document and check which IE of which SIB can be changed in this way.

 

Configuration

You can use any of LTE configuration for this tutorial (e.g, enb.default.cfg).

 

Perform the test

In this tutorial, you don't need any DUT(UE) for testing. Just running the lte service and verify the result in WebGUI is enough.

Run lte service ([service lte restart]) and check the IE in the SIB before you send RemoteAPI command. In this tutorial, I will change the p-Max IE in SIB1

RemoteAPI SIB Run 01

Send RemoveAPI command as shown below. Be careful about the syntaix. It would not be easy to figure out the correct syntax just by reading lteenb.pdf

                            ./ws.js enb '{"message":"sib_set","cells":{"1":{"sib1":{"p_max":20}}}}'

RemoteAPI SIB Run 02

If the RemoteAPI command is properly processed, you will see the eNB send paging with systemInfoModication.

RemoteAPI SIB Run 03

Then you can confirm that the p-Max value is changed as configured in the RemoteAPI command .

RemoteAPI SIB Run 04

 

 

Test 2 : Changing whole contents of a SIB3

This test shows how to change the whole contents of a specified SIB. As an example, I will show you how to change the whole contents of SIB3 in LTE. Refer to sib_set document to figure out which sib can be changed in this way.  The idea is to send the entire payload hex string) of the message via RemoteAPI.

NOTE : Not every SIB IE can be changed by the payload change. The SIB should provide 'type', 'payload' parameter for this type of manipulation. Refer to this document and check which SIB support these parameters.

 

Configuration

You can use any of LTE configuration for this tutorial (e.g, enb.default.cfg).

 

Perform the test

In this tutorial, you don't need any DUT(UE) for testing. Just running the lte service and verify the result in WebGUI is enough.

Run lte service ([service lte restart]) and check the contents of the SIB3 before you send RemoteAPI command.

RemoteAPI SIB Test 02 Run 01

Send RemoveAPI command as shown below. Be careful about the syntaix. It would not be easy to figure out the correct syntax just by reading lteenb.pdf

                            ./ws.js enb '{"message":"sib_set","cells":{"1":{"sib3":{ "type": "hex", "payload" : "000c16043f95aa0007ae"}}}}'

RemoteAPI SIB Test 02 Run 03

If the RemoteAPI command is properly processed, you will see the eNB send paging with systemInfoModication.

RemoteAPI SIB Test 02 Run 04

Then you can confirm that the contents is changed as configured in the RemoteAPI command .

RemoteAPI SIB Test 02 Run 05