Kurento Media Server (KMS), a top-tier WebRTC media server in the MCU category, powers real-time multimedia applications. A client in the insurance sector faced a significant challenge with their conferencing application, which struggled to host multiple meetings on the media server and required frequent restarts, posing a major risk to their production system.
SpringCT investigated the system and identified the root cause: improper coding that prevented media pipelines—resources on the media server—from being released under certain conditions, leading to a gradual increase in server load. To resolve this, SpringCT developed KMS Monitor tool that can monitor media pipelines and endpoints present challenges, particularly with issues like lingering zombie endpoints after meetings.
- Kurento API: Kurento Client JS APIs for monitoring pipeline components and Stats API for real-time statistics on media flows and connections.
- WebSocket Communication: Enables low-latency updates between KMS and the monitoring dashboard.
- Visualization Libraries: Tools like D3.js to dynamically render the pipeline connections and media flows.
- Backend Infrastructure: Node.js and Express for handling communication between the KMS Monitor and Kurento Media Server.
- UI Frameworks: Modern web technologies like React.js for an interactive and responsive user interface.
- Detection of Zombie Endpoints: The monitor identified zombie pipelines and endpoints post-conference, enabling cleanup and freeing up server resources, which also helps finding defects in KMS pipeline architecture on the KMS App Server.
- Improved Debugging: With real-time stats and WebRTC negotiation insights, developers reduced troubleshooting times by 50%.
- Enhanced Media Quality: Continuous monitoring allowed for proactive identification of packet loss and bitrate issues, ensuring smoother media delivery.
- Operational Efficiency: Media operations teams gained better visibility into active sessions, reducing downtime and enhancing user experience.
- The KMS Monitor has proven to be an indispensable tool for managing Kurento Media Server instances.
- By detecting and addressing issues like zombie endpoints and providing real-time feedback on media flows, SpringCT could significantly improved system performance and reliability by fixing the code.


