Release Summary for Asterisk Releases

I just posted some information on a script I have been working on to generate a release summary to the asterisk-dev list.


In the past, when we made a new release of Asterisk, the only file that you had to get an idea of what changed in that release was the ChangeLog, which includes the developer oriented commit message for every change. There is also the CHANGES file which lists new features included in a new major release. Also, the release announcements generally contain a high level overview of some of the important changes.

In order to help improve visibility into what changes are being made, David Vossel and I have been working on a script that automatically generates a summary for a release. The intent would be to start generating these as a part of the release process and include them with every release. The intent is to provide something a bit more user friendly than the ChangeLog.

Currently, the script generates a document that includes the following information:

  • The type of release (bug fix update, security update, etc.)
  • People involved in making the release by coding, testing, or reporting issues.
  • All issues closed from
  • A list of “other changes”, that didn’t close out a bug report, and which bug reports these changes were related to, if any.
  • A “diffstat”, which gives an overview of which files were changed, and by how much.

The script is pretty much ready to be integrated into the release process, but I wanted to present example output to everyone for feedback first. So, take a look at these examples and let me know what you think. The script generates both an HTML version, and a plain text version.



A bug-fix release:

A security release:

A feature release:

Russell Bryant
Digium, Inc. | Senior Software Engineer, Open Source Team Lead
445 Jan Davis Drive NW – Huntsville, AL 35806 – USA
Check us out at: &

XML Documentation of Dialplan Applications and Functions

I posted an update on one of the development projects going on to the asterisk-dev mailing list. We are restructuring the way documentation is managed for the interfaces inside of Asterisk and the first phase of the project will likely be merged soon. Check out the update here.

From the update:

===== Project Background =====

Writing documentation is a huge job. Every time that someone has gone to write documentation on Asterisk, part of the task is always to take the information from “core show application <foo>” or “core show function <bar>” and convert it to some other format. This documentation has been maintained in the source code in a raw string format, and there has been no programmatic way to extract it from the source. This project aimed to improve that situation.

Asterisk 1.6.1-beta1 Now Available

The development team has released Asterisk 1.6.1-beta1.

While Asterisk 1.6.0 was in the beta and release candidate stage, the development team was also working on merging new things for Asterisk 1.6.1. Now that 1.6.0 has been released, the testing cycle for Asterisk 1.6.1 has begun.

To see the list of new features in Asterisk 1.6.1, see the CHANGES file:

For a full list of changes that have gone into the development of Asterisk 1.6.1 so far, see the ChangeLog:

To download Asterisk 1.6.1-beta1, visit the Digium downloads site:

Please report all issues to the issue tracker,

Thank you for your continued support of Asterisk!

Porting Code to Asterisk 1.6.0

Asterisk 1.6.0 has now been officially released. One of the questions that is going to come up over time is how to port custom code that was written for older versions of Asterisk up to Asterisk 1.6.

For Asterisk 1.6.0, we included a document that describes every C level API change between Asterisk 1.4 and Asterisk 1.6. For more information, see the file doc/api-1.6.0-changes.odt in the Asterisk 1.6.0 tarball.

Asterisk 1.4.22 and 1.6.0 Released

The development team is proud to announce the releases of Asterisk 1.4.22 and 1.6.0.

=== Asterisk 1.4.22 =============================================

Asterisk 1.4.22 includes a large number of bug fixes for the 1.4 release series of Asterisk. 1.4.22 also includes support for DAHDI. For more information about the transition from Zaptel to DAHDI, please see the following help file:

For a full listing of changes in this release, see the ChangeLog:

Asterisk 1.4.22 is available for immediate download from the Digium downloads site:


=== Asterisk 1.6.0 ==============================================

Asterisk 1.6.0 is the first official release of Asterisk 1.6.

— Upgrade Information —————————————–

Asterisk 1.6 no longer supports Zaptel. It only contains support for DAHDI. For more information on this transition, please see the following help file:

There are a number of other important changes to be aware of when upgrading to Asterisk 1.6.0 from previous versions of Asterisk. For a listing of those things, please see UPGRADE.txt:

— New Features ————————————————

Asterisk 1.6.0 contains new features that were not previously available in an Asterisk release. For a full listing of the features that are included in Asterisk 1.6.0, please see the CHANGES file:

A verbose listing of each individual change that was made in the development of Asterisk 1.6.0 is also available:

— Release Management ——————————————

The development team has decided on a new release management style for Asterisk 1.6. Previously, a release series was strictly feature frozen for its entire lifetime. The release management guidelines for Asterisk 1.6 were inspired by the Linux Kernel, among a
number of other projects.

Asterisk 1.6 is not feature frozen. Features will be added in point releases. However, effort will be made to ensure that the number of large changes is minimized in a single point release. Even as 1.6.0 is being released, the Asterisk development team is already working on what new things will be in 1.6.1 and beyond. To take a look ahead to see what features have been added for releases that have not yet been made, take a look at the trunk version of the CHANGES file:

Even though new features will be added in point releases of Asterisk 1.6, that does not mean that any deprecated functionality will be removed as has been done between major releases in the past. In fact,
we have decided that maintaining backwards compatibility is of the utmost importance for configuration and external interfaces. C API and ABI compatibility is not guaranteed between point releases. However, things like dialplan applications, functions, and AGI commands will not disappear just because there is a new and better way to accomplish the same thing.

With Asterisk 1.4, once Asterisk 1.4.N is released, Asterisk 1.4.X is no longer supported, where X < N. With Asterisk 1.6, the development team plans to maintain a total of 3 releases at a time. For example, the development team will support Asterisk 1.6.0, 1.6.1, and 1.6.2 until 1.6.3 is released. This means that for the time that 1.6.0 is supported, there may be,, etc. releases that include fixes for regressions found in 1.6.0.

With Asterisk 1.4, the goal has been to make releases every 4 to 6 weeks. With Asterisk 1.6, we aim to release updates in a similar time frame, but it is likely that it will be closer to 6 to 8 weeks for Asterisk 1.6 due to a more strict beta and release candidate testing cycle for each point release.

The number of releases supported and release time frames are not yet set in stone. The development team is interested in adjusting these policies to help meet the desires of the Asterisk community.

— Download —————————————————-

Asterisk 1.6.0 is available for immediate download from the Digium downloads site:

— Reporting Issues ——————————————–

The bug tracking process is one of the best places to get started in the Asterisk development community. Please report all issues to Live discussion about current issues is done on the Freenode IRC network, in the #asterisk-bugs or #asterisk-dev channels.


Thank you very much for your continued support of the Asterisk project!

Astricon, Code Zone Adventures

Allison Smith introduces us to the Astricon Code Zone:


I am feeling especially motivated this year to make good use of the Astricon Code Zone. I seem to do well at working on development projects while I travel. Part of it is probably breaking out of my normal routine. Some of it is because I am stuck on an airplane for hours with nothing to distract me. This time, most of it is because I will be immersed in a very high concentration of Asterisk geeks for a week!

I have been trying to get some thoughts together about what things I would like to work on while I’m there. Here are some things on my mind.

  • Video on Hold – Someone on the asterisk-users mailing list asked if this was supported in Asterisk. It currently is not. However, it occurred to me that it wouldn’t be that hard to add. I have already written a rough draft. I plan to get it tested and finished up in the code zone.
  • SIP Performance – One thing that could be done to improve the performance in chan_sip is to make processing multi-threaded. I have stage 1 of this process completed, which is to run the SIP scheduler in its own thread. I would like to load test this code some more, as well as multi-thread packet processing. I have learned a _lot_ from the long and painful process of making chan_iax2 multi-threaded, so I think this will go over much smoother. Early load testing of the scheduler optimization on a multi-core machine by Joshua Colp showed a performance improvement of 300%!!! I was blown away. Hopefully we can put together some more details about these test cases soon. These results give me a lot of motivation to move forward with completing this work.
  • Distributed Call Queues – We have been talking about this one for years. It keeps coming back up. Some of the needed prerequisites, like distributed device state, are now in place. I have talked to a number of people about what this functionality needs to look like, and I think we’re ready to start developing the framework for it. Lately, Josh has been expressing interest in this, as well. So, we will likely work on this together on the trip.

If anyone has thoughts on things they would like to work on or talk about in the code zone, please share them!

I’ll see you at Astricon.

Astricon, A Time for Celebration

From the full post:

So, after a year of focus on the Asterisk code, I’m ready to get out and meet up with the Asterisk community. I will be spending as much time as possible in the code zone. I love hearing all of the stories of success and new Asterisk applications that I have never thought of. I get most of my inspiration for what new things to work on from these discussions at Astricon. I want to find great ideas, as well as the people that can help conceptualize and bring them to reality. I hope to see you there, so that I can hear your story, and your ideas, as well.

Asterisk 1.4.22-rc5, 1.6.0-rc6, and Zaptel Released

The development team has released Asterisk versions 1.4.22-rc5 and 1.6.0-rc6, as well as Zaptel version These releases are available for immediate download from

This update for Zaptel includes a fix for an issue that would cause the build to fail if no firmware was selected to be installed. For a full list of changes, see the ChangeLog:

The Asterisk release candidates include fixes for a few crashes, as well as some less serious fixes. For a full list of changes in these release candidates, please see the appropriate ChangeLog:

These Asterisk versions also include the transition from Zaptel to DAHDI. For more information about this transition, please see the information in this previous release announcement:

Thank you for your continued support of Asterisk!

New Versions of Asterisk and DAHDI

The Asterisk development team is pleased to announce new releases of Asterisk and DAHDI.

For more information on the reasoning behind the transition to DAHDI, please see the following post:

The list of packages released today includes:

  • dahdi-linux 2.0.0-rc4
  • dahdi-linux-complete 2.0.0-rc4+2.0.0-rc2
  • asterisk 1.4.22-rc4
  • asterisk 1.6.0-rc5

All of these packages are available on in their respective directories. Detailed information about each package release is included below.

=== dahdi-linux-complete-2.0.0-rc3+2.0.0-rc2 ===

This release combines dahdi-linux-2.0.0-rc4 and dahdi-tools-2.0.0-rc2 into a single download, one-package installation process, so that users who are installing DAHDI for the first time don’t have to download and install the dahdi-linux and dahdi-tools packages separately.

=== dahdi-linux-2.0.0-rc4 ===

This is a release candidate of the DAHDI Linux kernel modules package, which replaces the kernel modules components of Zaptel. It contains all the functionality of Zaptel 1.4 plus many improvements, but also has some old (generally unsupported) functionality from Zaptel removed, including (but not limited to):

  • Support for Linux 2.4.x kernels
  • Support for devfs dynamic device filesystems
  • The ‘torisa’ and ‘wcusb’ drivers

Information on upgrading from Zaptel to DAHDI can be found in the included UPGRADE.txt file, which can also be read here:

The change log for this release is here:

=== asterisk-1.4.22-rc4 ===

This release candidate includes a large number of bug fixes and also is the first release of Asterisk 1.4 that includes support for DAHDI, the package that is replacing Zaptel. This version of Asterisk can be built against *either* Zaptel or DAHDI, but since Zaptel 1.4.12 is the last release of Zaptel 1.4, users are encouraged to transition to DAHDI as soon as they can, so that they will be able to continue to receive bug fixes and other improvements.

Information on how the transition from Zaptel to DAHDI affects this Asterisk release can be found in the included Zaptel-to-DAHDI.txt file, which can also be read here:

The change log for this release is here:

=== asterisk-1.6.0-rc5 ===

This version of Asterisk contains a large number of enhancements and improvements over Asterisk 1.4, which can be found in the included CHANGES file, and read here:

*All* users who install this version of Asterisk are strongly encouraged to read the UPGRADE.txt file to learn about changes that affect compatibility with previous versions of Asterisk; this file can also be read here:

Information on how the transition from Zaptel to DAHDI affects this Asterisk release can be found in the included Zaptel-to-DAHDI.txt file, which can also be read here:

The change log for this release is here:

=== ===

Thank you for your continued support of the Asterisk project!