Case Study
Case Study
Enhancing Application performance with KMS Monitor
Watch Video
Set up a Meeting

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.

developed KMS Monitor tool that can monitor media pipelines and endpoints present challenges, particularly with issues like lingering zombie endpoints after meetings.

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 recognized the need for a tool to monitor the media server's internal operations, including the creation and connection of media pipelines, and ensure their proper destruction.

Product Features
The KMS Monitor is a comprehensive monitoring tool designed for Kurento Media Server. Its key features include:
Pipeline Visualization:
Real-time graphical representation of media pipelines and connections between endpoints.
Media Flow Monitoring:
Visual indicators (green for healthy, red for issues) to show media flow directions and detect transmission problems.
Detailed Stats Analysis:
Key metrics such as bitrate, packet loss, and latency for each connection.
WebRTC Negotiation Inspection:
Displays offer and answer exchanges for effective debugging.
PlayerEndpoint Attachment:
Allows direct playback of media streams for inspection and validation.
Technical Challenges
Zombie Pipelines and Endpoints
Zombie WebRTC endpoints and pipelines would occasionally persist even after conferences ended, consuming server resources unnecessarily and impacting new sessions.
Lack of Real-Time Feedback
Without a monitoring solution, identifying and diagnosing issues like packet loss, latency, or ICE candidate failures required significant manual effort.
Complex Debugging
Troubleshooting WebRTC sessions without clear visibility into offer/answer exchanges or endpoint stats slowed resolution times.
  • Efficiently managing synchronization of real-time activities data from RingByName server
  • Efficiently managing synchronization of large number of contacts between RingByName and HubSpot
  • Integration of HubSpot calling SDK to provide calling feature in application
Technologies Used
  • Efficiently managing synchronization of real-time activities data from RingByName server
  • Efficiently managing synchronization of large number of contacts between RingByName and HubSpot
  • Integration of HubSpot calling SDK to provide calling feature in application
The KMS Monitor leverages the following technologies:
Kurento API
  • Kurento Client JS APIs for monitoring pipeline components.
  • Kurento Client JS 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.
Results
The implementation of the KMS Monitor led to significant improvements:
  • 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.
Conclusion
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.