Inside the Asterisk

res_mwi_devstate: Presence subscription for voicemail mailboxes!

In Asterisk we have an API called device state. As the name implies this allows a device (such as a PJSIP endpoint) to provide notification to the system of its state. Its state may be that it is ringing, that it is on the phone, or that it is unavailable. This provides data to other

Read More

Developer Notes: Large Number Storage

I ran into a curious problem the other day while working on an issue involving the storage, manipulation, and conversion of large number values in Asterisk. Background Many moons ago REMB support was added to Asterisk. In order to support a large bit rate the REMB RFC represents the value as mantissa and exponent. Both

Read More

Stasis Improvements: Goodbye Dialplan!

Overview One of the topics of discussion every year at Astricon is not needing to use the dialplan in order to use Stasis. This involves a couple of different things in order to bypass dialplan completely. First of all, the only way to enter Stasis is to have a line of dialplan that places the

Read More

Did you know you can use “@” variables in pjsip.conf?

You probably already know that you can use the “set_var” parameter on pjsip endpoints to add variables to a channel using that endpoint but did you know you can set custom variables using the “@” prefix?  They aren’t available via the CHANNEL function but they _are_ available using the PJSIP_ENDPOINT and PJSIP_AOR dialplan functions and

Read More

Asterisk Usage Survey

For those of you that do not know me, my name is Matthew Fredrickson and I’m the project lead for the Asterisk project. First off, I wanted to thank all of you that contribute in various ways to the project – whether it be at a developmental level, answering questions on forums and mailing lists,

Read More

Filtering Event Types in ARI

Since the arrival of the Asterisk REST Interface (ARI) requests have been made to allow for event type filtering capabilities. Consumers have wanted a way to make it so Asterisk only sends a specified subset of events to the connected application. Guess what, the wait is finally over! Starting with Asterisk 13.26.0, and Asterisk 16.3.0

Read More

Asterisk INLINE Optimization

Asterisk developers who have made use of one of our function attributes called “force_inline” should be aware we are discouraging it.  Why? Let’s get to some background first. Asterisk core developers try to do a great job at optimizing the codebase.  After spending a few months interacting with the Asterisk core developers here at Hunstville,

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

The Continuing Saga of Continuous Integration

or… “Watch This Space” If you’re an Asterisk contributor you’ve probably noticed that we’d been having issues with large numbers of Jenkins test failures during the “gate” phase of the Gerrit review process.  Some tests were failing consistently and others seemed random.  After a lot of head scratching we finally figured out the major contributor

Read More
Scroll to Top