About the author

Matt Jordan is an Engineering Manager for the Open Source Software team at Digium, working on Asterisk. Matt joined the team in 2011, and since then has been involved in the development of both Asterisk and the Asterisk Test Suite. His background in software development can best be described as "eclectic", having worked in a variety of industries. Uniting the various experiences, however, is a firm belief in good software development practices and methodologies and the effect they have on producing quality software (and keeping software developers from going insane).

Asterisk 13: The Asterisk REST Interface (ARI)

In the last two blog posts, we discussed changes to the Asterisk core that were made to facilitate new and better APIs in Asterisk. In this blog post, we’ll begin to look at the new API that those core changes allowed — the Asterisk REST Interface (ARI).

A Brief History of Asterisk APIs

When Asterisk was first created back in 1999, its design was focused on being a stand-alone Private Branch eXchange (PBX) that you could configure via static configuration files. While this level of configuration is sufficient for many applications, for some domains, it is far more preferable … Continued

Asterisk 13: Core Changes – The Bridging Framework

In the last blog post covering changes to the Asterisk core, we discussed the new Stasis Message Bus and how it helped Asterisk facilitate new APIs. While the message bus was necessary for new APIs, by itself, it did not provide everything we needed. To reach the API goals set out by the Asterisk Developer Community, we needed to also provide a more consistent model of the lifetime of communication objects within Asterisk. This necessitated a new Bridging Framework.

Channels and Bridges

In Asterisk, a channel represents a path of communication between Asterisk and some device. Prior to Asterisk … Continued

Asterisk 13: Core Changes – The Stasis Message Bus

Today, we’ll begin to look at the core changes made in the previous release of Asterisk and refined over the past year for Asterisk 13. Specifically, we’ll look at the Stasis Message Bus, and how it helps make Asterisk a robust platform for users and application developers alike.

A Better Core for Better APIs

After AstriDevCon 2012, we set two goals for Asterisk’s APIs:

  1. Improve the consistency of information Asterisk provides to consumers of its APIs.
  2. Make it easier to write a custom communications application using Asterisk’s APIs.

Meeting the first goal required changes within the core of … Continued

Asterisk 13: Coming Soon

Over the past year, Asterisk developers have been hard at work extending the functionality developed in Asterisk 12, the last Standard release, to prepare for Asterisk 13, the upcoming Long Term Support (LTS) release. In the Asterisk project, the focus of a Standard release is on major architectural improvements and larger features, while the focus of an LTS release is to provide a stable, production-ready platform. As such, development for the past year has concentrated on refining Asterisk 12 so that Asterisk 13 is the fully-featured platform for all your media needs: be it a powerful, configurable PBX with … Continued

Asterisk 12 Progress Report – 12.2.0 and 12.3.0

It’s been a few months since our update on Asterisk 12, and during that time period, the Asterisk Community has been hard at work enhancing and testing Asterisk – both for existing users of Asterisk 12 as well as in preparation for the next Long Term Support release, Asterisk 13. These new features focus heavily on improving the user experience in the new PJSIP stack and enhancing the existing APIs as well as the new Asterisk REST Interface (ARI). Several of these new features have been released recently in versions 12.2.0 and 12.3.0 – a few highlights include:… Continued