Telecommunications, especially with the advent of 5G and networking, is a gigantic field packed with a vast assortment of technologies and systems working in harmony. Interpreting the raw log data derived from a 5G base station can be a daunting task due to the diversity and complexity of the data. There are numerous types of log data from various aspects of 5G communication, including eNB, IMS, MME (see below) logs, and more.
- eNB (Evolved NodeB): In 4G/LTE networks, the eNB refers to a base station that manages mobile devices within its cell(s). It’s responsible for tasks like radio resource management, routing of user data, and transmission of paging messages.
- IMS (IP Multimedia Subsystem): The IMS is a framework used to deliver IP multimedia services like voice calls, video calls, and messaging. Designed by the 3rd Generation Partnership Project (3GPP), it’s a core component of mobile networks, including 4G and 5G.
- MME (Mobility Management Entity): Part of the 4G/LTE network, the MME oversees high-level functions like tracking and paging procedures, bearer activation/deactivation, and selection of the network for roaming. It also handles user authentication and security procedures.
To make this data more understandable and accessible, we developed the 5G dashboard. This tool consolidates all these disparate logs into an intuitive visual dashboard. The dashboard provides an interesting and insightful visualization for companies interested in 5G. The tool was specially designed to break down key facts about 5G telecommunications into bite-sized, easy-to-understand visuals to help bridge knowledge gap and give users a quick overview over the 5G network, and to provide a swift scan over the most significant factors shaping 5G communication.
The 5G dashboard has been designed to function alongside the Amarisoft Callbox base station. Employing a modular approach within its source code, it allows for future inclusion of additional base stations.
Device Metrics companion app
A companion app has been developed to work in tandem with the 5G dashboard. It offers mobile-accessible 5G statistics and supports GNSS tracking within the 5G dashboard for connected devices.
The device metrics interface is a streamlined version of the 5G dashboard, showcasing only the 5G metrics relevant to the current User Equipment.
Development process
The development of the dashboard was split into two parts, each requiring a different programming language:
Python server
The Python web server serves as a simple bootstrap mechanism to launch the application within the local web browser. In the past, this component may not have been necessary. However, due to recent security enhancements, websites can no longer function exclusively within the local filesystem.
We designed the Python server to be self-sufficient, without the need for third-party dependencies. The Python 3 standard library provides all the necessary tools to create a basic web server.
HTML5 and Javascript
The dashboard client operates entirely within a web browser, making it an HTML5 application. These applications, typically written in the Javascript programming language, differ from native applications. Despite being an old language that originated in 1995, JavaScript has undergone numerous updates over the years. Today Javascript is one of the most widely used programming languages in the world and powers most of the modern web.
Adopting a class-based OOP (Object-Oriented Programming) paradigm, we divided the 5G dashboard client into several self-contained modules or classes. Overall, the dashboard is written in a programming language that is both widely used and understood, thereby facilitating easier updates and maintenance in the future.
We used Chart.js, a third-party library, to display the charts on our dashboard. Javascript is recognized for its extensive software ecosystem, one of the largest globally, which facilitates the development of complex applications.