Inside the Asterisk

Asterisk Containers and Objects (ao2)

For those of you budding Asterisk developers out there, you may find yourself browsing the source code. All over, you’ll find function calls prefixed with “ast”, like “ast_read” or “ast_poll”. But then you’ll come across something that starts with “ao2”, and you might wonder “What does that mean? Why does it have that name?”. This blog

Read More

Interview with new Asterisk developer, Ben Ford

Hello, my name is Matthew Fredrickson and I’m the project lead for the Asterisk project. We recently hired someone new onto the project to help with development. His name is Ben Ford. I’ll be interviewing him today so we can learn more about him, his background, and what brought him to want to work on

Read More

Continuous Integration with Asterisk and Docker

How much testing do we really do? A lot, and let’s face it,  Asterisk isn’t the easiest of software packages to test.  Our continuous integration environment could run over 1000 tests on a single change before it’s merged into the codebase.   Unfortunately, without a significant amount of work, mostly around directory and port coordination,

Read More

app_queue And The Case Of The In Call Agent

The app_queue module is one of the oldest modules in Asterisk and implements call queueing functionality. You configure a queue with members and a strategy and these members receive calls as appropriate. The queue knows whether a member is reachable or not by looking at the device state (the same thing you see if your

Read More

Recent Security Issues

Security releases of Asterisk were recently created. In this post, we’d like to go into the depths of two of the security issues and how they affected Asterisk. Before going any further, I want to extend thanks to the following people for their help on this. Sandro Gauci (www.enablesecurity.com): Sandro was the person that reported

Read More

Continuous Integration: Helping to find problems.

Continuous integration isn’t something that many people in the Asterisk project think about but it is a critical part of the development of Asterisk. It provides assurances on changes that go in and allows us to find problems faster, usually before a release occurs. The first introduction someone may have to our continuous integration is

Read More

rtcp-mux in WebRTC

Do you use WebRTC with Asterisk? Did you notice calls stop working after updating Google Chrome to version 57? Are you curious why that happened? The answer is the rtcp-mux feature. What is rtcp-mux? The majority of VoIP protocols make use of the Realtime Transmission Protocol (RTP) for transmitting and receiving media. In addition to

Read More

Asterisk, Opus, packet loss, and FEC

So you’ve heard there is now an Opus codec for Asterisk that’s been released. However, you are having problems with poor audio quality due to packets being dropped or lost. You’ve also heard or read that Opus can do something called FEC, but are not sure how do get it work with Asterisk. You’re in

Read More

Dialplan handler routines allow customization

There are several handler routines available to allow you to customize behavior for the different states of a call. Handler routines execute outside of the normal dialplan execution flow. It makes no sense to use the Hangup application in any of them and you must return from all of them. Most of the handlers operate

Read More

Five Shocking Tips on How to Get Asterisk Bugs Resolved Quickly

Warning, these tips may not be shocking, but you already know that and you clicked anyway! Shame! Many of us know the frustrating feeling of submitting a bug report and seeing it go through a triage process only to then watch it sit for hours, days, weeks with no response or updates. No fun at all! Yet

Read More
Scroll to Top