Amarisoft

LTE MOCN

 

The purpose of this tutorial is to show you how to configure and test LTE MOCN.  MOCN stands for Multiple Operator Core Network and it is a type of network sharing technology. There are some of key features to be noted in this technology

With this tutorial, you would also learn how to connect one eNB to different MMEs.  Since the configuration is pretty complicated, it would be good to have some big picture of the test concept and the configuration. It is illustrated below. When you follow through the configuration section, try to associate each configuration files/parameters to this diagram, otherwise you may easily get lost.

LTE MOCN Concept 01

 

Table of Contents

 

Test Setup

In this setup, two instances of MME is running in the callbox. MME 0 runs together with LTE service and MME 1 runs manually.

TestSetup Callbox UEsim 1sdr 01

 

Configuration

There are so many configuration files applied to almost every component of the system. It may be confusing if you don't have clear understandings on overall test concept.  Keep the illustration at the beginning of this page in mind and try to associate these configurations to the illustration.

 

Configuration File Setup

I used ue-lte-2plmn.cfg which is copied and modified from ue.default.cfg on UE sim.

LTE MOCN UeSIM Config 01

I used enb-1cell-2plmn.cfg which is copied and modified from enb.default.cfg.

LTE MOCN enb Config 01

I used two separate mme configuration files : mme-ims-2plmn-0.cfg and mme-ims-2plmn-1.cfg which are copied and modified from mme-ims.cfg. Note that mme.cfg is symbolically linked to mme-ims-2plmn-0.cfg. ue_db-ims-2plmn.cfg is copied and modified from ue_db-ims.cfg. ue_db-ims-2plmn.cfg is called (included) within mme-ims-2plmn-0.cfg and mme-ims-2plmn-1.cfg

LTE MOCN mme Config 01

I used ots-2mme.cfg which is copied and modified from ots.default.cfg

LTE MOCN ots Config 01

 

Configuration for eNB

In enb-1cell-2plmn.cfg, I made modifications as follows. Note that one more mme_addr is added. 127.0.1.100 is mme_addr of MME 0 and 127.0.1.101 is mme_addr of MME 1.

LTE MOCN enb Config 02

 

Configuration for MME 0

Followings are the configuration in mme-ims-2plmn-0.cfg

I keep the plmn as default (00101). The import configuration here is that adjusting IP range for each pdn_type so that it would not overlap with the other MME.

Set the first_ip_addr to 192.168.2.2 and the last_ip_addr to 192.168.2.66 for "default" PDN.(NOTE : You need to set these IP so that last_ip_addr - first_ip_addr is 2^n).

LTE MOCN Configuration MME 0 01

Set the first_ip_addr to 192.168.3.2 and the last_ip_addr to 192.168.3.66 for "internet" PDN.(NOTE : You need to set these IP so that last_ip_addr - first_ip_addr is 2^n).  And changed ipv6 address in the same logic.

Set the first_ip_addr to 192.168.4.2 and the last_ip_addr to 192.168.4.66 for "ims" PDN.(NOTE : You need to set these IP so that last_ip_addr - first_ip_addr is 2^n).  And changed ipv6 address in the same logic.

LTE MOCN Configuration MME 0 02

Set the first_ip_addr to 192.168.5.2 and the last_ip_addr to 192.168.5.66 for "sos" PDN.(NOTE : You need to set these IP so that last_ip_addr - first_ip_addr is 2^n).  And changed ipv6 address in the same logic.

LTE MOCN Configuration MME 0 03

 

Configuration for MME 1

Followings are the configuration in mme-ims-2plmn-1.cfg . NOTE that this MME has configured for the PLMN 00101 and use the gtp_addr which is different from MME 0.

I changed the com_addr, gtp_addr, plmn in such a way that it does not overlap with MME 0 configuration.

Set the first_ip_addr to 192.168.2.100 and the last_ip_addr to 192.168.2.164 for "default" PDN.(NOTE : You need to set these IP so that last_ip_addr - first_ip_addr is 2^n).

LTE MOCN Configuration MME 1 01

Set the first_ip_addr to 192.168.3.100 and the last_ip_addr to 192.168.3.164 for "internet" PDN.(NOTE: You need to set these IP so that last_ip_addr - first_ip_addr is 2^n). And change the ipv6 address in the same logic.

Set the first_ip_addr to 192.168.4.100 and the last_ip_addr to 192.168.4.164 for "ims" PDN.(NOTE: You need to set these IP so that last_ip_addr - first_ip_addr is 2^n). And change the ipv6 address in the same logic.

LTE MOCN Configuration MME 1 02

Set the first_ip_addr to 192.168.5.100 and the last_ip_addr to 192.168.5.164 for "sos" PDN.(NOTE: You need to set these IP so that last_ip_addr - first_ip_addr is 2^n). And change the ipv6 address in the same logic.

LTE MOCN Configuration MME 1 03

 

Configuration for ue_db

In ue_db-ims-2plmn.cfg, I have defined two USIM parameters as shown below. The first USIM parameter is one of the default parameters and the second one is just copy of the first one and I just changes PLMN.

For the first UE, I set the imsi to 0010123456789 with PLMN part 00101

LTE MOCN Configuration ue db 01

For the second UE, I set the imsi to 0010223456789 with PLMN part 00102

LTE MOCN Configuration ue db 02

 

Configuration for ots

In ots-2mme.cfg , I have added the following part to lauch the second mme in addition to the first mme by lte service. I created a new component named "MME1" and associated it with mme-ims-2plmn-1.cfg.

LTE MOCN Configuration ots 1

 

Configuration for UEsim

In ue-lte-2plmn.cfg , I have configured the following two UEs. What I want to try is to configure two UEs and let each of the UE to camp onto two different PLMN configured in Callbox.

First, it is important to set multi_ue: true since I want to simulate two UEs in this test.

LTE MOCN Configuration UEsim 0

For the first UE, I forced it to camp onto the plmn "00101" by setting preferred_plmn_list to "00101" and setting ims to "001010123456789"

LTE MOCN Configuration UEsim 1

For the second UE, I forced it to camp onto the plmn "00102" by setting preferred_plmn_list to "00102" and setting ims to "001020123456789"

LTE MOCN Configuration UEsim 2

 

Perform the test

Check basic cell configuration with cell phy and cell command and see if it is configured as intended.

LTE MOCN Run 1

In (enb) check the status of s1 connection. It will take some time for both mme to launch. It will take around 30 secs until you get both s1 connected.

LTE MOCN Run 2

Start (enb) trace log

LTE MOCN Run 3

Power on the first UE in UEsim. If you are using commercial UE instead of UEsim, power on the first UE.

LTE MOCN Run 3 1

Confirm that the UE camp onto the cell.

LTE MOCN Run 4

Power on the second UE in UEsim. If you are using commercial UE instead of UEsim, power on the second UE.

LTE MOCN Run 5

Confirm that the UE camp onto the cell.

LTE MOCN Run 6

Check the connected UEs in (enb) and you will see the two UEs are listed. (NOTE : If the UE complete the attach and gets into idle mode, you would not see the UE in this list even if it camped on. Don't worry about it and proceed to next step)

LTE MOCN Run 7

Check on the connected UE in mme (MME 0) and confirm that the UE is assigned with an IP address. Also you can confirm on PLMN that the UE registered here.

LTE MOCN Run 8

Check on the connected UE in mme (MME 1) and confirm that the UE is assigned with an IP address. Also you can confirm on PLMN that the UE registered here.

LTE MOCN Run 9

 

Log Analysis

View Sample Log

To verify the operation of MOCN, you need the log for almost all the components of RRC, NAS, Core Network.  Enable ENB, MME. For ENB, you may only need RRC, NAS, but I would recommend you to collect the log for all the component of ENB, MME.

LTE MOCN Log 01

Enable all the components of MME (Corenetwork) log.

LTE MOCN Log 02

You may filter NAS, RRC, S1AP for Analysis for signaling message that are related to MOCN operation.

LTE MOCN Log 03

Make it sure that S1AP is established both for MME1 and MME2.

Check out SIB1 and ensure that it is broadcasting two PLMNs that are specified in the configuration file. In terms of signaling point of view, this is a crucial part of MOCN.

LTE MOCN Log 04

Check out S1AP setup to MME1 (you can confirm on this with IP and port number) and pLMNIdentity and broadcastPLMNs. You see here that pLMNIdentity is 00101 and broadcastPLMN is set to be 00101 and 00102.

LTE MOCN Log 05

Check out S1AP setup response from MME1 and confirm servedPLMNs. It is set to 00101.

LTE MOCN Log 06

Check out S1AP setup to MME2 (you can confirm on this with IP and port number) and pLMNIdentity and broadcastPLMNs. You see here that pLMNIdentity is 00101 and broadcastPLMN is set to be 00101 and 00102.

LTE MOCN Log 07

Check out S1AP setup response from MME1 and confirm servedPLMNs. It is set to 00102.

LTE MOCN Log 08

Check out Attach Request from the first UE(You can tell each UE apart from UE ID) and confirm on IMSI value. It is 0010123456789 in this case.

LTE MOCN Log 09

Check out S1AP Initial UE message for MME1 and confirm on id-TAI pLMNidentity and id-EUTRAN-CGI pLMNIdentity. Both are set to 00101 in this case.

LTE MOCN Log 10

Check out S1AP Initial context setup request message for MME1

LTE MOCN Log 11

Check out Attatch Accept for UE1 and confirm that the assigned IP is within the range that you specified in the configuration file.

LTE MOCN Log 12

Check out ESM Information for UE1 and take a look at network name. It is set to "Amarisoft Network" in this case.

LTE MOCN Log 13

Check out Attach Request from the second UE(You can tell each UE apart from UE ID) and confirm on IMSI value. It is 0010223456789 in this case.

LTE MOCN Log 14

Check out S1AP Initial UE message for MME2 and confirm on id-TAI pLMNidentity and id-EUTRAN-CGI pLMNIdentity. id-TAI pLMNidentity are set to 00102 and id-EUTRAN-CGI pLMNIdentity is set to 00101 in this case.

LTE MOCN Log 15

Check out S1AP Initial context setup request message for MME1

LTE MOCN Log 16

Check out Attatch Accept for UE2 and confirm that the assigned IP is within the range that you specified in the configuration file.

LTE MOCN Log 17

Check out ESM Information for UE1 and take a look at network name. It is set to "Amarisoft Network 1" in this case.

LTE MOCN Log 18

 

 

RRC / NAS Signaling

 

SIB1

: This is the SIBmessage sent by eNB  to configure multiple PLMN. (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: systemInformationBlockType1: {

    cellAccessRelatedInfo {

      plmn-IdentityList {

        {

          plmn-Identity {

            mcc {

              0,

              0,

              1

            },

            mnc {

              0,

              1

            }

          },

          cellReservedForOperatorUse notReserved

        },

        {

          plmn-Identity {

            mcc {

              0,

              0,

              1

            },

            mnc {

              0,

              2

            }

          },

          cellReservedForOperatorUse notReserved

        }

      },

      ...

    },

    cellSelectionInfo {

      ...

    },

    ...

    schedulingInfoList {

      ...

    },

    ...

  }

}

 

 

EMM Information

: This is the EMM Information sent by eNB  to inform the network name. (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).

Protocol discriminator = 0x7 (EPS Mobility Management)

Security header = 0x2 (Integrity protected and ciphered)

Auth code = 0xba7bd082

Sequence number = 0x02

Protocol discriminator = 0x7 (EPS Mobility Management)

Security header = 0x0 (Plain NAS message, not security protected)

Message type = 0x61 (EMM information)

Full name for network:

  Length = 16

  Data = 81 c1 76 58 9e 9e bf cd 74 90 b3 4c bf bf e5 6b

Short name for network:

  Length = 9

  Data = 81 c1 76 58 9e 9e bf cd 74

Local time zone = 10

Universal time and local time zone:

  Data = 22 30 70 22 51 41 0a

Network daylight saving time:

  Length = 1

  Data = 00

 

 

Tips

 

Decoding Network Name

You can decode Network Name into human readable format using an online tool : http://smstools3.kekekasvi.com/topic.php?id=288

LTE MOCN Tips DecodingNetworkName 01