4G/LTE - PWS/CBS

 

 

 

 

CMAS

 

CMAS stands for Commercial Mobile Alert System. It is equivalent to CBS(Cell Broadcasting Service) in 2G and 3G. At high level view, CMAS, ETWS, CBS belongs to a system called PWS (Public Warning System).   

 

 

 

CMAS Message Structure

 

In LTE, there are three main components getting involved in sending CMAS as follows.

    i) Paging : CMAS Notification.

    ii) SIB 12 : Message Format and Contents

 

Following is Paging, SIB12  showing the field (IEs) related to CMAS. (For the details of ETWS, refer to 3GPP TS23.828 and TS22.268 and TS 36.523 18.1 CMAS on LTE)

 

PCCH-Message ::= SEQUENCE

  +-message ::= CHOICE [c1]

    +-c1 ::= CHOICE [paging]

      +-paging ::= SEQUENCE [0001]

        +-pagingRecordList ::= SEQUENCE OF OPTIONAL:Omit

        +-systemInfoModification ::= ENUMERATED OPTIONAL:Omit

        +-etws-Indication ::= ENUMERATED OPTIONAL:Omit

        +-nonCriticalExtension ::= SEQUENCE [01] OPTIONAL:Exist

          +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

          +-nonCriticalExtension ::= SEQUENCE [10] OPTIONAL:Exist

            +-cmas-Indication-r9 ::= ENUMERATED [true] OPTIONAL:Exist

            +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

BCCH-DL-SCH-Message ::= SEQUENCE

  +-message ::= CHOICE [c1]

    +-c1 ::= CHOICE [systemInformation]

      +-systemInformation ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [systemInformation-r8]

          +-systemInformation-r8 ::= SEQUENCE [0]

            +-sib-TypeAndInfo ::= SEQUENCE OF SIZE(1..maxSIB[32]) [1]

            | +- ::= CHOICE [sib12-v920]

            |   +-sib12-v920 ::= SEQUENCE [10]

            |     +-messageIdentifier-r9 ::= BIT STRING SIZE(16) [0001000100010010]

            |     +-serialNumber-r9 ::= BIT STRING SIZE(16) [0011000000000000]

            |     +-warningMessageSegmentType-r9 ::= ENUMERATED [lastSegment]

            |     +-warningMessageSegmentNumber-r9 ::= INTEGER (0..63) [0]

            |     +-warningMessageSegment-r9 ::= OCTET STRING SIZE(ALIGNED)

                                                  [01C576597E2EBBC7F950A8D168341A8D46A3D168341

                                                   A8D46A3D168341A8D46A3D168341A8D46A3D168341A

                                                   8D46A3D168341A8D46A3D168341A8D46A3D168341A8

                                                   D46A3D168341A8D46A3D168341A8D46A3D1000A]

            |     +-dataCodingScheme-r9 ::= OCTET STRING SIZE(1) [01] OPTIONAL:Exist

            |     +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

            |     +-EXTENSION ::= SEQUENCE

            +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

Followings are the description related to warningMessageSegment. (For messageIdentifier, serialNumber, dataCodingScheme, click on the link for the details)

According to 36.331, warningMessageSegmentType, warningMessageSegmentNumber,warningMessageSegment are defined as follows.

 

warningMessageSegment : Carries a segment of the Warning Message Contents IE defined in TS 36.413-9.2.1.53. The first octet of the Warning Message Contents IE is equivalent to the first octet of the CB data IE defined in and encoded according to TS 23.041 - 9.4.2.2.5 and so on.

 

< 36.413-9.2.1.53 Warning Message Contents >

IE/Group Name

Prsence

Range

IE Type and Reference

Semantics Description

Warning Message Contents

M

 

OCTET STRING (SIZE(1..9600))

The length of this IE varies between 1 to 9600 bytes.

 

< 23.041-9.4.2.2.5 CB Data >

 

 

warningMessageSegmentNumber : Segment number of the ETWS warning message segment contained in the SIB. A segment number of zero corresponds to the first segment, one corresponds to the second segment, and so on.

 

warningMessageSegmentType : Indicates whether the included ETWS warning message segment is the last segment or not.

 

 

 

CMAS Message Sequence Example

 

 

Step

Direction

Message

Comments

1

UE <-- NW

SIB1

Indicate SIB12 is scheduled

2

UE <-- NW

SIB12

Transmit CMAS message

3

UE <-- NW

Paging

CMAS indication is present

4

UE

 

Detect the Paging with CMAS Indication

5

UE

 

Decode SIB1 and find SIB12 is scheduled

6

UE

 

Decode SIB12

 

NOTE : If you want to get an example of full log for ETWS, check out this tutorial from Amarisoft TechAcademy

 

According to 36.331-5.3.2.3, the procedure to receiving CMAS is described as follows.

 

When UE recieved the Paging message,

    • Check if the cmas-Indication is included and the UE is CMAS capable:
      • if true, re-acquire SystemInformationBlockType1 immediately, i.e., without waiting until the next system information modification period boundary;
        • Check if the schedulingInfoList in SIB1 indicates that SystemInformationBlockType12 is present:
          • if true, acquire SystemInformationBlockType12;

 

 

Step 1 : SIB 1

    BCCH-DL-SCH-Message

        message: c1 (0)

            c1: systemInformationBlockType1 (1)

                systemInformationBlockType1

                    cellAccessRelatedInfo

                        plmn-IdentityList: 1 item

                            Item 0

                                PLMN-IdentityInfo

                                    plmn-Identity

                                        mcc: 3 items

                                            Item 0

                                                MCC-MNC-Digit: 0

                                            Item 1

                                                MCC-MNC-Digit: 0

                                            Item 2

                                                MCC-MNC-Digit: 1

                                        mnc: 2 items

                                            Item 0

                                                MCC-MNC-Digit: 0

                                            Item 1

                                                MCC-MNC-Digit: 1

                                    cellReservedForOperatorUse: notReserved (1)

                        trackingAreaCode: 0000 [bit length 16, 0000 0000  0000 0000 decimal value 0]

                        cellIdentity: 00000000

                        cellBarred: notBarred (1)

                        intraFreqReselection: notAllowed (1)

                        .... ..0. csg-Indication: False

                    cellSelectionInfo

                        q-RxLevMin: -110dBm (-55)

                    p-Max: 23dBm

                    freqBandIndicator: 4

                    schedulingInfoList: 3 items

                        Item 0

                            SchedulingInfo

                                si-Periodicity: rf16 (1)

                                sib-MappingInfo: 0 items

                        Item 1

                            SchedulingInfo

                                si-Periodicity: rf32 (2)

                                sib-MappingInfo: 1 item

                                    Item 0

                                        SIB-Type: sibType3 (0)

                        Item 2

                            SchedulingInfo

                                si-Periodicity: rf32 (2)

                                sib-MappingInfo: 1 item

                                    Item 0

                                        SIB-Type: sibType12-v920 (9)

                    si-WindowLength: ms20 (5)

                    systemInfoValueTag: 0

                    nonCriticalExtension

                        nonCriticalExtension

                            ims-EmergencySupport-r9: true (0)

 

Step 2 : SIB 12

    BCCH-DL-SCH-Message

        message: c1 (0)

            c1: systemInformation (0)

                systemInformation

                    criticalExtensions: systemInformation-r8 (0)

                        systemInformation-r8

                            sib-TypeAndInfo: 1 item

                                Item 0

                                    sib-TypeAndInfo item: sib12-v920 (10)

                                        sib12-v920

                                            messageIdentifier-r9: CMAS Identifier for CMAS Presidential Level Alerts (4370)

                                            serialNumber-r9: 3000 [bit length 16, 0011 0000  0000 0000 decimal value 12288]

                                                00.. .... .... .... = Geographical Scope: Display mode immediate, cell wide (0)

                                                ..11 0000 0000 .... = Message Code: 768

                                                .... .... .... 0000 = Update Number: 0

                                            warningMessageSegmentType-r9: lastSegment (1)

                                            warningMessageSegmentNumber-r9: 0

                                            warningMessageSegment-r9: 0154747a0e4acf416137a8d82ecbcf65f7388...

                                            dataCodingScheme-r9: 01

                                                0000 .... = Coding Group: Coding Group 0

                                                                 (Language using the GSM 7 bit default alphabet) (0)

                                                .... 0001 = Language: English (1)

 

Step 3 : Paging

    PCCH-Message

        message: c1 (0)

            c1: paging (0)

                paging

                    nonCriticalExtension

                        nonCriticalExtension

                            cmas-Indication-r9: true (0)

                                [Expert Info (Warn/Sequence): Commercial Mobile Alert System Indication!]

                                    [Commercial Mobile Alert System Indication!]

                                    [Severity level: Warn]

                                    [Group: Sequence]

     

    NOTE : This paing would not carry specific UE ID since this Paging is broadcasting (i.e, for every UE in the cell)

 

 

 

Additional Examples of SIB 12 Message

 

Example 01 :

 

BCCH-DL-SCH-Message

    message: c1 (0)

        c1: systemInformation (0)

            systemInformation

                criticalExtensions: systemInformation-r8 (0)

                    systemInformation-r8

                        sib-TypeAndInfo: 1 item

                            Item 0

                                sib-TypeAndInfo item: sib12-v920 (10)

                                    sib12-v920

                                        messageIdentifier-r9:

                                               CMAS Identifier for CMAS Presidential Level Alerts (4370)

                                        serialNumber-r9: 3007

                                               [bit length 16, 0011 0000  0000 0111 decimal value 12295]

                                            00.. .... .... .... = Geographical Scope:

                                                Display mode immediate, cell wide (0)

                                            ..11 0000 0000 .... = Message Code: 768

                                            .... .... .... 0111 = Update Number: 7

                                        warningMessageSegmentType-r9: lastSegment (1)

                                        warningMessageSegmentNumber-r9: 0

                                        warningMessageSegment-r9:

                                           01c576597e2ebbc7f950a8d168341a8d46a3d168341a8d46...

                                            [1 Fragment (84 bytes): #1(84)]

                                                [Frame: 1, payload: 0-83 (84 bytes)]

                                                [Fragment Count: 1]

                                                [Reassembled Length: 84]

                                                [Reassembled Data:

                                                    01c576597e2ebbc7f950a8d168341a8d46a3d168341a8d46...]

                                        dataCodingScheme-r9: 01

                                            0000 .... = Coding Group:

                                             Coding Group 0(Language using the GSM 7 bit default alphabet)(0)

                                            .... 0001 = Language: English (1)

 

HEX (BCCH) :

00 40 2E 21 11 23 00 78 0A 80 38 AE CB 2F C5 D7 78 FF 2A 15 1A 2D 06 83 51 A8 D4 7A 2D 06 83 51 A8

D4 7A 2D 06 83 51 A8 D4 7A 2D 06 83 51 A8 D4 7A 2D 06 83 51 A8 D4 7A 2D 06 83 51 A8 D4 7A 2D 06 83

51 A8 D4 7A 2D 06 83 51 A8 D4 7A 2D 06 83 51 A8 D4 7A 2D 06 83 51 A8 D4 7A 20 01 40 20 00  

 

HEX (warningMessageSegment-r9) :

01 C5 76 59 7E 2E BB C7 F9 50 A8 D1 68 34 1A 8D 46 A3 D1 68 34 1A 8D 46 A3 D1 68 34 1A 8D 46 A3 D1

68 34 1A 8D 46 A3 D1 68 34 1A 8D 46 A3 D1 68 34 1A 8D 46 A3 D1 68 34 1A 8D 46 A3 D1 68 34 1A 8D 46

A3 D1 68 34 1A 8D 46 A3 D1 68 34 1A 8D 46 A3 D1 00 0A

    => According to 23.041-9.4.2.2.5 CB Data, the decoded result is as follows

      01 : Number of Page = 1

      0A : Message Information Length = 11

      Contents of the Message : C5 76 59 7E 2E BB C7 F9 50 A8  ==> Emergency!!

 

 

 

Decoding / Encoding the warningMessageSegment

 

The contents of CMAS(warningMessageSegment) is encoded in various different method as described in DCS page. Since there are too many different coding scheme, it would be hard to find a tool that can encode/decode every coding scheme. But if the message uses the two most common coding scheme called GSM 7bit and UCS, you can use the on-line tool called SMS Server Tools 3. As the name implies, this tool is not specifically designed for CMAS. It is designed for encoding / decoding SMS. But the coding scheme for SMS and CMAS is similar, you can use this tool to encode / decode CMAS message.

 

Here goes short tips on how to use this tool.

 

 

Encoding : Text To HEX (GSM 7 bit)

 

    (1) Select '7' at Alphabet Size

    (2) type in the text you want to send as CMAS message

    (3) press [Convert>] button

    (4) the resulting AT command to send this message

    (5) the resulting HEX string for the message

 

 

 

Decoding : HEX (GSM 7 bit) to Text

 

    (1) Select '7' at Alphabet Size

    (2) Select 'GSM 7bit packed'

    (3) type in HEX string for the text you want to send as CMAS message

    (4) press [Convert>] button

    (5) the result text

 

 

 

 

Reference :

 

[1] Appendix: GSM 7-bit Default Alphabet Table (with Character Codes of ISO 8859 Latin 1)

[2] SMS Server Tools 3