Installation - MBMSGW
The purpose of this tutorial is to show you how to install MBMSGW(MBMS Gateway).
Table of Contents
Introduction
MBMSGW (MBMS Gateway) is a crucial component in the deployment of Multimedia Broadcast Multicast Services (MBMS) within LTE and 5G mobile networks. It acts as the interface between the core network and the radio access network for broadcast and multicast data delivery, enabling efficient transmission of multimedia content such as video, audio, and emergency alerts to multiple users simultaneously. The MBMSGW handles session management, IP multicast distribution, and integrates with other essential network elements like the Broadcast Multicast Service Center (BM-SC) and the Mobility Management Entity (MME). Its architecture is designed to support high-throughput, low-latency delivery while maintaining compatibility with evolving mobile standards. Deploying MBMSGW requires careful consideration of licensing, hardware specifications, and network configuration to ensure optimal performance. As networks increasingly leverage broadcast and multicast capabilities for content delivery and public safety, mastering the installation and operation of MBMSGW is vital for network engineers and administrators involved in modern mobile communications ecosystems.
-
Context of MBMSGW (MBMS Gateway)
- MBMSGW is a specialized gateway used in LTE and 5G networks to facilitate Multimedia Broadcast Multicast Services (MBMS).
- It plays a pivotal role in distributing broadcast and multicast content efficiently across the radio network, reducing network load and enhancing user experience.
- MBMSGW interfaces with core network entities and manages multicast IP flows, session setup, and signaling required for MBMS service delivery.
-
Relevance and Importance of the Tutorial
- Proper installation and configuration of MBMSGW are essential for enabling advanced broadcast/multicast features in mobile networks.
- This tutorial addresses the technical steps required for deploying MBMSGW, which is critical for operators and system integrators aiming to provide scalable multimedia services.
- Understanding MBMSGW installation is vital for ensuring service reliability, compliance with network standards, and optimal use of network resources.
-
What Learners Will Gain from this Tutorial
- Step-by-step knowledge of how to install MBMSGW on a supported platform.
- Understanding of license requirements and how to obtain the necessary permissions for installation (including consultation with sales@amarisoft.com).
- Familiarity with configuration parameters, integration points with other network elements, and verification of gateway functionality.
- Ability to troubleshoot common installation issues and validate the MBMS service delivery pipeline.
-
Prerequisite Knowledge and Skills
- Basic to intermediate understanding of mobile network architecture (LTE/5G core and radio access networks).
- Familiarity with Linux-based system administration and network configuration.
- Access to Amarisoft software resources and awareness of relevant licensing procedures.
- Optional but beneficial: Prior experience with multicast networking and broadcast service deployment in mobile networks.
Summary of the Tutorial
This tutorial provides a step-by-step procedure for installing and verifying the Amarisoft LTE package, including the MBMSGW (Multimedia Broadcast Multicast Services Gateway) component. The procedures focus on downloading, installing, configuring, and verifying the software components required for LTE operation. Below is a summary of the test and verification procedures described in the tutorial:
-
Download and Preparation:
- Download the installation tarball from the Amarisoft Extranet account.
- Place the package in the desired directory (e.g., /root or /tmp), noting that /tmp is volatile and may be cleared on reboot.
-
Installation Procedure:
- Untar the downloaded package to extract the installation files.
- Navigate to the extracted directory and list its contents to locate the install.sh script.
- Execute the install.sh script, which will prompt for various installation options, including:
- Enabling LTE automatic service
- Migrating configuration files from previous versions
- Enabling NAT for IPv4 and IPv6
- Turning off hyperthreading (recommended)
- Installing optional components: EPC, IMS, eNB, MBMS gateway, Satellite utilities, Web interface, LTE monitoring, and others
- Selecting TRX radio frontend and enabling MIMO if required
- Configuring each component as prompted
- The script will perform installation steps for each selected component, manage required kernel modules, check firmware versions, and upgrade devices as necessary.
- Configuration files are migrated or imported based on user selection.
- Upon completion, the script will indicate a successful installation.
-
Directory and Configuration Verification:
- After installation, verify the presence of key directories in the installation path (e.g., enb, mme, ue, ots, trx_ip).
- Optionally, review the ots configuration file for details on component integration, logging, and service options. Confirm that MBMSGW is listed as a component if installed.
-
Software Run and Basic Functionality Check:
- Restart the LTE service using service lte restart.
- Attach to the multi-component management interface using screen -r.
- Confirm that the MBMSGW component appears at the bottom of the screen session, which indicates successful installation.
- Switch to the MBMSGW screen (typically with Alt+A then 4) and wait for initial output. A short delay (20-30 seconds) may occur before output appears.
- Run the help command in the MBMSGW screen. If command output is displayed, this confirms the MBMSGW is operational.
Conclusion: The described procedures ensure the correct installation and basic verification of the Amarisoft LTE system and its components, with a focus on MBMSGW. The checks confirm that all required services load and operate as expected after installation.
Download the New Release
The trx ip functionality does not require any special software, it is included in the regular installation package. Soyou can download the installation package (Tarball) from Amarisoft Extranet account as you download your regular installation packageas shown below.

You can place the downloaded package anywhere you like. In this tutorial, I put it in /root directory as shown below.

Install
Untar the package as shown below
![]()
You will get the untared directory as shown below. You will see all the software packages for installation in this directory.

Go to the untarred directory and list the files in it. You will see the installation shell program and other files required for installation (In this specific case shown above, go do the directory '2021-11-19' to get the contents as shown below.)

Go through the installation procedure as shown below.
|
[root@CBC-2023010100 2025-06-13]# ./install.sh Callbox Classic model found Fedora 34 found ************************************************************* * Installing Amarisoft LTE 2025-06-13 (2025-07-03 12:44:18) * ************************************************************* 1) Configuration You can exit install script during this step, nothing will be changed until next step * Do you want to install LTE automatic service ? Package screen may be installed. [Yn] y - Do you want to migrate your config files from current running version ? [Yn] y - Do you want to enable LTE automatic service ? [Yn] y - Do you want to use NAT for IPv4 ? [Yn] y - Do you want to use IPv6 ? [Yn] y - Do you want to use NAT for IPv6 ? [Yn] y - Do you want to turn hyperthreading off (we strongly recommand it) ? [Yn] y * Do you want to install EPC ? Package lksctp-tools may be installed. [Yn] y - Do you want to migrate your config files from current running version ? [Yn] y - Do you want to install IMS ? [Yn] y * Do you want to install eNB ? Package lksctp-tools may be installed. [Yn] y - Do you want to migrate your config files from current running version ? [Yn] y - Select TRX radio frontend: 1) s72 2) n2x0 3) b2x0 4) x3x0 5) n3x0 6) limeSDR 7) limeMini 8) sdr (default) 9) ip > 8 (sdr) - Do you want to use MIMO ? [yN] y * Do you want to install N3IWF ? Package lksctp-tools may be installed. [yN] n * Do you want to install UE simulator ? [yN] n * Do you want to install Spectrum viewer ? [yN] n * Do you want to install LTE probe ? [yN] n * Do you want to install LTE scanner ? [yN] n * Do you want to install Satellite utilities ? [yN] y - Do you want to start automatically ? [Yn] n - Do you want to migrate your config files from current running version ? [Yn] y * Do you want to install Web interface ? Package apache php may be installed. and enable your web server. [Yn] y * Do you want to install license server ? [yN] n * Do you want to install LTE monitoring ? Package nodejs ssmtp may be installed. [Yn] y - Do you want to migrate your config files from current running version ? [Yn] y 2) Install LTE automatic service 3) Install Web interface 4) Install TRX sdr 5) Install EPC Configure IMS Migrate configuration files 103 config file(s) imported 6) Install eNB Use TRX sdr [TRX] Callbox Classic model found [TRX] Fedora 34 found [TRX] Skipping BTF generation for /root/trx_sdr-linux-2025-06-13/kernel/sdr.ko due to unavailability of vmlinux [TRX] Unload current SDR kernel module [TRX] Initialize SDR kernel module [TRX] * Install kernel module [TRX] * Use mapping: 0 1 [TRX] Devices: /dev/sdr0 /dev/sdr1 [TRX] Check firmwares [TRX] SDR board utilities version 2025-05-16, Copyright (C) 2012-2025 Amarisoft [TRX] Upgrading all sdr devices [TRX] -------------------------------- [TRX] sdr0 SDR50 sdr1 SDR50 [TRX] UpToDate UpToDate [TRX] [TRX] Total time: 2.0 s Migrate configuration files 632 config file(s) imported 7) Install MBMS gateway 8) Install Satellite utilities 9) Install LTE monitoring Migrate configuration files No config file(s) imported 10) Finalize LTE automatic service Migrate configuration files Warning, reference config file ots.default.cfg was modified It has been imported as ots.default.cfg.bak, you may report your changes manually 2 config file(s) imported Disable/stop service alsa-state Start service *************************** * Installation successful * *************************** |
Directory Structure of Installed Release
This is just to check up the result of installation. If you check up the file list in the installation directory (/root) you can see enb/mme/ue/ots/trx_ip directories.

Contents of ots Config
This is just for a reference. Usually you may not need to check on this. You may want to check on this only when screen mode (i.e, the user interface with 'screen -r') does not behave as expected.

The contents of the file is as follows. You see the MBMSGW is added as a component.
|
# General ERROR_DELAY="5" # Component restart time in case of error (in seconds) #AMARISOFT_PATH="" # Change license file location #HOSTNAME="My name" # Use this to override system hostname (| are forbidden) # Logs LOG_FILE="ots.log" LOG_FILE_SIZE="2M" # Service log file size threshold for rotation LOG_SIZE="300M" # Components log file size threshold for rotation LOG_COUNT="2M" # Components log file count threshold for rotation LOG_PATH="/var/log/lte/" # Log rotation target path LOG_PERSISTENT_SIZE="5G" # Maximum size of logs to store in LOG_PATH (if no unit KBytes assumed) LOG_PERSISTENT_COUNT="2000" # Maximum number of log file to keep in LOG_PATH LOG_GZIP="0" # Set to positive value to compress logs in LOG_PATH LOG_POLL_DELAY="10" LOG_BACKUP_ON_STOP="y" # Set it to n to avoid log backup (to LOG_PATH) on component stop # Component configuration # <COMP> is component ID and must be unique # # <COMP>_TYPE: component type (LICENSE MME ENB IMS MBMSGW UE...) # <COMP>_TITLE: display name # <COMP>_PATH: Component path. Set it to empty string to disable component # <COMP>_INIT: arguments for lte_init.sh script # <COMP>_WIN: Component screen window # (must be unique) # <COMP>_CONFIG_FILE: config file used by component # <COMP>_OUTPUT_FILE: define it to dump stdout/stderr to a file # <COMP>_AUTOSTART: defines if component must be started by service (default is y) # <COMP>_SCRIPT: defines shell script that will be executed on each component state change # <COMP>_START_DELAY: time to wait in seconds before starting component # <COMP>_OUTPUT_FILE: store stdout/stderr in this file # For more information, check https://tech-academy.amarisoft.com/lteots.doc # List of components to start COMPONENTS="" # Start of section generated by installer # Sat Jul 5 01:00:35 AM UTC 2025 # LTE automatic service config OTS_PATH="/root/ots" #OTS_AUTOSTART="y" #OTS_ADDRESS="" # Set it to force WS address of components from GUI WWW_PATH="/var/www/html/lte/" # EPC config COMPONENTS+=" MME" MME_TYPE="MME" MME_WIN="0" MME_PATH="/root/mme" #MME_AUTOSTART="y" MME_INIT=" -6" MME_CONFIG_FILE="config/mme.cfg" # IMS config COMPONENTS+=" IMS" IMS_TYPE="IMS" IMS_WIN="3" IMS_PATH="/root/mme" #IMS_AUTOSTART="y" IMS_DEP="MME" IMS_CONFIG_FILE="config/ims.cfg" # eNB config COMPONENTS+=" ENB" ENB_TYPE="ENB" ENB_WIN="1" ENB_PATH="/root/enb" #ENB_AUTOSTART="y" ENB_INIT="" ENB_RRH_CHECK="config/rf_driver/rrh_check.sh" ENB_CONFIG_FILE="config/enb.cfg" # MBMS gateway config COMPONENTS+=" MBMSGW" MBMSGW_TYPE="MBMSGW" MBMSGW_WIN="4" MBMSGW_PATH="/root/mbms" #MBMSGW_AUTOSTART="y" MBMSGW_CONFIG_FILE="config/mbmsgw.cfg" MBMSGW_INIT="-6" # N3IWF config COMPONENTS+=" N3IWF" N3IWF_TYPE="N3IWF" N3IWF_WIN="5" N3IWF_PATH="/root/n3iwf" #N3IWF_AUTOSTART="y" N3IWF_INIT="" N3IWF_CONFIG_FILE="config/n3iwf.cfg" # Satellite utilities config COMPONENTS+=" SAT" SAT_TYPE="SAT" SAT_WIN="10" SAT_PATH="/root/sat" SAT_AUTOSTART="n" SAT_ARGS="-m" SAT_CONFIG_FILE="config/sat-mc.cfg" # LTE monitoring config MONITOR_PATH="/root/monitor" #MONITOR_AUTOSTART="y" MONITOR_CONFIG_FILE="config/monitor.cfg" # System configuration HT_STATE="off" # End of section generated by installer |
Checkup Software Run
Once every check up is done, run 'service lte restart' and 'screen -r' just to make it sure the installed software is running without any error.
If you see MBMSGW components at the bottom of the screen, it indicates the MBMSGW is properly installed.

Just for basic functionality check, go to MBMSGW screen by hitting Alt+A and 4. Then wait until you see the initial prints out as shown below (

Just very simple check, run 'help' command and see if you get any result. If you get the proper result with this, it is strong indication that MBMSGW is properly running.
