Inside the Asterisk

Keyword: performance

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

Continuous Integration Update

Back in December in my The Continuing Saga of Continuous Integration blog post I wrote about how we reduced the Testsuite’s “27” layers of file system access down to 3 by moving the Docker container’s /tmp filesystem to be memory backed.  That reduced the number of individual test failures by quite a bit but still

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

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

Performance Improvements: Inbound Registration

Measuring performance in Asterisk, like most software systems for that matter, can be a complicated task. When testing performance it is important to define goals, and limit the context for that which is being tested. It’s been previously shown that res_pjsip might have an efficiency problem when it comes to inbound registration. Our main goal for this

Read More

Improved PJSIP Qualify Support Performance

One of the most difficult things in PJSIP is ensuring that the experience is the best it can be for not just people who configure their Asterisk from normal configuration files but also from a database. This presents quite a challenge and one of the areas that has been problematic has been qualify support. Qualify

Read More

SIP timers T1 and B affect performance

Busy Asterisk systems can be affected by the SIP timers T1 and B timeout values configured.  Consideration of their values impacts how quickly a transaction can recover from a lost packet and the amount of memory used.  It is in your best interest to make these values as small as possible for your installation. The

Read More

Asterisk 13.10.0 Notable Changes

It’s been a few months since Asterisk 13.9.0 was released and this new 13.10.0 release is full of interesting changes. Let’s take a look at a few that you might want to be aware of: GCC 6 With each release of the GCC compiler new problems in Asterisk are uncovered and GCC 6 is no

Read More

Asterisk Task Processor Queue Size Warnings

Some of you may have seen “The ‘<name>’ task processor queue reached <number> scheduled tasks.” warning messages, wondered what they mean, and if there is anything you can do about them. Task processors have been in Asterisk for a long time. Since Asterisk v12, they have become more important because the PJSIP, sorcery, and stasis

Read More
Scroll to Top