sip5060.net / en es
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.
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.
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.
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:
For AV1 and VP9, three operating modes were tested:
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. |
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.
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:
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.
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.
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.
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.
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.
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!
Your personal meetings team.
P.S – With contributions from Jonathan Lennox (Jitsi VideoBridge)
The post AV1 and more … how does Jitsi Meet pick video codecs? appeared first on Jitsi.
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.
The post Introducing Sangoma TeamHub for CommUnity appeared first on Sangoma Technologies.
A portion of the telephone network that dates back several decades is often called Plain Old Telephone Service, or POTS for short. In recent years.
The post How to Successfully Migrate from Traditional Telecom to Modern Packet-Based Phone Networks appeared first on Sangoma Technologies.
Tuesday, December 10 @ 5PM CET / 11AM ET / 8AM PT / 16:00 UTC Join Chad Hart, Editor of webrtcHacks, for an analysis of WebRTC trends in GitHub, StackOverflow, and other open-source communities. Leveraging advanced quantitative analysis techniques, this talk examines millions of GitHub events and developer activity data to uncover key trends […]
The post Upcoming Livestream 10-Dec: 2024 WebRTC in Open Source Review appeared first on webrtcHacks.
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.
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!
The post Introducing Sangoma TeamHub for CommUnity appeared first on Sangoma Technologies.
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?
The post Seamlessly Transition from POTS to IP Networks with Sangoma Vega Gateways appeared first on Sangoma Technologies.
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 […]
The post NEC Steps Out of the UCaaS Market, Now What? appeared first on Sangoma Technologies.
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, […]
The post Introducing ASK Sangoma: Your AI-powered Knowledge Bot for Quicker Support appeared first on Sangoma Technologies.
WebRTC’s peer connection includes a getStats method that provides a variety of low-level statistics. Basic apps don’t really need to worry about these stats but many more advanced WebRTC apps use getStats for passive monitoring and even to make active changes. Extracting meaning from the getStats data is not all that straightforward. Luckily return author […]
The post Power-up getStats for Client Monitoring appeared first on webrtcHacks.
ClueCon has just finished. Here are some of my photos.
Seven Du from China won the Macbook. Congratulations.
After upgrading to Ubuntu Jammy and Asterisk 18.10, I saw the following messages in my logs:
WARNING[360166]: loader.c:2487 in load_modules: Module 'chan_sip' has been loaded but was deprecated in Asterisk version 17 and will be removed in Asterisk version 21.
WARNING[360174]: chan_sip.c:35468 in deprecation_notice: chan_sip has no official maintainer and is deprecated. Migration to
WARNING[360174]: chan_sip.c:35469 in deprecation_notice: chan_pjsip is recommended. See guides at the Asterisk Wiki:
WARNING[360174]: chan_sip.c:35470 in deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
WARNING[360174]: chan_sip.c:35471 in deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip
and so I decided it was time to stop postponing the
overdue migration
of my working setup from
chan_sip
to
res_pjsip
.
It turns out that it was not as painful as I expected, though the conversion script bundled with Asterisk didn't work for me out of the box.
Before you start, one very important thing to note is that the SIP debug
information you used to see when running this in the asterisk console
(asterisk -r
):
sip set debug on
now lives behind this command:
pjsip set logger on
The first thing I migrated was the config for my two SIP phones (Snom 300 and Snom D715).
The original config for them in sip.conf
was:
[2000]
; Snom 300
type=friend
qualify=yes
secret=password123
encryption=no
context=full
host=dynamic
nat=no
directmedia=no
mailbox=10@internal
vmexten=707
dtmfmode=rfc2833
call-limit=2
disallow=all
allow=g722
allow=ulaw
[2001]
; Snom D715
type=friend
qualify=yes
secret=password456
encryption=no
context=full
host=dynamic
nat=no
directmedia=yes
mailbox=10@internal
vmexten=707
dtmfmode=rfc2833
call-limit=2
disallow=all
allow=g722
allow=ulaw
and that became the following in pjsip.conf
:
[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0
external_media_address = myasterisk.dyn.example.com
external_signaling_address = myasterisk.dyn.example.com
local_net = 192.168.0.0/255.255.0.0
[2000]
type = aor
max_contacts = 1
[2000]
type = auth
username = 2000
password = password123
[2000]
type = endpoint
context = full
dtmf_mode = rfc4733
disallow = all
allow = g722
allow = ulaw
direct_media = no
mailboxes = 10@internal
auth = 2000
outbound_auth = 2000
aors = 2000
[2001]
type = aor
max_contacts = 1
[2001]
type = auth
username = 2001
password = password456
[2001]
type = endpoint
context = full
dtmf_mode = rfc4733
disallow = all
allow = g722
allow = ulaw
direct_media = yes
mailboxes = 10@internal
auth = 2001
outbound_auth = 2001
aors = 2001
The different direct_media
line between the two phones has to do with how
they each connect to my Asterisk
server
and whether or not they have access to the Internet.
For some reason, my internal calls (from one SIP phone to the other) didn't
work when using "aliases". I fixed it by changing this blurb in
extensions.conf
from:
[speeddial]
exten => 1000,1,Dial(SIP/2000,20)
exten => 1001,1,Dial(SIP/2001,20)
to:
[speeddial]
exten => 1000,1,Dial(${PJSIP_DIAL_CONTACTS(2000)},20)
exten => 1001,1,Dial(${PJSIP_DIAL_CONTACTS(2001)},20)
I have not yet dug into what this changes or why it's necessary and so feel free to leave a comment if you know more here.
Once I had the internal phones working, I moved to making and receiving phone calls over the PSTN, for which I use VoIP.ms with encryption.
I had to change the following in my sip.conf
:
[general]
register => tls://555123_myasterisk:password789@vancouver2.voip.ms
externhost=myasterisk.dyn.example.com
localnet=192.168.0.0/255.255.0.0
tcpenable=yes
tlsenable=yes
tlscertfile=/etc/asterisk/asterisk.cert
tlsprivatekey=/etc/asterisk/asterisk.key
tlscapath=/etc/ssl/certs/
[voipms]
type=peer
host=vancouver2.voip.ms
secret=password789
defaultuser=555123_myasterisk
context=from-voipms
disallow=all
allow=ulaw
allow=g729
insecure=port,invite
canreinvite=no
trustrpid=yes
sendrpid=yes
transport=tls
encryption=yes
to the following in pjsip.conf
:
[transport-tls]
type = transport
protocol = tls
bind = 0.0.0.0
external_media_address = myasterisk.dyn.example.com
external_signaling_address = myasterisk.dyn.example.com
local_net = 192.168.0.0/255.255.0.0
cert_file = /etc/asterisk/asterisk.cert
priv_key_file = /etc/asterisk/asterisk.key
ca_list_path = /etc/ssl/certs/
method = tlsv1_2
[voipms]
type = registration
transport = transport-tls
outbound_auth = voipms
client_uri = sip:555123_myasterisk@vancouver2.voip.ms
server_uri = sip:vancouver2.voip.ms
[voipms]
type = auth
password = password789
username = 555123_myasterisk
[voipms]
type = aor
contact = sip:555123_myasterisk@vancouver2.voip.ms
[voipms]
type = identify
endpoint = voipms
match = vancouver2.voip.ms
[voipms]
type = endpoint
context = from-voipms
disallow = all
allow = ulaw
allow = g729
from_user = 555123_myasterisk
trust_id_inbound = yes
media_encryption = sdes
auth = voipms
outbound_auth = voipms
aors = voipms
rtp_symmetric = yes
rewrite_contact = yes
send_rpid = yes
timers = no
dtmf_mode = rfc4733
The TLS method
line is needed since the default in Debian OpenSSL is too
strict. The timers
line is to prevent outbound calls from getting dropped after 15 minutes.
Finally, I changed the Dial()
lines in these extensions.conf
blurbs from:
[from-voipms]
exten => 5551231000,1,Goto(2000,1)
exten => 2000,1,Dial(SIP/2000&SIP/2001,20)
exten => 2000,n,Goto(in2000-${DIALSTATUS},1)
exten => 2000,n,Hangup
exten => in2000-BUSY,1,VoiceMail(10@internal,su)
exten => in2000-BUSY,n,Hangup
exten => in2000-CONGESTION,1,VoiceMail(10@internal,su)
exten => in2000-CONGESTION,n,Hangup
exten => in2000-CHANUNAVAIL,1,VoiceMail(10@internal,su)
exten => in2000-CHANUNAVAIL,n,Hangup
exten => in2000-NOANSWER,1,VoiceMail(10@internal,su)
exten => in2000-NOANSWER,n,Hangup
exten => _in2000-.,1,Hangup(16)
[pstn-voipms]
exten => _1NXXNXXXXXX,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _1NXXNXXXXXX,n,Dial(SIP/voipms/${EXTEN})
exten => _1NXXNXXXXXX,n,Hangup()
exten => _NXXNXXXXXX,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _NXXNXXXXXX,n,Dial(SIP/voipms/1${EXTEN})
exten => _NXXNXXXXXX,n,Hangup()
exten => _011X.,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _011X.,n,Authenticate(1234)
exten => _011X.,n,Dial(SIP/voipms/${EXTEN})
exten => _011X.,n,Hangup()
exten => _00X.,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _00X.,n,Authenticate(1234)
exten => _00X.,n,Dial(SIP/voipms/${EXTEN})
exten => _00X.,n,Hangup()
to:
[from-voipms]
exten => 5551231000,1,Goto(2000,1)
exten => 2000,1,Dial(PJSIP/2000&PJSIP/2001,20)
exten => 2000,n,Goto(in2000-${DIALSTATUS},1)
exten => 2000,n,Hangup
exten => in2000-BUSY,1,VoiceMail(10@internal,su)
exten => in2000-BUSY,n,Hangup
exten => in2000-CONGESTION,1,VoiceMail(10@internal,su)
exten => in2000-CONGESTION,n,Hangup
exten => in2000-CHANUNAVAIL,1,VoiceMail(10@internal,su)
exten => in2000-CHANUNAVAIL,n,Hangup
exten => in2000-NOANSWER,1,VoiceMail(10@internal,su)
exten => in2000-NOANSWER,n,Hangup
exten => _in2000-.,1,Hangup(16)
[pstn-voipms]
exten => _1NXXNXXXXXX,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _1NXXNXXXXXX,n,Dial(PJSIP/${EXTEN}@voipms)
exten => _1NXXNXXXXXX,n,Hangup()
exten => _NXXNXXXXXX,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _NXXNXXXXXX,n,Dial(PJSIP/1${EXTEN}@voipms)
exten => _NXXNXXXXXX,n,Hangup()
exten => _011X.,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _011X.,n,Authenticate(1234)
exten => _011X.,n,Dial(PJSIP/${EXTEN}@voipms)
exten => _011X.,n,Hangup()
exten => _00X.,1,Set(CALLERID(all)=Francois Marier <5551231000>)
exten => _00X.,n,Authenticate(1234)
exten => _00X.,n,Dial(PJSIP/${EXTEN}@voipms)
exten => _00X.,n,Hangup()
Note that it's not just replacing SIP/
with PJSIP/
, but it was also
necessary to use a format supported by
pjsip
for the channel since SIP/trunkname/extension
isn't supported by pjsip.
GStreamer is one of the oldest and most established libraries for handling media. As a core media handling element in Linux and WebKit that as launched near the turn of the century, it is not surprising that many early WebRTC projects use various pieces of it. Today, GStreamer has expanded options for helping developers plumb […]
The post WebRTC Plumbing with GStreamer appeared first on webrtcHacks.
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: We are using JaaS here for the purpose of simplicity, but all of this can be deployed using the Open Source components available on GitHub.
Note: Replace pinCode with the specific conference PIN provided for your Jitsi conference
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.
Integrating Voximplant with Jitsi Meet involves several key steps:
Note: Voximplant can be replaced with a programmable SIP server such as Kamailio or OpenSIPS.
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
Your personal meetings team.
The post Connecting anything to everything via SIP appeared first on Jitsi.
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? […]
The post Delivering a One-two Punch to NEC’s Departure from the On-premises PBX Market appeared first on Sangoma Technologies.
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?
Whether due to regulatory compliance, data security concerns, or simply the massive overhaul required, the cloud is not a one-size-fits-all solution. The end result? Companies relying on NEC’s on-premises systems must navigate the complexities of a market in transition without falling behind or, worse, getting stranded.
Sticking with an unsupported on-premises PBX system is a gamble that no business can afford to take—not in today’s fast-evolving technological landscape. Transitioning to Sangoma’s Switchvox is the one-two punch you need to leave NEC. It offers not just a safer bet but a smarter one, enhancing your communications capabilities while keeping you firmly in control of your data and systems.
As NEC winds down its on-premises operations, it’s crucial to grasp what this means for businesses stuck in this outdated framework:
Operating on unsupported on-premises systems isn’t just inconvenient—it’s fraught with risks:
The clock isn’t just ticking; it’s running out. The availability of compatible parts and knowledgeable technicians is dwindling rapidly. Holding off on making a decision can hamper your operational efficiency and leave you lagging behind competitors who adapt more swiftly to technological advancements. It’s about being proactive, not reactive—planning your transition now, rather than scrambling when disaster strikes.
Here’s why Sangoma’s Switchvox system stands out as the ideal replacement:
Moving to a new system sounds daunting, but it doesn’t have to be:
Secure and Enhance Your Communications with Sangoma’s Switchvox
Don’t wait for the inevitable system failure to decide. Take action now, and step confidently into a future where your communications infrastructure is secure, scalable, and supported.
Ready to make the switch? Learn more about how Sangoma’s Switchvox can transform your business communications today.
The post Delivering a One-two Punch to NEC’s Departure from the On-premises PBX Market appeared first on Sangoma Technologies.
Maximizing stream quality on an imperfect network in real-time is a delicate balancing act. If you send too much information then will cause congestion and packet loss. If you send too little then your video quality (or audio) will look like garbage. But how much can you send? One of the techniques used to find […]
The post Probing WebRTC Bandwidth Probing – why and how in gcc appeared first on webrtcHacks.
As of 2023, a significant portion of businesses still rely on on-premises systems. While the specific percentage of businesses using on-premises UC solutions is not detailed in recent reports, it’s evident that both on-premises and cloud solutions continue to coexist, with each offering distinct advantages depending on organizational needs and priorities. The unified communications market […]
The post Why Choose On-Premises Solutions In a Cloud-Dominated Era? appeared first on Sangoma Technologies.
As of 2023, a significant portion of businesses still rely on on-premises systems. While the specific percentage of businesses using on-premises UC solutions is not detailed in recent reports, it’s evident that both on-premises and cloud solutions continue to coexist, with each offering distinct advantages depending on organizational needs and priorities.
The unified communications market is significant, with a projected value of USD 145.58 billion in 2024, growing at a compound annual growth rate (CAGR) of 27.80% to potentially reach USD 496.30 billion by 2029. This growth reflects the ongoing evolution and adaptation of UC systems to meet the changing demands of businesses globally, including those that prefer the control and security provided by on-premises solutions (Mordor Intel).
For businesses considering UC systems, it’s crucial to weigh the trade-offs between flexibility, scalability, and control.
On-premises systems offer several distinct advantages that are vital for certain businesses:
Switchvox on-premises solutions are not just an alternative to cloud systems; they are a gateway to tapping into a vast market that values reliability, control, and performance. Switchvox offers:
Choosing Switchvox means more than just purchasing a phone system—it’s about building a partnership that grows with your business. Our solutions are designed not only to meet today’s needs but also to anticipate future requirements, ensuring that you remain at the forefront of a cloud-first world.
Discover why Switchvox is the preferred choice for businesses that demand robust, flexible, and cost-effective on-premises communications solutions. Learn more about Switchvox today!
The post Why Choose On-Premises Solutions In a Cloud-Dominated Era? appeared first on Sangoma Technologies.
In the last stable release, Jitsi enabled a new feature called SSRC rewriting that improves the system performance for very large calls. This feature helps reduce the overall load on the system by reducing the number of signaling messages that get exchanged during a large call involving hundreds of endpoints. It also reduces the load on the local endpoint drastically by restricting the number of audio and video decoders created by the WebRTC engine thereby offering a better user experience for large calls.
When this feature is enabled, only a fixed set (let’s say up to 50) of SSRCs are signaled to the downstream endpoints in the call irrespective of the call size. An SSRC is nothing but a unique ID used for identifying a stream of RTP packets that belong to an audio or a video source. When additional media sources are requested by the receiver, the Jitsi Videobridge (JVB) overwrites the SSRCs of the newly requested media streams with that of the ones that were already signaled to the client before and are no longer needed. Therefore, no more than 50 SSRCs need to be signaled to the endpoints even if the number of media sources that will be routed in total far exceeds the set limit.
Moving on to the why – what is the problem that we were trying to solve by implementing SSRC rewriting?
The challenges that we faced when adding support for very large calls with respect to source signaling with the existing approach of signaling every new source to every other participant in the call were two fold.
At the client level, the number of m-lines in the SDP grew linearly with every remote source that got added to the call irrespective of whether media for that particular source gets routed to the endpoint or not. When a new m-line with SSRC is added to the remote SDP, the libwebrtc engine creates a transceiver and does all the plumbing necessary to decode a media stream with the given SSRC if and when it starts receiving it from the JVB. This tied up resources on the local endpoint unnecessarily and introduced delays in renegotiation cycles which resulted in unpleasant user experience. The client can also hit transceiver and SDP parser limits imposed by the browser resulting in unexpected behaviors. These performance issues are more pronounced on mobile endpoints which have fewer resources to begin with compared to the endpoints running on desktops.
On the backend, as the number of participants grew, so did the number of audio and video sources that needed to be signaled to every other participant in the call. This made the signaling traffic from prosody (XMPP communication server) to the endpoints grow quadratically. This was a problem, because Prosody, which is single-threaded, was already the bottleneck when scaling calls. Previously we had to introduce artificial delays in signaling in order to reduce the load. This caused long delays for the media to be established across participants when they unmuted their audio or video for the first time and was very disruptive to large meetings.
The solution to both of these problems was to switch to a demand based signaling mechanism where only a limited number of remote audio and video tracks are signaled to the endpoints depending on what is being needed or requested by them in real time instead of signaling all the known media sources in the call as and when they get added to the call.
Jitsi Videobridge (JVB) uses a slightly different approach for audio and for video when determining what sources to forward. Forwarding decisions for audio are based simply on the “loudness” of the streams determined from the audio level RTP extension.
With SSRC rewriting, JVB uses a separate SSRC space for each receiver. It maintains a map from an SSRC number to the name of a source. Changes to the map are signaled to the receiver over the direct signaling channel (a WebRTC DataChannel over SCTP), using partial updates:
[modules/RTC/BridgeChannel.js] <e.onmessage>: Received AudioSourcesMap: [{"source":"fc63db0f-a0","owner":"fc63db0f","ssrc":2602882473},{"source":"449360a0-a0","owner":"449360a0","ssrc":1358697798}]
[modules/RTC/BridgeChannel.js] <e.onmessage>: Received VideoSourcesMap: [{"source":"e01f2103-v0","owner":"e01f2103","ssrc":3129389873,"rtx":3219602897,"videoType":"CAMERA"},{"source":"9ac8fef2-v0","owner":"9ac8fef2","ssrc":1542056973,"rtx":1571329554,"videoType":"CAMERA"},{"source":"ed6b60f5-v0","owner":"ed6b60f5","ssrc":550523896,"rtx":2808127984,"videoType":"CAMERA"}]
When a new stream needs to be forwarded, it is allocated an SSRC. Before the limit is reached, JVB simply generates a new SSRC number, and when the limit has been reached the oldest entry is reused. Let’s look at an example to make this more clear. Assume the limit is set to just 3, and the available sources are A, B, C, D, E. Initially the map is empty. When A starts sending packets, we allocate SSRC 101 to it and signal it to the receiver like this:
AudioSourcesMap: [{"source":"A","owner":"endpoint-A","ssrc":101}]
Similarly when B and C start to speak we allocate SSRCs 102 and 103 for them:
AudioSourcesMap: [{"source":"B","owner":"endpoint-B","ssrc":102}]
AudioSourcesMap: [{"source":"C","owner":"endpoint-C","ssrc":103}]
Now we have reached the limit of 3 SSRCs. When D starts to speak, we’ll find the source in the map that has been active least recently (let’s say that’s B) and re-use its SSRC for D. We’ll signal an update (“SSRC 102 now belongs to D”):
AudioSourcesMap: [{"source":"D","owner":"endpoint-D","ssrc":102}]
The scheme is identical for video, except the forwarding decisions are made in a different way. Receivers explicitly signal their preferences using video constraints. The source names and their mute status are published in presence when an endpoint signals its source information to the Jitsi Conference Focus (Jicofo) and therefore this information is already available with all the other endpoints in the call. Based on the current layout in the UI and the user’s preferences, the client sends the updated receiver video constraints over the bridge channel.
A bandwidth allocation algorithm in the JVB then decides which streams to forward to a particular receiver, based on its constraints and current network conditions:
[modules/RTC/BridgeChannel.js] <Fa.sendReceiverVideoConstraintsMessage>: Sending ReceiverVideoConstraints with {"constraints":{"ed6b60f5-v0":{"maxHeight":360},"e01f2103-v0":{"maxHeight":360},"9ac8fef2-v0":{"maxHeight":360}},"defaultConstraints":{"maxHeight":0},"lastN":-1,"onStageSources":[],"selectedSources":[]}
On receiving an update to one of the maps (audio or video), the client adds the signaled SSRCs to the remote description on the peerconnection. The browser then fires a track event for each of the SSRCs, the corresponding remote tracks are then added to the HTMLElements associated with the remote user.
So when the audio packets with this SSRC arrive, the browser starts decoding the media and plays it through the selected audio output device. If the SSRC is already in use (i.e. the limit on the bridge has been reached) the client updates the owner of the associated track so that it gets attached to the corresponding HTMLAudioElement and the audio switches over to the new speaker seamlessly.
The video track creation process is the same as that of the audio tracks as described above. The client application needs to update the track’s owner whenever there is an updated source map involving the SSRC that is assigned to the track and re-attach it to the corresponding HTMLVideoElement so that the correct video stream is rendered in the remote participant’s viewport.
But wait, re-using an SSRC like this is okay for audio because the streams simply get mixed before playback, but what about video, how do we avoid video content being rendered in the wrong viewport when signaling and media race? That’s the elegance of this approach, we simply use a large enough limit (larger than the maximum number of streams forwarded at any one time) and the occurrence becomes extremely unlikely. If the limit is larger by K, then K new forwarding decisions must be made before the signaling arrives at the receiver for the problem to happen.
So how do we choose the limits? We have the constraint just mentioned, but also an interesting trade-off. If the limit is too high we’re using unnecessary resources at the receivers. But if the limit is too low, we’ll be signaling updates more often. We have chosen to set the limits to 50 by default. That’s 50 for audio and 50 for video, which is well above the maximum of 25 tiles that we display at any time.
When SSRC rewriting is enabled, the number of source signaling messages can increase drastically based on the SSRC limits set for the conference and the total number of participants in the call. Imagine a call with 100 participants where everyone has their video on; UI shows a grid of 25 participants and the SSRC limit is set to 25. Whenever the user scrolls to the next grid of 25 participants, existing SSRCs get remapped. This happens everytime the user scrolls back and forth. This results in a lot of signaling messages over the bridge channel. What if the websocket connection for the bridge channel is down at this time? This would result in videos not being rendered or audio from new dominant speakers not being heard which can be very disruptive to meetings. All the sources are signaled immediately after the websocket connection reforms but even minimal disruptions to audio can be very annoying.
To mitigate these issues, Jitsi client switches to using WebRTC’s SCTP data channel for establishing the bridge channel instead of using a websocket. This ensures that the bridge channel is up and running all the time as long as the media connection between the client and the JVB is up. This results in minimal or no disruptions to the signaling messages from the JVB to the downstream endpoints.
This feature has been well tested and has been running on meet.jit.si for the past few months now, with limits set to 50. We also enabled it by default in our last stable release of the Debian packages and Docker images. We will be releasing it soon to all our production deployments in the next few releases pending investigation into some SCTP crashes that we are seeing in the JVB .
Your personal meetings team.
The post Improving performance on very large calls: introducing SSRC rewriting appeared first on Jitsi.
In a digital age where the Unified Communications (UC) landscape is rapidly expanding, On-Premises UC solutions stand out as the bedrock for businesses aiming to secure, customize, and control their communication infrastructures. With the UC market projected to swell to USD 145.58 billion by 2024 and further grow to an impressive USD 496.30 billion by […]
The post Navigating the Future with Confidence: The Strategic Imperative of On-Premises UC Solutions appeared first on Sangoma Technologies.
In a digital age where the Unified Communications (UC) landscape is rapidly expanding, On-Premises UC solutions stand out as the bedrock for businesses aiming to secure, customize, and control their communication infrastructures. With the UC market projected to swell to USD 145.58 billion by 2024 and further grow to an impressive USD 496.30 billion by 2029 (Mordor Intelli), it’s clear that businesses are investing heavily in communication technologies that not only meet their current needs but also future-proof their operations.
In the quest for ironclad security, On-Premises UC solutions emerge as the champions. The ability to manage data on local servers provides businesses with direct oversight of their security measures. This is especially critical in industries where the margin for error is non-existent. By opting for On-Premises solutions, organizations can tailor their security protocols to their specific needs, ensuring that their communications are shielded against external threats.
Navigating the labyrinth of regulatory compliance is a formidable challenge for any business. On-Premises UC solutions offer a framework that ensures data management and storage practices are in strict alignment with industry standards. This not only offers peace of mind but also fortifies legal protection, ensuring that businesses stay on the right side of regulations.
In a world where time is of the essence, the performance advantages of On-Premises UC solutions cannot be overstated. With the global UC market set to reach USD 167.1 billion by 2025, it’s evident that businesses are seeking solutions that promise not just functionality but also high-speed data processing with minimal latency. On-Premises servers deliver on this front, offering the agility and efficiency that businesses require to stay ahead.
Check out how this customer benefits from Sangoma’s Switchvox On-Premises UC solution
The control that comes with On-Premises UC solutions is unparalleled. Businesses not only decide where their data resides but also who has access to it. This level of autonomy is crucial in today’s environment, where data is both a valuable asset and a potential liability. On-Premises solutions offer the traceability and governance needed to manage data with precision.
The one-size-fits-all approach is a relic of the past. Today, businesses demand solutions that can be customized to fit their unique needs. On-Premises UC solutions provide this flexibility, allowing companies to create a communication ecosystem that aligns with their operational goals. This level of customization ensures that businesses aren’t just communicating; they’re doing so in a way that enhances their operational efficiency and market competitiveness.
The trajectory of the UC market suggests a landscape ripe with opportunities and challenges. The substantial growth forecasted for the UC market indicates a surge in demand for robust communication solutions (Mordor Intelli). On-Premises UC solutions, with their unique blend of security, control, and customization, are well-positioned to meet these demands.
If you are in the market to include or upgrade your On-Premises solution, Sangoma’s Switchvox delivers an all-in-one solution – all features included and easily customized for your business needs. It comes in various appliance platforms and virtual machine options for VMware and Hyper-V.
Learn more about our all-in-one, fully featured On-Premises UC!
The post Navigating the Future with Confidence: The Strategic Imperative of On-Premises UC Solutions appeared first on Sangoma Technologies.
The rumor mill started churning when cloud-based solutions began gaining prominence. These solutions offer scalable, flexible alternatives to traditional on-premises setups. As more companies migrated to the cloud, a narrative emerged suggesting that on-premises solutions like Switchvox were becoming obsolete. Though popular, this view only captures part of the picture. The Reality of Switchvox On-Premises […]
The post Switchvox On-Premises: Alive & Well appeared first on Sangoma Technologies.
The rumor mill started churning when cloud-based solutions began gaining prominence. These solutions offer scalable, flexible alternatives to traditional on-premises setups. As more companies migrated to the cloud, a narrative emerged suggesting that on-premises solutions like Switchvox were becoming obsolete. Though popular, this view only captures part of the picture.
Switchvox On-Premises remains a robust, feature-rich Unified Communications (UC) solution designed to meet businesses’ diverse needs. Far from dead, it continues receiving updates, support, and enhancements, ensuring its competitiveness and relevance.
Sangoma Technologies, known for its commitment to cloud and on-premises communication solutions, continues to invest in Switchvox On-Premises.
While cloud-based systems offer benefits like ease of scalability and reduced physical infrastructure, on-premises solutions have their own set of advantages that make them indispensable for certain businesses:
As businesses seek to balance the benefits of cloud and on-premises solutions, hybrid models have emerged as a compelling option. Switchvox On-Premises plays a crucial role in these environments, offering a bridge that allows companies to leverage the strengths of both approaches. Integrating with cloud services is beneficial while maintaining core systems on-premises, allowing businesses to achieve optimal flexibility and efficiency.
Switchvox is a fully-featured VoIP phone system deployed on-premises that the Sangoma endpoint devices can complement.
While the telecommunications sector increasingly embraces cloud technologies, this doesn’t equate to the extinction of on-premises solutions. Instead, we’re witnessing an evolution of the market where different deployment models coexist, each serving the unique needs of diverse business landscapes.
On-premises systems have a distinct and enduring role in a world that prizes customization, security, control, and flexibility to adapt to changing needs. Far from fading into obsolescence, Switchvox On-Premises is evolving, ready to meet the challenges of the modern business environment head-on.
Get started with Switchvox today and request a demo!
The post Switchvox On-Premises: Alive & Well appeared first on Sangoma Technologies.
So you want to have live meetings in Moodle courses. Well, as it turns out, this is quite an easy feat. Thanks to the wonderful work done by UDIMA (Universidad a Distancia de Madrid), you can use their Jitsi Moodle Plugin.
If your use-case doesn’t go beyond 25 monthly individual endpoints, you might want to opt for the JaaS Dev offering which is completely free. For users requiring more than 25 monthly endpoints or desiring premium features like transcriptions, dial-in, recordings or RTMP streaming, there are two options:
1. Add a credit card for overages, paying extra costs as needed, without any discounts.
2. Sign up for alternative plans offering an initial discount of 80% off for the first three months of JaaS usage.
To benefit of the 80% discount you need to use the MOODLE23 JaaS Coupon. The coupon expires on September 2024.
Before starting the configuration process, you need to download and install the latest Jitsi Moodle Plugin in your Moodle instance and create a JaaS account.
Right off the bat, the plugin tries to use the freely accessible meet.jit.si instance as the backend. This is only going to work for the first five minutes due to the changes announced here. This should be more than enough if you only want to give it a try.
Once you have created your JaaS Account, here are the steps to configure the plugin:
Go to the JaaS API Keys section and create a new key pair. Name it something meaningful. Download the private key and store it somewhere safe.
Open the Moodle Jitsi plugin settings and change the values as follows:
– Domain: `8×8.vc`
– Server type: pick `8×8 Servers`
– App_ID: copy it from the JaaS Console API Keys page, i.e. `vpaas-magic-cookie-xxxxx`
– Api Key ID: copy it from the keys table in the same page, it should be something like `vpaas-magic-cookie-xxxxx/somehex`
– Private key: the contents of the private key you just downloaded from JaaS Console
– Make sure to leave the ID User (jitsi_id) dropdown to Username, the default
With just a few steps, you’ll now have a complete communication solution right within Moodle!
Your personal meetings team.
The post Jitsi + Moodle, with a dash of JaaS appeared first on Jitsi.
There was a time when cash was king. Today, however, not so much. Paying over the phone for everything from fast food to a holiday abroad has become the norm for millions of consumers who prioritise modern convenience over traditional transacting. Protection from fraud is, of course, paramount, which is why strict rules exist. Phones […]
The post PCI Compliance: How the Sangoma P-Series Business Phone System Can Keep You Out of Jail appeared first on Sangoma Technologies.
There was a time when cash was king. Today, however, not so much.
Paying over the phone for everything from fast food to a holiday abroad has become the norm for millions of consumers who prioritise modern convenience over traditional transacting.
Protection from fraud is, of course, paramount, which is why strict rules exist. Phones used by businesses to take payments must be Payment Card Industry-compliant. They must feature ‘pause-and-resume’ functionality for use at the critical point that customers provide their payment card details. Also, all transactional calls and call recordings must be encrypted.
Breaching these rules can lead to seriously big fines capable of dealing a catastrophic blow to profit and reputation. Ultimately, in the most extreme cases, non-compliance can even lead to jail!
Next year, the rules change: an update to the Payment Card Industry Data Security Standard (PCI DDS) which beefs-up protection, but which also places new obligations on in-scope organisations. In a world in which technology plays a vital part in the way over-the-phone transactions occur, it is the perfect time for businesses and their Managed Service Providers to also change things up – upgrading desk and softphones that support that all-important compliance.
Choose Sangoma’s award-nominated P-Series Desk and Softphone, and that-all important compliance also comes with a feature set that ensures the wider desk calling experience is rich and rewarding for both callers and agents. High-definition audio, unprecedented plug-and-play deployment, and advanced IP applications as standard that include voicemail, call log, contacts, phone status, user presence, call parking, and more. Big and bold, yet at the same time stylish and sleek, its ergonomic design leverages the beauty of angles, curves and corners to provide users with brilliant visibility of and access to its bright touchscreen display and lightweight receiver, regardless of where they sit or stand. The audio is crisp and clear, the management and compliance of calls is fast and effective, and overall satisfaction levels are high. For callers, that overall high-quality reflects favourably on the brands or organisations with which they interact.
Importantly, the P-Series’ versatile compatibility with both PBX and cloud-based voice systems also means it can be deployed on different platforms in different spaces whilst maintaining an organisation’s look-and-feel. In addition, the P-Series is the only Desk Phone designed to be fully-compatible with Sangoma’s wider communications portfolio – further enhancing its value to Sangoma customers and enabling its commercial reseller partners to benefit from the efficiency and simplicity of stocking and supporting just one Sangoma phone product line. The P-Series brings yet more added value too. The rarest of combinations: it appeals to all types of user groups, at a price point that suits all types of budgets.
For user organisations and their MSPs, we think that makes for a compelling offer all-round.
The post PCI Compliance: How the Sangoma P-Series Business Phone System Can Keep You Out of Jail appeared first on Sangoma Technologies.
We covered End-to-end encryption (E2EE) before, first back in 2020 when Zoom’s claims to do E2EE were demystified (not just by us; they later got fined $85m for this), followed by the quite exciting beta implementation of E2EE in Jitsi using Chromium’s Insertable Streams API. A bit later we had Matrix explain how their approach […]
The post End-to-End Encryption in WebRTC… 4 Years Later appeared first on webrtcHacks.
We’re happy to announce that Jitsi will be participating in Google Summer of Code 2024!
We have some very cool project ideas in the list for this year, and we’re still open to discussing new ones.
You can also check out the official program website, the list of accepted organizations and the full program timeline.
The next important date is March 18 when the contributor application period opens. In the meantime, please join me in welcoming the new contributors to our community!
The post Google Summer of Code 2024 appeared first on Jitsi.
In today’s healthcare landscape, the patient experience hinges on seamless communication. This is where Sangoma Technologies makes an indelible mark. With their unified communications as a service (UCaaS) portfolio, end-to-end solutions are crafted that enhance patient care, streamline processes, and reduce costs.
Sangoma CX stands as a testament to this commitment, magnifying call-handling capabilities and more than doubling call volumes for healthcare providers, as evidenced by the transformation of the Healthcare Physicians Group. The robust reporting suite of Sangoma CX, coupled with its callback features, optimizes patient touchpoints, ensuring no call – and no patient – is left unanswered.
Furthermore, Sangoma’s integrated suite of value-based Communications as a Service solutions allows care organizations of all sizes to maximize productivity. This means healthcare institutions can focus on what they do best – providing top-notch patient care – while Sangoma takes care of the rest.
With the help of Sangoma Apps, outreach initiatives are taken to new heights. From online scheduling to automated reminders, every interaction is personalized, enhancing the patient experience at every turn. Video conferencing is a must for telemedicine, and Sangoma delivers a consistent and feature-rich experience for virtual consultations, becoming a partner to deliver exceptional patient care.
The results speak for themselves. Hospitals, pharmacies, and labs report improved patient care and significant time savings in emergency handling – up to 50% in some cases. The future of healthcare communication is here, and it’s powered by Sangoma.
Learn more about our solutions in the Sangoma Healthcare eBook.
The post Powering Patient Touchpoints: Sangoma’s Cure for Communication Roadblocks appeared first on Sangoma Technologies.
In today’s healthcare landscape, the patient experience hinges on seamless communication. This is where Sangoma Technologies makes an indelible mark. With their unified communications as a service (UCaaS) portfolio, end-to-end solutions are crafted that enhance patient care, streamline processes, and reduce costs.
Sangoma CX stands as a testament to this commitment, magnifying call-handling capabilities and more than doubling call volumes for healthcare providers, as evidenced by the transformation of the Healthcare Physicians Group. The robust reporting suite of Sangoma CX, coupled with its callback features, optimizes patient touchpoints, ensuring no call – and no patient – is left unanswered.
Furthermore, Sangoma’s integrated suite of value-based Communications as a Service solutions allows care organizations of all sizes to maximize productivity. This means healthcare institutions can focus on what they do best – providing top-notch patient care – while Sangoma takes care of the rest.
With the help of Sangoma Apps, outreach initiatives are taken to new heights. From online scheduling to automated reminders, every interaction is personalized, enhancing the patient experience at every turn. Video conferencing is a must for telemedicine, and Sangoma delivers a consistent and feature-rich experience for virtual consultations, becoming a partner to deliver exceptional patient care.
The results speak for themselves. Hospitals, pharmacies, and labs report improved patient care and significant time savings in emergency handling – up to 50% in some cases. The future of healthcare communication is here, and it’s powered by Sangoma.
Learn more about our solutions in the Sangoma Healthcare eBook.
The post Powering Patient Touchpoints: Sangoma’s Cure for Communication Roadblocks appeared first on Sangoma Technologies.
Building on the new, powerful AI features introduced to Sangoma CX already in 2024, our cloud contact center solution now expands its automation capabilities and adds other significant enhancements with our 7.5 release. The new version is even more capable, empowering agents, supervisors, and administrators in their day-to-day operations.
Release 7.5 also brings several other minor improvements, like the capability to export the Queue Annual report to a spreadsheet format, and a new simplified implementation for logging agent call flow for phone-only Agents, in simple call center setups. These improvements enhance the overall functionality and user experience for contact center administrators.
If you have any questions, need a quote, or require assistance with these new features, please reach out to us.
Stay tuned for updates on upcoming enhancements and exciting new features in Sangoma CX!
Sincerely,
The Sangoma Product Team
The post More AI Features for Your Contact Center With Sangoma CX 7.5 appeared first on Sangoma Technologies.
Building on the new, powerful AI features introduced to Sangoma CX already in 2024, our cloud contact center solution now expands its automation capabilities and adds other significant enhancements with our 7.5 release. The new version is even more capable, empowering agents, supervisors, and administrators in their day-to-day operations.
Release 7.5 also brings several other minor improvements, like the capability to export the Queue Annual report to a spreadsheet format, and a new simplified implementation for logging agent call flow for phone-only Agents, in simple call center setups. These improvements enhance the overall functionality and user experience for contact center administrators.
If you have any questions, need a quote, or require assistance with these new features, please reach out to us.
Stay tuned for updates on upcoming enhancements and exciting new features in Sangoma CX!
Sincerely,
The Sangoma Product Team
The post More AI Features for Your Contact Center With Sangoma CX 7.5 appeared first on Sangoma Technologies.
I am working on a personal Chrome Extension project where I need a way to convert a video file – like your standard mp4 – into a media stream, all within the browser. Adding a file as a src to a Video Element is easy enough. How hard could it be to convert a video […]
The post All the ways to send a video file over WebRTC appeared first on webrtcHacks.
It’s hard to believe that Asterisk has been around for 25 years. It started in humble beginnings as a phone system for a fledgling company, only to grow and expand to become the purpose of that company itself eventually. While I was not there from the beginning, I was there from the fairly early days.
Back then, it was the wild west. VoIP was still new. SIP was still new, and its problems had yet to be discovered. STIR/SHAKEN was in the minds of no one. The cost of calling people was still high (in comparison to what we pay today). Asterisk swiftly emerged onto the scene and became THE open source phone system. It disrupted the traditional phone system market and gave the power back to the users and deployers to do things the way they wanted at a price they could handle.
As the industry evolved and expanded, Asterisk continued to do so as well. Thanks to the numerous contributions and the community around the project, it expanded in functionality and scope beyond what anyone could have envisioned. Its usage grew and grew in more clever and interesting ways. Every week, by helping individuals and talking to them, I find new ways that Asterisk is used. The flexibility of Asterisk means you are always surprised by what people are doing.
This evolution and expansion continue to happen to this day. While Asterisk started as a phone system, it has also become a telephony toolkit. This has given users even more power and control, especially developers, allowing them to manifest ideas more rapidly in the communications space by providing easy-to-use and understandable interfaces. This is where a lot of the power in Asterisk is these days. This aspect is filled with endless possibilities and untapped potential.
I want to thank everyone who has helped Asterisk get to this point. Those who have contributed code or ideas, filed issues, helped others on forums and other places, and spread the word of Asterisk itself. It’s been a wild 25 years, and we still have more to go. It’s not too late to join me and others on the journey through participating in the Asterisk project and community. You can find us on GitHub or the Community Forums. All help is welcome!
As always, I enjoy sharing extra resources. If you’re intrigued by the history of Asterisk and other related topics, I invite you to check out the webinar I gave on the fascinating “Evolution of Asterisk”.
The post 25 Years of Asterisk appeared first on Sangoma Technologies.
It’s hard to believe that Asterisk has been around for 25 years. It started in humble beginnings as a phone system for a fledgling company, only to grow and expand to become the purpose of that company itself eventually. While I was not there from the beginning, I was there from the fairly early days.
Back then, it was the wild west. VoIP was still new. SIP was still new, and its problems had yet to be discovered. STIR/SHAKEN was in the minds of no one. The cost of calling people was still high (in comparison to what we pay today). Asterisk swiftly emerged onto the scene and became THE open source phone system. It disrupted the traditional phone system market and gave the power back to the users and deployers to do things the way they wanted at a price they could handle.
As the industry evolved and expanded, Asterisk continued to do so as well. Thanks to the numerous contributions and the community around the project, it expanded in functionality and scope beyond what anyone could have envisioned. Its usage grew and grew in more clever and interesting ways. Every week, by helping individuals and talking to them, I find new ways that Asterisk is used. The flexibility of Asterisk means you are always surprised by what people are doing.
This evolution and expansion continue to happen to this day. While Asterisk started as a phone system, it has also become a telephony toolkit. This has given users even more power and control, especially developers, allowing them to manifest ideas more rapidly in the communications space by providing easy-to-use and understandable interfaces. This is where a lot of the power in Asterisk is these days. This aspect is filled with endless possibilities and untapped potential.
I want to thank everyone who has helped Asterisk get to this point. Those who have contributed code or ideas, filed issues, helped others on forums and other places, and spread the word of Asterisk itself. It’s been a wild 25 years, and we still have more to go. It’s not too late to join me and others on the journey through participating in the Asterisk project and community. You can find us on GitHub or the Community Forums. All help is welcome!
As always, I enjoy sharing extra resources. If you’re intrigued by the history of Asterisk and other related topics, I invite you to check out the webinar I gave on the fascinating “Evolution of Asterisk”.
The post 25 Years of Asterisk appeared first on Sangoma Technologies.
The healthcare industry is characterized by a relentless pursuit for excellence. The quality of care service directly translates into a substantial impact in people’s lives. In the quest to deliver superior patient experiences, Sangoma solutions are at the forefront of this goal.
Connectivity, the lifeblood of seamless operations, is the top priority for the IT team. No more dropped calls or network reach loss. Instead, budget-friendly 5G broadband and satellite options can handle your internet connections, no matter when or where. Sangoma offers SD-WAN too, which boosts your network’s performance by tying together all your connections, making sure they’re always up and running, and offering top-notch security against threats. Make your backbone embody reliability and efficiency thanks to a fully-monitored network infrastructure that meets PCI compliance standards.
Sangoma’s UCaaS features elevate this connectivity to embrace diversity and dynamism. Video conferencing, instant messaging, mobile applications, and team collaboration tools ensure that communication is not just continuous, but also multifaceted and hybrid-work friendly.
The integrated contact center features of Sangoma serve as a catalyst for change. With true omnichannel features, you can deliver an exceptional customer experience and hear out your patients from their preferred method of speaking to you. Every interaction will help your patients feel valued and cared for.
HIPAA compliance is vital to preserve the sanctity of patient data. Trust in the safety of information is no longer a hope, but a guarantee.
Sangoma’s Managed Internet Services and Mobility Solutions offer superior communications at lower costs while expanding the talent pool. Secure internal collaboration, compliant documentation, cost-effective operations, and flexible solutions are no longer exceptions, but the norm.
Keep the pulse of your healthcare institution steady and healthy with Sangoma, your one-stop-shop for modern technology solutions. Learn more in our Healthcare eBook.
The post The Pulse Behind Modern Healthcare Communication appeared first on Sangoma Technologies.
The healthcare industry is characterized by a relentless pursuit for excellence. The quality of care service directly translates into a substantial impact in people’s lives. In the quest to deliver superior patient experiences, Sangoma solutions are at the forefront of this goal.
Connectivity, the lifeblood of seamless operations, is the top priority for the IT team. No more dropped calls or network reach loss. Instead, budget-friendly 5G broadband and satellite options can handle your internet connections, no matter when or where. Sangoma offers SD-WAN too, which boosts your network’s performance by tying together all your connections, making sure they’re always up and running, and offering top-notch security against threats. Make your backbone embody reliability and efficiency thanks to a fully-monitored network infrastructure that meets PCI compliance standards.
Sangoma’s UCaaS features elevate this connectivity to embrace diversity and dynamism. Video conferencing, instant messaging, mobile applications, and team collaboration tools ensure that communication is not just continuous, but also multifaceted and hybrid-work friendly.
The integrated contact center features of Sangoma serve as a catalyst for change. With true omnichannel features, you can deliver an exceptional customer experience and hear out your patients from their preferred method of speaking to you. Every interaction will help your patients feel valued and cared for.
HIPAA compliance is vital to preserve the sanctity of patient data. Trust in the safety of information is no longer a hope, but a guarantee.
Sangoma’s Managed Internet Services and Mobility Solutions offer superior communications at lower costs while expanding the talent pool. Secure internal collaboration, compliant documentation, cost-effective operations, and flexible solutions are no longer exceptions, but the norm.
Keep the pulse of your healthcare institution steady and healthy with Sangoma, your one-stop-shop for modern technology solutions. Learn more in our Healthcare eBook.
The post The Pulse Behind Modern Healthcare Communication appeared first on Sangoma Technologies.
We are thrilled to share the latest improvements to our Sangoma CX platform in its newly released version 7.4. Focusing on customer service and reporting capabilities enhancements, these updates will make your contact center experience more efficient, intelligent, and data-driven. Let’s dive in!
Omnichannel
AI
Reports
Automated Data Export
The Automated Data Export now includes detailed information on Agent Hold times, Blind Transfer times and destinations, and an extended Queue Details container with a “Max Wait Time” setting for each queue.
Agent
We are committed to continually improving your experience with Sangoma CX, and we know you will find these latest enhancements invaluable to your business operations.
For quotes, questions, or assistance with these new features, please reach out to us.
Thank you again for choosing Sangoma CX for your Contact Center needs!
Sincerely,
The Sangoma Product Team
Sangoma CX and Google Dialogflow Configuration Guide
Sangoma CX and WhatsApp Channel Configuration Guide
Sangoma CX and Telegram Channel Configuration Guide
Partners Only: CX 7.4 Release Kit
The post Exciting Updates for Your Contact Center with Sangoma CX 7.4 appeared first on Sangoma Technologies.
We are thrilled to share the latest improvements to our Sangoma CX platform in its newly released version 7.4. Focusing on customer service and reporting capabilities enhancements, these updates will make your contact center experience more efficient, intelligent, and data-driven. Let’s dive in!
Omnichannel
AI
Reports
Automated Data Export
The Automated Data Export now includes detailed information on Agent Hold times, Blind Transfer times and destinations, and an extended Queue Details container with a “Max Wait Time” setting for each queue.
Agent
We are committed to continually improving your experience with Sangoma CX, and we know you will find these latest enhancements invaluable to your business operations.
For quotes, questions, or assistance with these new features, please reach out to us.
Thank you again for choosing Sangoma CX for your Contact Center needs!
Sincerely,
The Sangoma Product Team
Sangoma CX and Google Dialogflow Configuration Guide
Sangoma CX and WhatsApp Channel Configuration Guide
Sangoma CX and Telegram Channel Configuration Guide
Partners Only: CX 7.4 Release Kit
The post Exciting Updates for Your Contact Center with Sangoma CX 7.4 appeared first on Sangoma Technologies.
With the holidays just around the corner we thought it would be a cool to show a perhaps non-conventional use of the Elgato StreamDeck, a gadget I recently acquired that would make a great gift!
The Elgato Stream Deck is a programmable hardware device that allows users to automate virtually any task with the press of a button. It has been around for a while but not too long ago I was at the RTC.ON conference chatting with my buddy Dan Jenkins when he told me there was a library to control these devices using WebHID. I instantly bought one (no, this is not a sponsored post).
The idea here is to use the Jitsi iframe API (you can start using it right away with a free JaaS account!) to map custom meeting controls on your own Stream Deck. Our iframe API provides a bunch of events and commands to interact with the meeting and the WebHID library allows us to program each key individually, inluding the icon on each of the buttons, which is actually a tiny display!
Here is a video demonstrating the integration:
Cool, right! The potential for contextual controls for specific applications right from your browser is virtually boundless, what a time to be working on the Web Platform.
The source code can be found here. It works with 6 buttons by default (the Stream Deck Mini) but it’s easy to adapt to other models.
Have fun and happy holidays!
Your personal meetings team.
The post Custom meeting controls with Elgato Stream Deck and WebHID appeared first on Jitsi.
Earlier last week a friend at Google reached out to me asking Does Meet do anything weird with scalabilityMode? Apparently, I am the go-to when it comes to Google Meet behaving weirdly :). Well, I do have a decade of history observing Meet’s implementation, so this makes some sense! It turned out that this was […]
The post The Hidden AV1 Gift in Google Meet appeared first on webrtcHacks.
On my Asterisk server, I happen to have two on-board ethernet boards. Since I only used one of these, I decided to move my VoIP phone from the local network switch to being connected directly to the Asterisk server.
The main advantage is that this phone, running proprietary software of unknown quality, is no longer available on my general home network. Most importantly though, it no longer has access to the Internet, without my having to firewall it manually.
Here's how I configured everything.
On the server, I started by giving the second network interface a static IP
address in /etc/network/interfaces
:
auto eth1
iface eth1 inet static
address 192.168.2.2
netmask 255.255.255.0
On the VoIP phone itself, I set the static IP address to 192.168.2.3
and
the DNS server to 192.168.2.2
. I then updated the SIP registrar IP address
to 192.168.2.2
.
The DNS server actually refers to an unbound daemon running on the Asterisk server. The only configuration change I had to make was to listen on the second interface and allow the VoIP phone in:
server:
interface: 127.0.0.1
interface: 192.168.2.2
access-control: 0.0.0.0/0 refuse
access-control: 127.0.0.1/32 allow
access-control: 192.168.2.3/32 allow
Finally, I opened the right ports on the server's firewall in
/etc/network/iptables.up.rules
:
-A INPUT -s 192.168.2.3/32 -p udp --dport 5060 -j ACCEPT
-A INPUT -s 192.168.2.3/32 -p tcp --dport 5060 -j ACCEPT
-A INPUT -s 192.168.2.3/32 -p udp --dport 10000:20000 -j ACCEPT
In order for the phone to update its clock automatically using NTP, I installed chrony on the Asterisk server:
apt install chrony
then I configured it to listen on the private network interface and allow access from the VoIP phone by adding the following to /etc/chrony/conf.d/asterisk-local.conf
:
bindaddress 192.168.2.2
allow 192.168.2.3
Finally, I opened the right firewall port by adding a new rule to /etc/network/iptables.up.rules
:
-A INPUT -s 192.168.2.3 -p udp --dport 123 -j ACCEPT
Now that the VoIP phone is no longer available on the local network, it's not possible to access its admin page. That's a good thing from a security point of view, but it's somewhat inconvenient.
Therefore I put the following in my ~/.ssh/config
to make the admin page
available on http://localhost:8081
after I connect to the Asterisk server
via ssh:
Host asterisk
LocalForward localhost:8081 192.168.2.3:80
Because this local device is not connected to the local network
(192.168.1.0/24
), it's unable to negotiate a direct media connection to
any other local (i.e. one connected to the same Asterisk server) SIP device.
What this means is that while calls might get connected successfully, by
default, there will not be any audio in a call.
In order for the two local SIP devices to be able to hear one another, we
must enforce that all media be routed via Asterisk instead of going directly
from one device to the other. This can be done using the directmedia
directive (formerly
canreinvite
) in
sip.conf
:
[1234]
directmedia=no
where 1234
is the extension of the phone.
Starting on August 24th, we will no longer support the anonymous creation of rooms on meet.jit.si, and will require the use of an account (we will be supporting Google, GitHub and Facebook for starters but may modify the list later on). This is a first for us, so users may encounter a few bumps here and there as we are tweaking the experience to make sure there is as little friction as possible on the way into a meeting.
When we started the service back in 2013, our goal was to offer a meeting experience with as little friction and as much privacy as possible. We felt and still feel that both of these goals are very important and one of the main reasons that justified the existence of “yet another meeting service.” We wanted people to be able to converse easily and freely, without fear of expressing their views and opinions.
Our “one tap and you’re in” experience was a big part of our strategy to eliminate friction. We didn’t want people to have to worry about “creating” meetings in advance, remembering passwords, codes or long complicated sequences of numbers for a meeting ID. We wanted users to be able to think of a name and just go there. Through the years we’ve had to compromise on this a little bit. We ended up introducing a pre-meeting device check screen. We felt that checking your camera and microphone before you entered a room could save everyone some hassle so it was worth the pause.
As for privacy, we previously made sure all communication was always encrypted and we retained no data beyond what is necessary to actually provide a decent meeting service.
Offering the possibility to anonymously use the service felt like a good way to help with both its privacy and the usability.
Our commitment to both goals remains as strong as ever but anonymity is no longer going to be one of the tools we use to achieve them.
Earlier this year we saw an increase in the number of reports we received about some people using our service in ways that we cannot tolerate. To be more clear, this was not about some people merely saying things that others disliked.
Over the past several months we tried multiple strategies in order to end the violations of our terms of service. However in the end, we determined that requiring authentication was a necessary step to continue operating meet.jit.si.
It is a good time to have a look at our privacy terms. 8×8 will now store the account responsible for creating rooms. Aside from the changes to our privacy terms referenced above, there is no other change to our meetings. We are still very much committed to holding user privacy in the highest regard and we still have no tools that would allow us to compromise the privacy of the actual audio or video content of a meeting, nor do we intend to create any.
That said, it is completely understandable that some users may feel uncomfortable using an account to access the service. For such cases we strongly recommend hosting your own deployment of Jitsi Meet. We spend a lot of effort to keep that a very simple process and this has always been the mode of use that gives people the highest degree of privacy.
If you see content that violates the jit.si terms of service you can always report it.
That’s all we’ve got for now!
The Jitsi Team
The post Authentication on meet.jit.si appeared first on Jitsi.
Open Broadcaster Software – Studio or OBS Studio is an extremely popular open-source program used for streaming to broadcast platforms and for local recording. WebRTC is the open-source real time video communications stack built into every modern browser and used by billions for their regular video communications needs. Somehow these two have not formally intersected […]
The post WebRTC cracks the WHIP on OBS appeared first on webrtcHacks.