Inside the Asterisk

Category: Documentation

Building a Channel Driver – Part 3

Review If you’ve been following this blog post series, then you should have a channel driver that’s ready to be integrated with ARI. If not, then check out Part 1 and Part 2 first. The purpose of this final chapter in the series will be to get your channel driver working with ARI, which is

Read More

Building a Channel Driver – Part 2

Review This blog post is the follow up to part 1, which can be found here. If you haven’t read it yet, that would be a good place to start, especially if you want to build your own channel driver. Here’s a recap of what we’ve done so far. We created chan_groovy.c, res_groovy.c, and res_groovy.h,

Read More

Building a Channel Driver – Part 1

Overview Today we’re going to be talking about channel drivers and how to get started on creating your own. This topic is going to be covered in three separate blog posts, so keep an eye out for the next two! In the first one, we will cover the following: some basic tips, some template code,

Read More

Announcing a New Compile Option for app_voicemail Storage.

Asterisk offers its users great flexibility in most of its features. One of them is the choice between three different modules for different ways to store voicemail. These include: To a file  (app_voicemail – default) To an ODBC database (app_voicemail_odbc) To IMAP (app_voicemail_imap) The good news for Asterisk administrators is starting with version 17, we

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

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

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

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

Using DEBUG_THREADS to find deadlocks.

Asterisk’s DEBUG_THREADS is a compile time tool that helps find deadlocks involving Asterisk locks. You enable DEBUG_THREADS in menuselect’s “Compiler Flags” menu along with other useful compile time options like DONT_OPTIMIZE and BETTER_BACKTRACES. It is strongly recommended that you enable BETTER_BACKTRACES for the output of the Command Line Interface (CLI) “core show locks” command to

Read More
Scroll to Top