Every organization depends on communication to run smoothly, whether it’s a hospital coordinating patient care, a school managing hybrid classrooms, or a retailer serving customers across multiple locations. Unified Communications as a Service (UCaaS) has already transformed how teams connect by unifying voice, video, messaging, and collaboration tools under one platform. Now, artificial intelligence is […]
The unified communications landscape is continuing to shift, but not in just one direction. While cloud-native UCaaS still dominates the market share, there’s a growing segment of organizations choosing a more tailored path: hybrid deployment. For teams managing risk, regulation, and real-world infrastructure, hybrid UCaaS offers something pure cloud alone often can’t: control. It extends […]
When the Lights Go Out, Productivity Stops It only takes one router crash or switch failure to bring business to a halt. Phones stop ringing, collaboration tools disconnect, and entire teams sit idle while IT scrambles to fix the problem. For many organizations, the fix seems simple: reboot the equipment. In reality, it means dispatching […]
Unified Communications as a Service (UCaaS) has become the standard for modern business communications. In 2025, organizations of all sizes are transitioning to UCaaS for its flexibility, scalability, and the ability to unify voice, messaging, video, and collaboration in a single platform. Yet when it comes to pricing, the picture is anything but straightforward. Providers […]
Most teams today use too many tools just to get basic work done. One app for chat. Another for calls. A third for video. Then add customer-facing platforms on top, and the setup starts breaking under pressure. Unified business communication platforms remove the clutter. Teams can communicate, collaborate, and manage customer engagement from one place. […]
Jitsi Meet has had support for ReceiverConstraints for video for a long time. Receivers can specify which streams they wish to receive, and at what resolutions, and the backend will attempt to satisfy these constraints subject to the available bandwidth. But the same flexibility was not available for audio — clients always receive all available audio sources. Until now.
This project, implemented as part of GSoC 2025, introduces the ability for receivers to specify which audio sources they wish to receive.
What can we build with this API? Here are some ideas we’re had, but we’re also excited to see what the community comes up with:
Breakout rooms without entirely separate meetings
Deafen
Live-translated meetings (multilingual webinars)
In the rest of this post we describe how audio subscriptions are implemented and what challenges we faced.
Signaling message semantics
At the heart of this project is a new signaling message: ReceiverAudioSubscription. This message expresses which audio sources a participant wishes to receive from the bridge. It has two fields:
Exclude – receive all except the sources listed in list
The list field is relevant only for Include and Exclude. By default, every participant is in All mode, which means that unless a subscription message is sent, all audio sources are forwarded (preserving the old behavior). For example:
This message format defines the contract between clients and the Videobridge: clients describe what they want, and the bridge enforces it.
Client support
On the client side, support for audio subscriptions was added in lib-jitsi-meet PR #2869. Applications can now send ReceiverAudioSubscription messages via simple API calls. The main entry point is:
This instructs the bridge to forward only the streams from Alice and Bob to the local client. For convenience, there is also a higher-level method for the deafen feature:
conference.muteRemoteAudio(true); // equivalent to { mode: "None" }
conference.muteRemoteAudio(false); // equivalent to { mode: "All" }
Internally, lib-jitsi-meet translates these calls into JSON messages sent over the bridge channel. If Include or Exclude is called with an empty list, the client library automatically coerces the request to None or All respectively. This avoids sending no-op messages and keeps behavior consistent.
Backend Support
On the backend, Jitsi Videobridge receives the ReceiverAudioSubscription messages and enforces them. Each conference has an AudioSubscriptionManager, which tracks the subscriptions for all participants. For every incoming RTP packet, it decides which participants should receive it based on their current subscription mode.
Subscription Management in Jitsi Videobridge
Within the Videobridge, each conference has a dedicated AudioSubscriptionManager. This class maintains the subscriptions for all participants and decides, for each incoming packet, which participants should receive it and which should not.
The above sounds straightforward, but in practice there were two main challenges: co-existing with the route-loudest-only option, and handling multi-bridge and mesh scenarios.
Co-existing with route-loudest-only
Videobridge has a configuration option called route-loudest-only. When enabled, it forwards only the three loudest audio sources. This filtering happens early in the packet pipeline, before any other processing. To coexist with this setting, Videobridge ensures that explicitly subscribed sources are always forwarded, regardless of their loudness. For example, in a breakout room scenario, participants must still hear each other even if none of them are among the loudest speakers. Without special handling, route-loudest-only=true would discard these streams before the subscription logic could act. To solve this, the pre-decrypt loudness check was extended to also verify whether any participant has explicitly subscribed to the source. Because this check runs on every incoming packet, it must be highly efficient. To achieve this, the AudioSubscriptionManager keeps a pre-computed set of explicitly subscribed sources, allowing constant-time checks during packet processing.
Multi-Bridge Conferences
In large conferences, Jitsi Meet often deploys multiple Videobridge servers connected in a mesh. A participant connected to one bridge may subscribe to a source hosted on another bridge (“remote source”). However, subscriptions are not automatically propagated across bridges.
To address this, we introduce two new inter-bridge signaling messages: AddAudioSubscription and RemoveAudioSubscription.
When a participant subscribes to a remote source, the first subscription on that bridge triggers an AddAudioSubscription message to the bridge that owns the source.
Conversely, when the last subscription to a remote source is removed, a RemoveAudioSubscription is sent.
This ensures that the subscription state is propagated across the mesh with minimal signaling overhead. The same mechanism applies to “Receiver” endpoints—endpoints that do not send media themselves but only receive streams (see this post for the details). When a bridge receives an AddAudioSubscription, it first checks whether the source belongs to one of its directly connected participants. If yes, it updates its AudioSubscriptionManager; if not, it forwards the message toward the bridge that might host the source. This propagation allows subscriptions from Receiver endpoints, even those not directly connected in the mesh, to reach the correct bridge.
Wrapping up
With this new subscription model, clients can now choose which audio sources to receive, in a similar way they already could for video. The feature supports use cases like breakout rooms, deafen, and selective forwarding in large conferences. The API will soon be available on the server side too, so you can build custom features on top of it.
A different take on UC AI has become part of almost every unified communications (UC) story. It brings speed and efficiency to businesses of all sizes. Sangoma uses AI across our UCaaS (unified communications as a service) platforms to help partners and customers scale faster. The difference is that we don’t stop there. Real business […]
What happens when a single missed message shuts down an entire production line? You lose hours and thousands in revenue. Legacy phone lines, fragmented messaging, and siloed departments lead to delays, confusion, and preventable downtime. Today’s manufacturers need communication tools that match the speed and complexity of their operations. Many manufacturers are replacing outdated phone […]
Today’s schools and universities are managing remote learning, coordinating across campuses, sending real-time updates to parents, and maintaining reliable communication during emergencies. But most are still working with outdated phone systems and segregated apps. This often leads to lost instructional time, overwhelmed staff, families left uninformed, and little room for error in high-stakes situations. UCaaS […]
One year ago, Susan Leveritt joined Sangoma with a mission: empower partners to grow faster and win bigger. Now, we’re proud to announce her promotion to Senior Vice President of Global Sales and Channel Chief. In just 12 months, Susan has transformed how we engage the channel. She’s built stronger alignment and set a bold […]
It’s Friday night and your restaurant is packed. The phone won’t stop ringing. Online orders are pouring in. The kitchen is hustling, servers are rushing between tables, and a delivery driver is waiting for an order that was supposed to be ready ten minutes ago. Somewhere in the chaos, a VIP reservation gets misplaced. This […]
If you’ve worked in hospitality long enough, you know the guest experience lives or dies by how well your team communicates. A warm greeting is just the start, behind the scenes, dozens of fast-moving interactions keep everything on track. Housekeeping updates a room turnover. The kitchen checks in on dietary needs. Maintenance gets dispatched before […]
Too many organizations treat cybersecurity like a patch, not a design principle. When a breach hits the headlines, policies get reviewed, passwords updated. Then the urgency fades, and business resumes as usual. Until the next breach. Security can’t wait for a trigger. Especially not when your communication tools—email, messaging, video, file sharing—are often the most […]
There’s a moment most IT leads know too well: that point in the day when the tools meant to streamline your work actually start getting in the way. A missed call here. A dropped video meeting there. Four different apps open for what should’ve been one conversation. You start thinking, “There’s got to be a […]
Phone calls are still one of the most common ways patients reach out to clinics. Whether it’s scheduling appointments, getting lab results, or speaking to a nurse, a reliable medical office phone system keeps everything running smoothly. As clinics grow and patients expect faster, more personalized care, the right phone setup makes a big difference. […]
There’s a moment most IT leads know too well: that point in the day when the tools meant to streamline your work actually start getting in the way. A missed call here. A dropped video meeting there. Four different apps open for what should’ve been one conversation. You start thinking, “There’s got to be a […]
Most school districts know their phone systems are outdated. But many underestimate how much those old systems are holding them back. Legacy PBX systems were not built for today’s school environment. They struggle to support hybrid learning, slow down emergency response, and cannot integrate with the modern tools schools rely on. These gaps in communication […]
Your UCaaS provider should make work easier. Calls should be clear. Support should show up when you need it. And as your business grows, your system should grow with you, without constant headaches. If that’s not happening, it’s time to ask some hard questions. Are dropped calls costing you business? Are your tools holding your […]
Every business works a little differently. That’s why customization in UCaaS isn’t just helpful, it’s essential. Maybe your team needs to push call data into a CRM. Maybe you want alerts when certain actions happen, or tools that talk to the software you’re already using. Whatever the setup, the point is the same: your communication […]
The FCC has made it official: voice service providers must now use their own SPC tokens and certificates to sign outbound calls under the STIR/SHAKEN framework. As of December, relying on third-party certificates is no longer enough. With the enforcement deadline landing on June 20, 2025, the pressure is on — especially since more than […]
The FCC has made it official: voice service providers must now use their own SPC tokens and certificates to sign outbound calls under the STIR/SHAKEN framework. As of December, relying on third-party certificates is no longer enough. With the enforcement deadline landing on June 20, 2025, the pressure is on — especially since more than […]
Modern businesses need fast, clear, and efficient communications. That’s why more companies are turning to AI-powered UCaaS platforms to help their teams and customers connect more easily. According to Metrigy’s 2025-26 global study, 53.6% of companies are extensively using AI across all or most business units, with customer service and contact centers among the top […]
Most comparison tables look the same, but the differences under the surface are what matter. If you need flexible deployment, built-in reliability, and support that doesn’t disappear after sign-up, the gaps between vendors get real fast. Here’s how the leading unified communications and UCaaS providers compare. Core UC Features Feature / Capability Sangoma Nextiva RingCentral […]
When a school system upgrades its bus tracking app, everyone celebrates. When it upgrades the way staff, students, and parents actually communicate (calls, alerts, meetings, files, messages), no one notices. Until it matters. Most districts still run on duct-taped communication. Office phones. Teacher apps. Parent emails. A few radios. Maybe a video tool that kind […]
Retail runs on timing and coordination. Whether it’s a customer calling to check product availability or a staff member needing input from the stockroom, even a single missed call or delayed message can mean a lost sale. Multiply that by dozens of interactions a day, and communication breakdowns start to impact revenue and reputation. Zendesk […]
In manufacturing, clear and timely communication keeps everything moving. When messages don’t reach the right people fast enough, things start to break down—machines sit idle, deliveries get pushed back, and safety takes a hit. Teams end up working in silos, reacting instead of staying ahead. And the longer it takes to connect, the more it […]
This customer story was originally published by AskNicely. Sangoma Technologies Corporation is a trusted leader in business communications, giving companies the flexibility to choose on-premises, cloud, or hybrid unified communications as a service (UCaaS) solutions, combining voice, video, networking, and security for an exceptional, integrated experience. They’ve been working with AskNicely for a year and […]
It’s 2025, and patients expect healthcare to feel as simple as ordering a ride or booking a dinner reservation. They want tools that help them connect, learn, and manage their care, without getting stuck on hold or confused by medical jargon. A recent HIMSS study found that over half of patients use digital tools regularly […]
Running a retail business is hard enough. Managing your phone system shouldn’t make it harder. If you’ve ever struggled to answer every call, connect staff across stores, or reach customers quickly, you’re not alone. Most communication systems weren’t built with retail in mind. That’s why finding the right retail UCaaS provider matters more than ever. […]
Healthcare practices today face growing communication challenges. Staff are stretched thin, patient expectations are rising, and many organizations are still relying on outdated phone systems—tools that were never designed for the speed and complexity of modern healthcare delivery. In many cases, these systems require staff to manually check voicemails, return missed calls, and track down […]
Unified Communications as a Service (UCaaS) brings voice, video, messaging, and collaboration into one cloud-based platform. It’s designed for how modern teams work—whether they’re remote, hybrid, or in-office. With easy deployment, low IT overhead, and built-in scalability, UCaaS helps businesses stay productive and connected without managing servers or juggling apps. What is UCaaS (Cloud UC)? […]
Most clinics don’t need to be told their communication tools are broken—they live it every day. A patient leaves a voicemail that gets buried. A nurse calls back but misses the window. The front desk is juggling calls while trying to check in a walk-in. No one has time to track who said what, let […]
In hospitality, every minute matters. When communication breaks down, it shows fast. A request is missed, a handoff fails, a guest ends up waiting—and they don’t forget. It’s rarely a people problem. Most teams are doing their best with tools that were never meant to work together. Desk phones, radios, personal devices, random apps. Everyone’s […]
For industries with strict compliance requirements or data sovereignty concerns, keeping communication infrastructure in-house can offer added peace of mind. On-Premises Unified Communications (UC) gives you full administrative control over updates, integrations, and data—without sacrificing the collaboration features teams rely on. While cloud and hybrid deployments are secure and scalable (and often the right fit […]
If you’ve ever juggled before, you’ve probably let the balls drop. Now, imagine trying to juggle communication between multiple hotel properties. It’s easy to see how things can get missed, calls can get lost, and guests can end up frustrated. Managing multiple properties means managing a lot of moving parts. But one part that often […]
Unified Communications (UC) usually pushes businesses towards a tough choice: the robust control and security of on-premises systems, or the agility and scalability provided by cloud-based solutions. How about if you didn’t have to choose? Hybrid UC delivers precise control over critical infrastructure while harnessing cloud flexibility to scale effortlessly. In this article, we’ll explore […]
Healthcare communication should be easy. But too often, it’s a struggle. Outdated phone systems create frustration, confusion, and delays. Patients wait on hold, important messages get lost, and staff spend too much time tracking down information. This isn’t just inconvenient—it’s costly, both for practices and patients. The good news? There’s a better way. By upgrading […]
If your hotel brand can’t deliver a consistent guest experience across every property, you’re losing trust—and revenue. Guests expect the same level of service whether they’re checking in at your flagship resort in Miami or your boutique property in Denver. But for most hotel groups, delivering that kind of consistency isn’t easy. Disconnected communication tools, […]
Let’s face it: launching a UCaaS (Unified Communications as a Service) system from scratch is daunting. This type of cloud phone system incorporates many different types of communication/collaboration services to help your business succeed, including voice, video, messaging, meetings, presence, and team-based collaboration. And while the hallmark of a UCaaS environment is its ability to bring […]
Technology has changed how we work—and fast. Teams are spread across offices, homes, and time zones. Customers expect fast responses at any time of day. Meanwhile, businesses are juggling a mess of apps, devices, and phone systems that don’t talk to each other, slow everyone down, and cost too much to maintain. That’s why more […]
Healthcare providers are under more pressure than ever. Doctors and healthcare staff spend long hours, dealing with mountains of paperwork, managing telemedicine appointments, and answering patient calls. It’s a lot to handle—and it takes time away from what matters most: caring for patients. That’s where Unified Communications (UC) and Generative AI (GenAI) come in to […]
In hospitality, the pressure to provide exceptional guest experiences is always high. Whether you run a boutique hotel or a large resort, guests expect fast, personalized service, and any hiccup in communication can quickly lead to frustration and bad reviews. How can you keep things running smoothly and ensure each guest leaves happy? The answer […]
Every missed call, delayed message, or clunky video conference costs your business more than time—it costs opportunities. The average employee switches between 13 different apps 30 times a day, losing focus and wasting hours in the process. Over the course of a week, that’s four hours spent just trying to reorient after toggling between tools. […]
Imagine being a doctor at a busy practice. Your office is packed with patients, your team is juggling phone calls, prescription refills, appointment scheduling, and in-person visits—all at once. The phone rings again, but this time, it’s not answered, or worse, it’s dropped entirely. You’re already buried in paperwork, and the outdated phone systems aren’t […]
With big players like NEC pulling the plug on their on-premises offerings and others cutting support for traditional systems, it’s easy to think the future of Unified Communications (UC) lies entirely in the cloud. However, not all companies are on board with this shift. At Sangoma, we’ve committed to continuing to invest in Switchvox On-Premises […]
International Women’s Day is a time to celebrate the incredible contributions of women worldwide and reflect on the progress made toward gender equality. At Sangoma, we proudly recognize the women who inspire us daily, driving innovation, growth, and success across our company and the broader business world. As a company rooted in values like trust, […]
The communications world is buzzing with big changes, and it’s leaving many small and medium-sized businesses (SMBs) in a tough spot. Avaya, a long-standing player in the space, has announced that starting June 30, 2025, it will no longer support businesses with fewer than 200 seats on its Avaya Experience Platform (AXP). If you’re one […]
We’re excited to share that Jitsi has been accepted into Google Summer of Code 2025! This is a great opportunity to get hands-on experience, collaborate with our awesome community, and contribute to the Jitsi open-source ecosystem.
If you’re interested in participating, check out our idea tracker for some inspiration. If you have your own cool project idea, we’d love to hear it!
To get started, make sure to check out the following resources:
The deadline for applications is April 8th, 2025, so be sure to get your proposal in before then! We’re here to support you throughout the process, and we can’t wait to see what you’ll bring to the table.
Stay tuned for updates, join the community discussions, and let’s make GSoC 2025 amazing!
Say hello to AV1, the new default video codec in Jitsi Meet
The AV1 codec represents the cutting edge of video compression technology. Developed by the Alliance for Open Media (AOMedia), a consortium including tech giants like Google, Microsoft, Netflix, and Mozilla, AV1 is a loyalty-free video codec that was designed to meet the ever-growing demand for high-quality video streaming while minimizing bandwidth usage.
It offers up to 30-50% better compression compared to its predecessors like VP9, VP8 and H.264, enabling sharper visuals at lower bitrates. This makes it an ideal choice for bandwidth-constrained environments, such as mobile networks or rural areas with limited internet speeds. Despite its impressive capabilities, the adoption of AV1 has been slower than anticipated due to several factors. AV1 has higher computational demands as its advanced compression algorithms require significantly more processing power for encoding and decoding. Hardware acceleration for AV1 is still emerging and therefore use of AV1 can result in higher CPU/energy consumption and suboptimal performance on low end devices and those without hardware support.
The path to adding AV1 support in Jitsi was not straightforward. Before we could enable AV1, it was essential to integrate support for the various modes and complexities that the codec offers, both in the Jitsi Meet client and the Jitsi Video Bridge (JVB). Jitsi had to extend JVB’s capabilities to handle AV1 streams, including managing simulcast and SVC modes seamlessly for multi-user conferences. This groundwork laid the foundation for AV1’s eventual inclusion as the preferred codec in Jitsi deployments.
AV1’s RTP encapsulation is unusual, if not weird, compared to RTP payloads for other video codecs – all the information an RTP Selective Forwarding Unit (SFU) like the JVB needs is carried in a “Dependency Descriptor” RTP header extension, rather than in the RTP payload proper. This means that the JVB doesn’t technically need to support the AV1 codec at all – it only needs to support the dependency descriptor header extension.
Decoding AV1’s Dependency Descriptor
This format is unusual in that it was developed not in the IETF, where RTP payload formats are normally defined, but rather by AOMedia itself. The main consequence of this is that the header is encoded very much like a video codec: it’s very parsimonious of bit usage, at the cost of being both annoyingly complicated to parse, and being stateful – information needed to parse the header is sent only at intervals. For more information about this complexity, see Lorenzo’s post from several years ago – https://www.meetecho.com/blog/av1-svc/.
Handling the complex parsing is relatively straightforward once some utility classes are written. However, handling the statefulness is harder, especially given that an SFU always needs to be prepared for packet loss and reordering, so packets that use some state may arrive before the packet that provides it. Thus this work needs to keep track of the state that’s reported in those packets that carry it, and pass it forward to the parser to parse subsequent headers, while handling the possibility that a state update may have been missed.
Because the AV1 DD is a header extension, it can be applied to codecs other than AV1 itself. Notably, this allows us to indicate temporal scalability of an H.264 stream, which is useful because H.264 (without its little-implemented SVC extensions) has no way to indicate temporal scalability of its packets. As a result, the work to support the AV1 DD also allows Jitsi to enable scalable H.264 streams for JVB-mediated conferences as well! (Though there are currently some bugs in Chrome that make this less efficient than it could be – see here and here.) In fact the header can be applied to any video codec, though we still prefer to handle VP8 and VP9 using their in-payload information when that information is available.
Another notable feature of the AV1 dependency descriptor is its concept of “decode targets”, which are a specific layer that a decoder can decode, and thus that an SFU can forward. These usually correspond to a specific spatial and temporal layer, but technically they do not have to. The idea is that a decoder can choose among the various decode targets present in the stream. In most cases it would want to choose the highest-quality one available, but in some circumstances (for instance if it was CPU-constrained, or displaying a source in a small window) it could choose a lower-quality target instead.
This has the consequence that a stream needs to be explicit about what decode targets are actually present. An SFU, by design, forwards only some of the layers in a stream; this is what it means to “selectively forward”. As a result, the ultimate decoder needs to know what layers it can actually expect to receive, vs. which ones it won’t receive, or it can end up waiting forever while it never gets the frames it thinks it should render. To handle this case, the AV1 dependency descriptor contains a decode target bitmask in the AV1 header extension to indicate which layers are still present in the stream. This bitmask then needs to be updated every time the SFU changes its layer forwarding decision, so the decoder doesn’t try to wait to decode a decode target that won’t be arriving any more, or, conversely, so it can know to start decoding a new layer that’s newly started arriving. Fortunately, the logic to do this work is not too complicated, and is similar in complexity to the logic needed to modify the in-payload information for forward VP8 or VP9 streams.
Scalable Video Coding (SVC) Extension for WebRTC
With the release of Chromium M111, significant advancements were made in WebRTC, particularly with the introduction of Scalable Video Coding (SVC) support. This update enabled WebRTC applications to configure encoding parameters for SVC by extending the RTCRtpEncodingParameters dictionary. Around the same time, Chrome also introduced AV1 and VP9 simulcast support. Before Chromium M111, the K-SVC mode (Keyframe-scalable video coding) was the only supported mode for SVC. This update allowed Jitsi Meet to experiment with various scalability modes for AV1 and VP9.
In a Jitsi conference, the client and JVB work in tandem to ensure efficient video streaming. This involves an ongoing exchange of sender and receiver video constraints.
Receiver Constraints: Each participant sends constraints (e.g., desired resolution and priority) to the JVB for the video streams they want to receive. These constraints are influenced by the participant’s current layout (e.g., larger tiles for active speakers).
Sender Constraints: JVB aggregates these constraints and communicates the required video resolutions to the senders. This ensures a participant only sends higher-resolution streams (e.g., 720p) if at least one other participant views them in a sufficiently large tile.
This dynamic coordination minimizes bandwidth usage and optimizes network resources while maintaining the quality of the user experience. Once the client receives sender constraints, it configures its outbound video streams using RTCRtpEncodingParameters. These parameters are tailored based on:
Resolution: The effective resolution determined by JVB constraints.
Video Type: Camera or desktop sharing (further based on content type).
Codec Operating Mode: Whether the stream uses full SVC, simulcast, or unicast.
For AV1 and VP9, three operating modes were tested:
K-SVC Mode: Employs L3T3_KEY and L2T3_KEY scalability modes, focusing on keyframe-based scalability.
Simulcast Mode: Configures each simulcast layer with L1T3 (single spatial layer, 3 temporal layers).
SVC allows a single video stream to be encoded in layers, each layer adding more detail or resolution to the base stream while simulcast involves sending multiple independent video streams of the same content, each at a different resolution and bitrate.
Aspect
Simulcast
SVC
Encoding
Multiple streams encoded separately.
One stream encoded with multiple layers.
Bandwidth Usage (Sender)
Higher (multiple streams).
Lower (single stream).
CPU Usage (Sender)
High (due to multiple encodings).
Lower (single encoding with layers).
CPU Usage (Receiver)
Lower (no need to decode layers).
Higher (decoding layered streams).
Adaptability
Coarser (switching between streams).
Finer (dynamic layer adjustment).
Compatibility
Broadly supported in WebRTC platforms.
Limited support, requires advanced codecs.
Key differences between Simulcast and SVC
After extensive performance testing and careful evaluation of product requirements, Jitsi selected full SVC mode as the default configuration for both AV1 and VP9. This choice ensures optimal scalability and video quality across Jitsi’s deployments. However, this behavior is not rigid; it is configurable and can be easily overridden through config.js settings, providing flexibility to adapt to specific use cases or deployment needs.
Choosing “The One”
To determine the optimal video codec for use in the Jitsi Meet client, Jitsi conducted comprehensive testing under realistic conditions to ensure that codec selection would meet product needs for quality, performance, and scalability. Below is an overview of the methodologies and considerations involved:
Testing Scenarios
Bandwidth Variations – Simulations spanned low, medium, and high bandwidth environments. The goal was to assess how each codec managed network fluctuations while maintaining quality.
Latency and Packet Loss – Varying levels of latency and packet loss were introduced to evaluate codec resilience. Stress tests were performed to observe behavior under severe conditions, such as 30% packet loss or latency spikes of 300ms.
Device Diversity – Tests were conducted on a range of hardware, including Windows and macOS devices and multiple operating systems, to measure CPU load and adaptability. Both high-end and low-end systems were evaluated to cover a wide user base.
Metrics Captured
CPU Usage – Encoding and decoding performance were assessed, focusing on average encode times (in milliseconds). Data was derived from totalEncodeTime stats in outbound RTP streams, with averages computed across test runs.
Bandwidth Efficiency – The minimum bitrate required to deliver acceptable video quality was recorded. Metrics were analyzed for each codec to identify which offered optimal quality for a given bitrate.
Scalability Performance – Tested the ability of each codec to handle spatial and temporal scalability. Metrics such as switch latency (time to adjust to new sender constraints) were captured to evaluate adaptability during resolution and frame rate changes.
User Experience Metrics – Frame drops and jitter were monitored to quantify playback quality. Recovery time after network disruptions or resolution changes was measured, ensuring codecs could handle dynamic conditions effectively.
Results and observations
AV1: Delivered superior video quality at low bitrates but required higher CPU power (but surprisingly on par with VP9 in some cases), making it ideal for high-quality sessions on modern devices. It turned out that it was the best codec for screen sharing on all platforms because of how it uses screen content coding to achieve low bitrates without compromising on video quality and using low CPU, all at the same time.
VP9: Balanced bandwidth efficiency and CPU usage, proving effective for scalable video streams in multi-party calls.
VP8: Demonstrated resilience under suboptimal conditions but lagged in scalability and modern features compared to newer codecs.
H.264: Showed minimal CPU usage only where hardware acceleration was supported. The CPU usage was much higher when it was done in software, especially for higher resolutions like 4K and screenshare. It also struggled with bandwidth efficiency and adaptability in low-bandwidth scenarios.
By rigorously analyzing these metrics, Jitsi optimized its codec selection strategy. While Full SVC modes remained the default for high-performance scenarios, fallback options like VP9 and VP8 were configured for legacy or resource-constrained devices. This comprehensive approach ensures that the Jitsi Meet client provides the best possible video experience across a wide range of devices and network conditions.
Addressing CPU overuse with Adaptive Mode in Jitsi Meet
With the integration of AV1 into Jitsi Meet, users benefit from superior compression and high-quality video at lower bitrates. However, these advantages come at the cost of increased computational demands, especially on low-end devices. To address this, Jitsi introduced a three-fold adaptive quality control mechanism, ensuring a seamless experience even under CPU constraints.
How Adaptive Mode Works
Decreasing the Encoding Load
Dynamic Codec Switching: In adaptive mode, the Jitsi Meet client monitors the WebRTC stats for outbound RTP streams. If the stats indicate a CPU limitation, the client iteratively switches to a lower-complexity codec. This process continues until the lowest complexity codec is reached, based on predefined performance benchmarks for each video type (e.g., camera feed, screen share) thereby reducing the computational demand of video encoding without significantly compromising video quality.
Decreasing the Decoding Load
Requesting Fewer Videos: If reducing encoding complexity isn’t sufficient, the client requests fewer video streams from the server. This limits the number of video decoders active at a given time, cutting down CPU usage.
Lowering Received Video Resolution: For videos already being received, the client requests lower resolutions, further reducing decoding requirements. This helps balance computational load while maintaining an acceptable user experience.
This adaptive approach enables Jitsi Meet to leverage the advanced capabilities of AV1 while ensuring that users with diverse hardware configurations can participate in meetings without disruptions caused by excessive CPU usage.
However, when the CPU spike originates from an external process rather than the Jitsi Meet client, the adaptive mode ensures that quality degradation is minimal. To enhance the user experience, Jitsi Meet also incorporates a recovery mechanism that restores the video configuration once the external constraints are resolved.
Mechanism for Recovery
Continuous Monitoring
The client monitors the CPU limitation statistics reported by the browser through WebRTC metrics. If the browser no longer reports CPU constraints, the client initiates a recovery sequence.
Incremental Recovery Process
The recovery mechanism keeps increasing the number of remote video streams the client requests from the JVB until it reaches the limit set for the conference.
This process is incremental to prevent sudden spikes in CPU usage that could destabilize the client.
Dynamic Adjustment
If CPU constraints reappear during the recovery process, the client halts further recovery steps. This ensures the system does not enter a state where CPU usage exceeds the device’s capabilities.
This gradual approach minimizes the risk of overloading the system during recovery. It also adapts to fluctuating CPU availability, maintaining a balance between performance and quality. The client handles this entire process dynamically without any user interaction, providing a seamless experience.
Browser / device support
Firefox and Safari do not advertise support for the AV1 codec yet. As a result, when users on these browsers join a call, all other participants automatically switch to the next codec in the preferred list, ensuring compatibility across all endpoints.
Additionally, while Chromium-based mobile endpoints are capable of both encoding and decoding AV1, Jitsi has opted to use AV1 only for decoding. For encoding, a lower-complexity codec is used, as encoding typically imposes a higher CPU load compared to decoding. This decision balances performance and device resource constraints, especially on mobile devices.
Eager to start using AV1 in Jitsi?
We have great news for you then!! AV1 support was introduced to Jitsi in June 2024 and has been available in our stable packages ever since. Initially, AV1 had to be manually configured as the preferred codec through config.js settings, allowing users to opt in.
Building on this, AV1 was soon made the preferred codec on meet.jit.si, marking a significant step in leveraging its advanced compression capabilities. Starting with release stable-9909, AV1 became the default preferred codec in our Docker deployments, ensuring out-of-the-box support for users opting for containerized setups.
After thorough experimentation and analysis of real-world performance data, we’re excited to share that AV1 will very soon become the default preferred codec in all deployments, bringing its exceptional bandwidth efficiency and video quality to a broader audience. Stay tuned!
Happy holidays!
Your personal meetings team.
P.S – With contributions from Jonathan Lennox (Jitsi VideoBridge)
Sangoma TeamHub—a user-friendly app designed to simplify team collaboration and boost productivity—is now available to new users of Sangoma's UCaaS platform CommUnity.
Sangoma TeamHub—a user-friendly app designed to simplify team collaboration and boost productivity—is now available to new users of Sangoma’s UCaaS platform CommUnity.
With features like voice calling, real-time chat, SMS, video meetings, and file storage, you get all your communication tools in one place without jumping between multiple apps. Stay connected wherever you are! Access Sangoma TeamHub easily through your web browser or use the desktop app on Mac or Windows. It’s also available on iOS and Android mobile devices.
Key Features:
Talk: Make clear calls using Sangoma TeamHub’s built-in softphone, which features call transfers and rings across all your devices. Enjoy convenient access to visual voicemail and the ability to seamlessly hand off calls, allowing you to continue conversations on another device. Fine-tune your audio settings to fully leverage CommUnity’s powerful voice features, including parking lots, advanced ‘Find Me/Follow Me’ routes, and your own conference bridge.
Chat: Easily share ideas in public or private channels, and send direct chat messages with smart features that save time. AI tools help you quickly catch up on discussions or find information about Sangoma products without sifting through documentation.
SMS: Connect with your customers via SMS using your designated number, activated in a 10DLC campaign.
Video Meetings: Host productive meetings with features like live closed captioning, remote control, and easy calendar integrations.
File Storage: Organize your documents in your personal Sangoma TeamHub Drive, allowing you to access files wherever you go.
Contact Management: Effortlessly manage personal contacts with dial-in options, organize favorites, view ring groups, and sync your corporate phonebook with MS Office 365 and Google contacts for easy access.
Sangoma TeamHub focuses on user satisfaction by providing robust and secure communications, as well as easy customization. Accessible from any internet-connected device, it offers timely notifications whether you’re in the office, working remotely, or on the go, keeping you connected and informed.
Sangoma TeamHub is the ultimate tool for team collaboration and communication, helping you work efficiently from anywhere.
Learn more about mastering teamwork with Sangoma TeamHub today!
Join us on December 12th for the exclusive TeamHub for CommUnity webinar: Register Now!
As businesses increasingly migrate to IP networks, a significant challenge remains: how do you transition from legacy POTS (Plain Old Telephone Service) while maintaining the investment in devices like phones, fax machines, and security equipment?
In a significant shift in the Unified Communications (UC) landscape, NEC announced its decision to exit the UCaaS market, in addition to its earlier announcement to leave the on-prem market. These moves have left many NEC partners and prospects wondering, “Where do we go from here?” NEC in the News Intermedia Cloud Communications and NEC […]
As part of our commitment to innovation and customer support, we are excited to announce the launch of @ASKSangoma, an AI-powered Knowledge Bot. The latest version 3.3 of the Sangoma Teamhub collaboration app introduces a new bot designed to assist our partners and customers with inquiries regarding Sangoma’s product portfolio. Trained on comprehensive product documentation, […]
In the evolving landscape of virtual meetings, seamless connectivity remains paramount. SIP integration enables participants to join meetings from various devices, including hardware phones or softphones such as Bria, video conferencing systems such as Zoom, and traditional telephony systems. This broadens the scope of participants who can connect to Jitsi conferences, making it more inclusive.
Note: Replace pinCode with the specific conference PIN provided for your Jitsi conference
Join a Zoom conference
To connect a Zoom conference to a Jitsi conference, use the Invite via Room System option in Zoom to call out to the provided SIP address
Testing:
Test the configuration by dialing the SIP address. Verify that the call connects to the Jitsi conference and that audio and video is properly routed.
SIP Audio-Only Connectivity: Cost-Effective and Reliable
SIP audio-only connectivity provides a cost-effective and reliable way for participants to join Jitsi conferences. It reduces bandwidth consumption and costs, making it ideal in scenarios where video isn’t really needed, such as webinars. This option ensures users with limited internet access or slower connections can participate without interruptions.
Under the Hood: Exploring the Technical Details
Integrating Voximplant with Jitsi Meet involves several key steps:
Setting Up Voximplant Application:
Create a Voximplant application and configure it with the necessary call handling logic. This involves setting up a scenario for incoming calls, managing call routing, and defining custom IVRs
Add logic in the scenario to validate the conference, select a SIP-Jibri and then forward the call to it
Run a pool of SIP Jibris and use the SIP Jibri selector to select an available SIP Jibri
Setting up a sip domain (Eg. video.8×8.vc):
Define a sip domain and ask VoxImplant to map it to your VoxImplant application
Testing:
One easy way to test the integration is using a softphone to dial in
Note: Voximplant can be replaced with a programmable SIP server such as Kamailio or OpenSIPS.
Wrapping up
While SIP is these days referred to as legacy, it remains the most used protocol for VoIP and acts as the common denominator across many vendors in the industry. Thus it’s a great candiate for connecting anything to everything
The Risks of Sticking with Unsupported On-Premises PBX Systems and Why Switching to Sangoma’s Switchvox is Essential Now You’ve found yourself in a tough spot – change is not just coming; it’s here. NEC has announced its departure from the on-premises PBX market, shifting its focus towards cloud-based solutions. So where does that leave you? […]