Inside the Asterisk

Keyword: core

Local Channel Multistream and Re-Negotiation Support

When stream support was initially added to Asterisk we did it in the most backwards compatible way possible to ensure that we did not have to modify the entirety of Asterisk. This has allowed us to gradually improve parts of Asterisk as we’ve expanded our stream and video support. To that end the next part

Read More

Adding and Removing Media Streams

When stream support was added to Asterisk it was initially done with the focus being for SFU with a single video stream from each participant with the call starting out with video. This is a use case which is useful for a lot of people and has worked well. Coming soon, however, is the ability

Read More

An Asterisk Video Update

Over the past few years we’ve been working to improve the video support in Asterisk. We initially started with adding stream support[1] in a backwards compatible fashion so we could individually address streams and add/remove them. Next we added support for REMB[2] to be able to control the video bitrate with supported clients. We continued

Read More

PJSIP Configuration Design

A comment that I see frequently when helping people with PJSIP is the lack of a general section (with global options) and how this causes their configuration to be larger than it needs to be. I thought I would take this blog post to explain some of the design choices that went into PJSIP configuration

Read More

Stasis State: Improved Management

Stasis has been a core part of Asterisk for a while now. However, state management within it is a bit precarious. A new stasis_state module has been created to help address some of the complications that arise when attempting to store, and administer state within stasis. Stasis Cache and Topic Pool Typically, the stasis cache

Read More

The case of the blocked AMI Stasis subscription

Manager is an API that has been in Asterisk for almost as long as Asterisk has existed. It provides a mechanism to see what is happening in Asterisk and to also cause things to happen. While the public facing API hasn’t undergone any radical changes since it came into existence the way it works internally

Read More

R.I.P. Media Index Cache!

If you’ve been concerned about slow Asterisk startup times or excessive memory utilization, we’ve got some good news for you.  We’ve eliminated the media index cache that gets built when Asterisk starts. Currently, when Asterisk starts, one of the tasks is to do a scan of /var/lib/asterisk/sounds and build an index of every sound file,

Read More

stasis: Statistics CLI Commands

Previously on this blog I talked about a new feature to internally filter messages in our internal message bus, as well as a new caching implementation for it. When these were being developed logging had to be manually added to understand the impact. As of the next version of Asterisk a new feature will be

Read More

AstriDevCon 2018 – A Recap

Hey Everybody, It’s about a month out from AstriDevCon 2018 and I wanted to write a little bit to summarize what we discussed this year. For those who are not familiar with AstriDevCon, it is an opportunity for Asterisk C-level developers, Asterisk ARI/AMI/AGI developers, and Asterisk integrators to get together to learn about what has

Read More

Stasis: Improving performance through better caching and filtering

The stasis message bus is something that is used every day as of Asterisk 13 when you are using Asterisk. It provides the foundation of such things as CDR, CEL, ARI, AMI, and some operations in applications. It allows a message to be published and then handled by a subscriber. These messages are automatically created

Read More
Scroll to Top