MFC/R2 support in Asterisk 1.6.2

Yesterday, official support for MFC/R2 signaling in chan_dahdi was merged, and will be included in Asterisk 1.6.2. Here is the commit.

To get a head start on testing Asterisk 1.6.2 with R2 support, check out the code from the 1.6.2 branch:
$ svn co asterisk-1.6.2

Before compiling Asterisk, you will need to compile and install LibOpenR2.

Thank you very much to Moises Silva (Moy), who worked very hard to write LibOpenR2 and bring this functionality to Asterisk!

Asterisk 1.4.24 Released

The Asterisk Development Team is proud to announce release of Asterisk 1.4.24, and is available for immediate download at

In addition to other bug fixes, this release candidate fixes several crash issues, and resolved some remaining issues related to call pickup and call
parking that were discovered after the release of Asterisk 1.4.23. In addition, issues related to chan_iax2, and regressions introduced to the ‘h’ extension have been resolved.

This release marks the first inclusion of the release summary files which will be included in all future releases. The purpose is to give a clearer overview of the changes that have taken place between the current and previous release, which issues have been closed, and which community members were involved with issue submission, code commits, and issue testing. Additionally, a diffstat at the end of the file shows at a brief glance the number of changes made to files between the previous and current releases.

For a summary of the changes in this release, please see the release summary:

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

The following list of bugs were resolved with the participation of the community, and this release would not have been possible without your help!

* Paging application crashes asterisk
– Closes issue #14308. Submitted by bluefox. Tested by kc0bvu. Patched by seanbright.

* Crash in VoiceMailMain if hangup occurs before a valid mailbox number is entered (IMAP only)
– Closes issue #14473. Submitted by, and patch provided by dwpaul.

* Incoming Gtalk calls fail
– Closes issue #13984. Submitted by, tested, and patched by jcovert.

* Realtime peers are never qualified after ‘sip reload’
– Closes issue #14196. Submitted by, tested, and patched by pdf.

* SIP Attended Transfer fails
– Closes issue 14611. Submitted by, tested, and patched by klaus3000.

Thank you for your continued support of Asterisk!

Google Summer of Code 2009

I just kicked off a discussion about submitting an application for the Asterisk project to participate in this year’s Google Summer of Code.  See my post on asterisk-dev here.


The Asterisk project participated in the Google Summer of Code program in 2005, but has not since then. I would like to apply again this year.  I think it is an amazing opportunity to reach out to new developers and get some code written that we all want done, but have not had a chance to get to.

If we want to make this happen, we have a couple of things that we need to come up with as soon as possible. Mentoring organizations must complete their application for the program this week.

1) We need to determine who is willing to serve as a mentor from the Asterisk project. Mentors will be paired up with a student and will provide guidance to help the student bring their project to completion.  Without commitments from mentors, we can not participate in the program.

Obviously, an appropriate pairing of a mentor to a student is important.  It’s acceptable to say, “I am willing to be a mentor, provided that it is for a student working on a project in my area of expertise.”

If you think you would be interested, please let me know! Feel free to respond on this list, or to me directly.

2) We must build a suggested project list. When students apply for the program, they can submit a proposal for implementing one of our suggested projects, or another project of their choosing. Projects for this list should be appropriate in scope for a college student not yet familiar with the code base to implement in a Summer.

I’m going to create a file in svn to maintain our project ideas list:

– svn/asterisk/trunk/doc/google-soc2009-ideas.txt

To kick of the list of ideas, here are a couple of high level thoughts:

a) I think we could break up the “PineMango” project into multiple suggested projects.

b) John Todd and others had some great ideas regarding security in Asterisk at the last developer conference that could be turned into suggested projects.

If you have some thoughts about other projects to add to the list, again, please let me know, and I’ll add them to our ideas list.


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

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!