Amarisoft

NR CMAS

 

This tutorial shows how to test NR CMAS on Amari Callbox with a commercial phone. CMAS stands for Commercial Mobile Alert System. It is a type of PWS (Public Warning System). Basic RAN Process of NR CMAS is as follows :

In real deployment, this process is controlled by CMAS server in core network side.  It is the CMAS server and Core Network which are triggering the whole CMAS process and RAN to transmit the message.

NOTE :  In 2G/3G, there was similar feature like PWS. It is called CBS (Cell Broadcasting System). The logic on core network side logic in CBS would be similar to PWS in LTE, but RAN side implementation of CBS is different from PWS in LTE and NR. In LTE/NR, we don't use any specifically dedicated channel for this and just use one of the existing channel (BCCH - PDSCH) whereas we use specially dedicated channel (CTCH - FACH-SCCPCH) for CBS.

NOTE :  Amarisoft does not support any of 2G/3G (i.e, GSM,CDMA,WCDMA,HSPA) and 2G/3G related function.

 

 

Table of Contents

 

 

Test Setup

 

Test setup for this tutorial is as shown below.  

TestSetup Callbox UE 1sdr 01

 

 

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 gnb-sa.cfg (NR SA default configuration) as it is without changing any contents in it.

NR CMAS Config 01

I also used mme-ims-cmas.cfg which was copied and modified from mme-ims.cfg.

LTE CMAS Config 02

In mme-ims-cmas.cfg I have added the following configuration. Just add pws_msgs configuration and specify the details like local_identifier, message_identifier, serial_number, data_coding_scheme, warning_message etc.

LTE CMAS Config 03

 

Perform the test

Start LTE service and check basic cell configuration. Any cell configuration is OK as long as it is NR cell.

NR CMAS Run 01

Power on UE and let UE attach to the cell

NR CMAS Run 02

Confirm that UE is attached to mmel

NR CMAS Run 03

Send CMAS using pws_write command as shown below. (NOTE : The number '2' corresponds to the configuration parameter local_identifier of pws_msgs:[ ] in mme.cfg)

LTE CMAS Run 04

 

Check if you get CMAS message as shown below. You should hear alarm sound from the UE as well. Both text message and Alarm sound is requirement for the test.

LTE CMAS Run 06

 

You can stop cmas message using the following command. (NOTE : The number '2' corresponds to the configuration parameter local_identifier of pws_msgs:[ ] in mme.cfg)

LTE CMAS Run 05

 

Log Analysis

Sample Log

Since CMAS message is broadcast by SIB message triggered by Core Network, the first step for CMAS log analysis is to capture the log with BCCH, RRC and NGAP enabled as shown below.

NR CMAS Log 01

Set the layer as shown below for the convinience of the log analysis.

NR CMAS Log 02

When you send the CMAS message message (triggered by mme command 'pws_write'), Core Network send NGAP message for CMAS  as shown below.|

NR CMAS Log 03

CMAS message is broadcast via sib8. In this SIB you can check out the details of CMAS contents : messageIdentifier, serialNumber, warningMessageSegmentType, warningMessageSegmentNumber, warningMessageSegment, dataCodingScheme.

NR CMAS Log 04

When you stop the CMAS message message (triggered by mme command 'pws_kill'), Core Network send NGAP message for CMAS  as shown below.|

NR CMAS Log 05

 

 

RRC / NAS Signaling

 

SIB 8

: This is the SIB 8 message sent by gNB  to configure CMAS. (NOTE : You would see some IEs that has a specific assigned vale here, but consider it as just an example value. Those values should vary depending on test requirement)

{

  message c1: systemInformation: {

    criticalExtensions systemInformation: {

      sib-TypeAndInfo {

        sib8: {

          messageIdentifier '1112'H,

          serialNumber '3001'H,

          warningMessageSegmentType notLastSegment,

          warningMessageSegmentNumber 0,

          warningMessageSegment '0174747A0E4ACF4161D0B0199C82E8E5391DD42ECFE7E1731900000000000000'H,

          dataCodingScheme '0F'H

        }

      }

    }

  }

}