What is IMS Logger app on Android?

What is the IMS Logger App?
IMS Logger is an Android app that logs IMS service messages. It was developed by Anritsu, a telecommunications testing company. The app helps debug issues with VoLTE (Voice over LTE) and other IMS (IP Multimedia Subsystem)-based services.
IMS Logger captures and saves session trace messages between an Android device and the mobile network. It provides useful diagnostic information for network operators, equipment vendors, and other telecom industry professionals. By analyzing the logs, they can troubleshoot problems, optimize network performance, and improve the user experience.
Some key capabilities of the IMS Logger app include:
- Non-intrusive capturing of signaling and voice/video session data
- Support for 4G LTE and 5G networks
- Decoding of complex IMS protocols such as SIP and RTP
- Wireshark-compatible tracing format
- Intuitive playback and analysis features
Why Use the IMS Logger App?
The main reasons to use the IMS Logger app are to troubleshoot problems with VoLTE (Voice over LTE), ViLTE (Video over LTE), and VoWiFi (Voice over WiFi) calls, analyze registration issues with IMS services, and view detailed message flows between the device and network (Converged Devices, 2023). The app provides logs and debugging information that can help identify the root cause of issues with HD voice calls, video calls, and other IMS-based services on Samsung devices.
Specifically, the IMS Logger app allows users to:
- View registration status and debug any IMS registration failures.
- Check SIP signaling messages to troubleshoot call setup issues.
- Inspect SIP session timer details for abnormalities.
- Analyze SIP message headers and payload to diagnose problems.
- Identify issues during handovers between VoLTE/ViLTE and legacy networks.
By providing visibility into IMS service diagnostics, the app enables resolving problems that may otherwise be difficult to troubleshoot. The technical logs allow identifying if an issue lies with the device, network, or configuration.
Key Features of the IMS Logger App
The IMS Logger app has several useful features for capturing and analyzing SIP signaling messages on Android devices:
- Captures SIP signaling messages – The app can log all Session Initiation Protocol (SIP) messages sent to and from the device. SIP is used for initiating, managing, and terminating voice and video calls over IP networks.
- Parses messages and displays details – It parses the raw SIP messages and displays them in a readable format showing all the important fields and protocol headers.
- Filters log views – Users can filter the message logs by parameters like IMSI, Call ID, etc. to quickly find relevant messages.
- Exports message logs – The IMS Logger allows exporting the captured SIP message logs in .pcap format. This allows analyzing the logs in other tools like Wireshark.
These capabilities make the IMS Logger app useful for troubleshooting issues, analyzing network traffic, and learning about SIP signaling.
Requirements to Use the App
The IMS Logger app has a few key requirements in order to function properly on an Android device:
First and foremost, the device needs to be rooted. Rooting gives the app elevated privileges to access logs and other protected data on the device that would normally be restricted. Without root access, the IMS Logger app would not be able to retrieve the detailed cellular and messaging logs it needs to analyze.
Additionally, the app only works on devices with Qualcomm chipsets. Qualcomm is the largest supplier of SoCs (systems on a chip) for Android phones and tablets. The IMS Logger app specifically taps into advanced Qualcomm debugging capabilities in order to extract the IMS logs. Devices running Mediatek, Samsung Exynos, or other non-Qualcomm SoCs are currently not supported.
So in summary, to use the IMS Logger app you need a rooted Android phone or tablet with a Qualcomm Snapdragon SoC. The app will not function on non-rooted devices or devices with other chipsets besides Qualcomm.
How to Install and Set Up
To use the IMS Logger app, you first need to download and install it on your Android device. The app can be downloaded directly from the Anritsu website or their GitHub repository:
From Anritsu website: https://www.anritsu.com/en-US/test-measurement/products/MT8000A/software-tools/ims-logger
From GitHub: https://github.com/Anritsu/imslogger
The IMS Logger app requires a rooted Android device in order to function properly. Root access allows the app to log detailed message information at the system level.
After downloading, open the app and grant root permissions when prompted. This allows the app full access to log IMS messages.
Next, configure the log location where you want the IMS logs to be saved. The app lets you choose either internal storage or external SD card. Select the desired location in the app settings.
Once the log location is set, the IMS Logger app is ready to start recording message traces. Simply tap the “Record” button to begin logging IMS traffic on your device.
Interpreting the Message Logs
The message logs generated by the IMS Logger app contain detailed information about the registration, call setup, and media control messages sent between clients during VoIP calls. By examining the SIP headers, SDP parameters, and error codes in these logs, you can analyze exactly what is happening during a call.
For example, the Via
, From
, To
, and Call-ID
SIP headers allow you to correlate messages belonging to the same call. The SDP body includes ports used for media, codec information, and other call parameters. Status codes like 100 Trying
, 180 Ringing
, 200 OK
show call progression. Error codes like 404 Not Found
or 486 Busy Here
indicate call failures.
By parsing through these logs and identifying patterns, you can troubleshoot call connectivity issues, optimize network performance, and understand exactly how calls are being handled end-to-end.
Use Cases and Examples
The IMS Logger app allows users to diagnose and troubleshoot various issues related to voice calls and messaging services. Here are some common use cases and examples of how the IMS Logger can be used:
Diagnose VoLTE registration problems – The IMS Logger provides detailed logs of the VoLTE registration process, including any errors or connection issues. By reviewing the logs, users can identify failure points and troubleshoot problems registering with the VoLTE network.1
Understand call setup delays – The call flow information in the IMS Logger helps pinpoint any delays in call setup signaling between the device, network, and remote user. Users can see each step of call setup and where bottlenecks may be occurring.
Identify codec negotiation issues – The IMS Logger logs the codec negotiation process between devices. If calls are connecting with suboptimal codec quality, the logs can be reviewed to see why the ideal codec was not selected and troubleshoot any codec incompatibility issues.
Limitations
The IMS Logger app has some key limitations to be aware of:
It only works on Qualcomm-based Android phones. Since the app relies on accessing proprietary Qualcomm modem debug messages, it will only function on devices using Qualcomm chipsets. Phones from other manufacturers or running other chips like MediaTek won’t be compatible.
The IMS Logger doesn’t log RTP media packets. It can only log signaling messages and metadata related to calls and texts. The actual voice and media content of calls cannot be captured. This may limit its usefulness for troubleshooting call quality issues.
There is limited decoding of some proprietary parameters. While the app does its best to parse all the modem debug data, there are likely proprietary fields and values that it cannot fully decode. Expert analysis of the logs may be able to extract more insights.
Overall, while a useful troubleshooting tool, the IMS Logger has constraints in terms of compatible devices and the extent of decoding. Power users should factor this in when evaluating the app’s capabilities.
Privacy Concerns
When using the IMS Logger app, it’s important to be aware of potential privacy concerns around the data being logged. According to IBM’s documentation, IMS logs can contain sensitive information like IMSI numbers and phone numbers. Before using the app and sharing any logs, it’s recommended to carefully review the logged information and redact any personal data.
To protect privacy when testing the IMS Logger app, it’s best to use a separate test SIM card rather than your primary phone number. The app logs each message interaction, so personal or sensitive communications could end up in the log files. Using a test SIM helps isolate any logged information from your real identity or contacts.
Overall, be cautious when dealing with the potentially sensitive information in IMS logs. Scrutinize the data before disseminating logs further. Consider if there are privacy implications for you or others involved, and take appropriate precautions to safeguard personal data.
Conclusion
In summary, the IMS Logger app fills an important gap for network engineers and developers who need insights into IMS services on Android devices. While Android offers basic logs, the IMS Logger captures detailed SIP signaling messages that are crucial for troubleshooting issues. The app provides a useful toolkit for anyone working with VoLTE, ViLTE, RCS, and other IMS-based services.
With its ability to capture, parse, and display IMS call flows and message contents, the IMS Logger app enables deep analysis of the signaling protocols powering next-generation networks. The advanced filtering and decoding features allow engineers to easily home in on specific procedures or error conditions. Whether optimizing services or tracking down bugs, the IMS Logger app delivers the fine-grained visibility needed into the IMS core.
In an era of all-IP networks, the IMS Logger app is an invaluable tool for anyone testing, deploying, or managing mobile services. It provides detailed insights that simply aren’t available through generic Android logs. For developers and engineers working on the cutting edge of IMS technology, the IMS Logger app is an essential aid for understanding these complex signaling protocols on real-world devices.