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

Introduction

The Commercial Mobile Alert System (CMAS), also known as Wireless Emergency Alerts (WEA) in the United States, is a critical component of the broader Public Warning System (PWS) designed to deliver timely emergency notifications to mobile users over cellular networks. In 5G New Radio (NR) networks, PWS capabilities are enhanced to provide robust, efficient, and reliable dissemination of public safety messages, leveraging advanced radio access network (RAN) features and spectrum efficiency. Unlike legacy 2G/3G technologies, where cell broadcast relied on dedicated channels like CTCH over FACH-SCCPCH, NR (and LTE) PWS implementations utilize broadcast channels such as BCCH mapped onto the physical downlink shared channel (PDSCH), eliminating the need for dedicated cell broadcasting resources. The architecture involves a PWS/CMAS server within the core network, which interfaces with the RAN to trigger SIB8 transmissions containing the alert payload. Amari Callbox, a versatile test platform, enables users to emulate NR network functions and validate CMAS delivery with commercial handsets, providing a controlled environment for testing message encoding, scheduling, and device reception in compliance with 3GPP standards. Mastery of these procedures is essential for engineers and operators seeking to ensure the reliability and compliance of public warning solutions in next-generation mobile networks.

Summary of the Tutorial

This tutorial describes the procedure to test the Cell Broadcast Message Service (CMAS) functionality on a test setup using an Amarisoft platform. The following summarizes the key test procedures, steps, and methodologies:

This procedure ensures comprehensive testing of the CMAS functionality, including configuration, message transmission, UE reception and alarm verification, and detailed log analysis, while maintaining the required parameterization and network signaling flows.

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

        }

      }

    }

  }

}