Inside the Asterisk

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

transport-cc: Improving feedback for better video quality

I’ve previously written about REMB, or receiver estimated maximum bitrate, and its effect on video quality. While this provides periodic feedback from receivers to Asterisk and a mechanism to set the video bitrate of a sender it does not allow a sender to have any feedback about the packets it is sending to Asterisk. To

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

Changing CHANGES (and UPGRADE.txt)

Overview For those of you who have been around for a while now and contribute to the code base, you probably know about CHANGES and UPGRADE.txt and how annoying it can be when multiple people have made modifications to these files at the same time. For those of you who don’t know what I’m talking

Read More

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
Scroll to Top