IMS authors were maybe very wise but probably they were not operation engineers. If you have ever tried to trace all the messages which belong to a certain user/flow, you probably know, what I mean 🙂 Basic VoLTE validation procedures are described at Validating VoLTE document.
In this post I’m getting on a shaky ground. I don’t know all the tools, some tools I know only briefly and I don’t want to promote any particular one (unless it is free :)). I also know that many operators and vendors create their own tools indoors (sometimes quite advanced). However I hope that it makes a sense to briefly list a few tools one can encounter in practice. Would you have any favorite application, please let us know.
The most used protocol analyzer is Wireshark. In my experience 70 – 90 % of all the issues are somehow related to traces and Wireshark is the ultimate tool. Wireshark is free and open and all the authors and contributors deserve our thanks. If you use Wireshark often it pays-off to know a bit more about it, how to adjust the layout, filters, how to follow streams, read statistics etc. – it can save a lot of time and energy.
For developers it is good to know that we can write a dissector for our proprietary protocols. Actually not useful just for developers – if we are not happy with protocol details, we can enhance already existing dissectors too.
The last year we had got a new major version 2, where the Wireshark was ported in Qt.
If you prefer a command-line interface the tshark is your tool. It is working in a similar way as wireshark. Tshark is able to detect, read and write the same capture files that are supported by Wireshark, it enables us to follow streams and see the flow immediately without the need to create and download pcaps on our PC.
Many mobile operators use OSIX from Polystar. This tool (among others) allows to see nicer leader diagrams for end2end VoLTE signalling flows.
IRIS – Session Analyzer
Another tool (or set of tools) from NETSCOUT (tektronix/oracle) which allows to see and analyze end2end flow.
Nectar provides tools mainly for Enterprise calling. It is famous for it’s QoE monitoring.
Probably the most famous open tool for SIP testing. SIPP is rather simple load generator which does use predefined XML templates. However it is sufficient for all the basic functional and load testing. It can be also easily integrated with some other automated test framework.
Another open and free tool. Primarily aimed at IMS (3GPP, TISPAN, CableLabs) protocols. Again very useful for automated testing, if you don’t want to implement protocol stacks yourselves.
ProLab seems like a very powerful suite for IMS testing.
Elevate ProLab IMS Testing Suite provides a complete solution that includes IMS Core, XCAP Server, IMS UE, network impairment and media quality testing, as well as media analysis. It offers audio and video quality measurement and video telephony testing, including motion level and codec testing, along with IMS/LTE test cases employing various scenarios to emulate the network’s UE and IMS Core, QoS, and interoperability. Elevate ProLab comes with built-in scripts, including scripts for interoperability test cases developed by the IMTC IMS Activity Group, a leading VoLTE test consortium. Covered areas include LTE voice call establishment and supplementary services, media testing, network impairment, and more.
http://www.henkel-tk.de/is a small company with a quite powerful engine for performance/load testing for plenty of telco protocols. HTK offers also functional testing module.
Load Multiplier simulates millions of IMS clients to load P-CSCF, I-CSCF and S-CSCF. Except from regular calls Load Multiplier allows also to simulate IMS registrations and supplementary services message flows.
- SIP over UDP, TCP, TLS, Websocket, Secured Websocket
- REGISTER, INVITE, CANCEL, BYE, OPTIONS, PRACK, UPDATE, SUSCRIBE, NOTIFY, REFER etc
- Precondition, MSRP, 100rel etc
- Multiple sessions in a single endpoint
- Simulate any positive / negative scenarios in IMS
- Audio – G711μ, G711a, AMR, OPUS
- Video – H.264, VP8
dsTest – Besides SIP, dsTest supports IMS interfaces such as Rx, Cx/Dx, Sh/Dh, Ro/Gy, and Rf/Gz, and EPC Core interfaces that allow end-to-end testing capabilities in 3G/4G/5G packet core networks. dsTest can emulate a PGW and P-CSCF to simulate VoLTE subscriber activity, initiating procedures with a PCRF over the Gx and Rx interfaces.
VoLTE call flows can be simulated by setting probability assignments for the number of subscribers that will place voice calls, and traffic load profiles can be created that produce the desired volume of simulated voice traffic transactions, thereby triggering the appropriate procedures that would establish dedicated bearers for the traffic. Along with VoLTE call flow testing, the inclusion of a DRA can test the Diameter signaling routing in the simulation.
Oditek provides a test solution on IMS and VoLTE as well as complete VoLTE/RCS testing solution that includes IMS Core, XCAP Server, IMS UE, network impairment and media quality testing as well as media analysis. Oditek can can simulate media from various vendors in multiple formats/codecs including as AMR-WB, AMR-NB, H.264 and MPEG4. Other supported functionalities include Authentication (AKA-MD5, AKA-V2, Digest), Security (SigComp, TLS, IPSec), IPv4, IPv6 Call Features, GSMA test cases such as IR.92, IR.94.. Audio and Video Test Cases based on AMR-WB, AMR-NB, H.263, H.264 and more.
MAPS™ IMS Emulator
GL’s MAPS™ SIP IMS test suite provides an advanced full-fledged network environment that enables user to test their applications, devices, and services prior to deployment on a real-time network. It can be used to simulate all or specific elements within IMS network infrastructure using simple ready-to-use test bed setups.
The network architecture shown above outlines the IMS Core Network elements which can be simulated using GL’s MAPS™ SIP IMS test tool.
MAPS™ SIP IMS test suite is capable of simulating multiple UEs and IMS core elements such as P-CSCF, I-CSCF, S-CSCF, PCRF, MGCF which provides the IMS core network. With the help of mobile phones, and other simulated wireless networks, the VoLTE Lab setup can be operated in real-time for making VoLTE calls and also for interworking with PSTN and VoIP networks. It includes ready-to-use scripts, as per IETF specification. Test scripts include general messaging and call flow scenarios for multimedia call session setup and control over IP networks. Logging and pass/fail results are also reported. Test cases verify conformance of actions such as registration, call control, proxies and other servers.
Lately, MAPS™ IMS Multi Interface emulator is designed to simulate end-to-end Online and Offline charging procedures, interacting with SIP (UEs) and Diameter (OCS, OFCS) interfaces.
A useful free and open tool from google which allows to check the webrtc connectivity including NAT
Another tool for troubleshooting, but more advanced is called netscan.
a great free tool for analyzing the quality of a WebRTC sessions which is already embedded in our chrome browser. Howto understand this tool can be found here.
testRTC is a testing, monitoring and analytics platform designed and built for the WebRTC-based communications. It allows to write test cases using Selenium Nightwatch, use multiple signaling protocols: SIP over WebSocket, XMPP, WebSocket, XHR, configure agents with firewalls or NATs, define network connection speeds and characteristics and plenty of other things. Last but not least the testRTC supports up to 1000’s of parallel connections.
Load Multiplier is a highly scalable software testing solution catering to the Load testing, Performance testing, Capacity testing and Stress testing needs of different product/domains. This tool can also be used for Functionality testing as well as Test Automation. Major features used in WebRTC like SRTP / DTLS, STUN, TURN, ICE, RTCP mux, Audio / Video bundle, OPUS, VP8 etc are supported. Moreover also TURN servers can be load tested directly using Load Multiplier.
callstats.io is a cloud-based monitoring and management service that measures the performance of WebRTC-based video calls. In every conference, you will see the participant information, user event timeline, and connections details. You can also look at various network and media metrics, for example, how latency changed for each user at different moments of the conference.