MongooseIM connects millions of real-time video calls

MongooseIM
5 min readMay 14, 2019

For many years MongooseIM and Vidyo’s real-time video platform grew together utilizing and expanding the capabilities of XMPP. Together we have created a highly reliable, secure and scalable infrastructure that assures high network and error resilience, geo-redundancy, high service availability, and minimal downtime. On top of that Vidyo sponsored many of the open source features our community is enjoying today! In this case study, we are proud to share the story of what has been achieved.

Vidyo.io

Vidyo.io is the only video collaboration platform that provides a multi-party experience without the compromises of peer-to-peer, or bridged calls. Its Video API allows its clients to easily build and embed highly reliable and scalable video chat into their applications. Vidyo.io’s developer-friendly API and global presence have seen the technology adopted in use cases such as telehealth, remote support, and team collaboration.

Challenge

A decade ago, Vidyo set out to be the world’s leading content delivery network for real-time video. Vidyo pioneered Scalable Video Coding (SVC) technology and was the first to take advantage of H.264 compression with SVC. Over time, as internet speeds rose and global internet coverage grew, so did user expectations and real-time video use cases. Vidyo identified an opportunity among new industries. In emergency response and telehealth, doctors could use video platforms to administer remote healthcare. Brands could use video to see eye-to-eye with their dissatisfied customers during video support calls, offering technical support then and there. Even financial services had a use case, where bankers could discuss high-value transactions with their agents at the click of a button. Many of these new opportunities would offer time-, Security-, and quality-critical conversations to Vidyo’s clients; conversations that would not tolerate downtime or lag, no matter the user’s location or network quality.

Vidyo set out to develop a highly reliable, secure and scalable infrastructure that assured high network and error resilience, geo-redundancy, high service availability, and minimal downtime. Enter: Vidyo.io - a new kind of video platform whose point of difference lies in offering cloud-based services which leverage the company’s years of work on creating industry-leading video technology.

This required a signaling layer that would enable them to scale to millions of users and become the basis of all communications across Vidyo.io’s platform.

Vidyo.io’s requirements included:

  • A battle-hardened stack proven to work at a global scale
  • BOSH support to support the endpoints
  • Cross-platform compatibility and support
  • Rock-solid firewall traversal to allow P2P video conferencing systems to communicate smoothly across networks but without compromising the security
  • An open source and cost-effective solution
  • A responsive team willing to collaborate on bespoke features

Solution

XMPP emerged as the only globally viable stack for Vidyo.io.

XMPP is an open source, secure and standards-based protocol for real-time communication maintained by the XMPP Standards Foundation (XSF). It currently powers a wide range of applications including instant messaging, presence, collaboration, multiparty chat, IoT, and voice and video calling.

Throughout the market investigation, Vidyo.io assessed various XMPP servers on the market, looking closely at existing deployments, case studies, and evaluations.

Vidyo.io’s unique feature requirements and their deployment of the XMPP protocol meant that their stack would need a number of iterations to meet their needs. They also needed a reliable, responsive tech partner who was open to making various adaptations to the stack to address their specific use case.

Vidyo.io started using an open source version of MongooseIM, Erlang Solutions’ robust XMPP platform aimed at large installations. Soon after their evaluation process, Vidyo.io reached out to Erlang Solutions for further consulting and support.

As Vidyo.io’s specific use case required the development of new features, Erlang Solutions worked closely with them to extend the MongooseIM platform with features that would meet their needs and benefit the larger open source community.

Erlang Solutions consulted on technical issues and architectural aspects of Vidyo.io’s solution, as and when needed throughout the development process, over the course of a few years.

In exchange, Vidyo.io sponsored the development of these new features, which were later merged with the open source MongooseIM server. Vidyo.io was able to maintain its autonomy and nurture its internal teams by working through different areas in-house while relying on Erlang Solutions’ consultants when XMPP and Erlang expertise was needed.

Result

Today, MongooseIM is pivotal to Vidyo.io’s service. Once any single Vidyo.io call is established, all of signaling and call control - including call setup and teardown, virtual meeting room management, chat, geo-allocation, and authentication - happens over their XMPP channel, powered by MongooseIM.

XMPP made it really simple for Vidyo.io’s own back-end developers to use a federated, cluster-based architecture.

By selecting MongooseIM, the call process was made as smooth as possible for third-party application developers integrating Vidyo.io into their own apps. So smooth, in fact, that app developers can build a video chat app using Vidyo.io in just nine minutes.

Features Vidyo.io sponsored in open source MongooseIM:

  • Dynamic configuration to add and remove tenants to Vidyo.io’s hosted environment without taking down the whole system
  • Multi-tenant support, which is increasingly important in recent architectures to make MongooseIM cloud-ready
  • Reverse proxying for load balancing in the cloud
  • Modern token-based authentication to help integrate with Vidyo.io’s front-end and other back-end services
  • Features associated with third-party components

Vidyo.io was able to significantly lower their total cost of ownership (TCO) in the long term by collaborating with Erlang Solutions on the open source MongooseIM. Erlang Solutions’ team is responsible for iterating on the platform, taking ownership of all of the features in the stack, including those sponsored by Vidyo.io, and the associated maintenance costs. For Vidyo.io it was one-off spend to add features that cater precisely to their use case.

The collaboration also allowed Erlang Solutions to press forward with one of the most competitive XMPP servers on the market - MongooseIM. This venture has enriched the MongooseIM platform with new, battle-tested features, which have been embraced by the wider open source community.

Today, Vidyo.io is a leading content delivery network for scalable real-time video. They have over 15 points of presence globally and counting. What’s more, they cater to industries including telehealth, remote support, field services, customer engagement, and finance.

Vidyo.io was able to benefit from custom software developed to meet their precise needs in the context of an open source framework. Erlang Solutions’ flexible, customized approach gave Vidyo.io a world-class solution with excellent support. A win-win for Vidyo.io, for MongooseIM, and most importantly - for Vidyo.io’s customers who get the best quality video possible as a part of their application.

Originally published at www.erlang-solutions.com.

--

--

MongooseIM

Highly scalable instant messaging platform that allows app builders, startups, and Fortune 500 companies to build cost-effective communication solutions.