Developer Resources

Asterisk development can be broken down into two key categories: core developers and application developers. Core developers work on the Asterisk source code, improving and extending the platform. Application developers create custom telephony solutions using Asterisk. If you want to become involved in core development, read on. If you're an application developer looking for information on crafting custom telephony solutions, see the Applications page.

Asterisk Development

The Asterisk Community has become the top influencer in VoIP with ambassadors and contributors from every corner of the globe. Leading the effort are the skilled and dedicated developers who contribute thousands of lines of code and cutting-edge features to Asterisk®. Thanks to the community, Asterisk® is now at the forefront of open source VoIP development and changing the telecommunications market at a fast disruptive rate.

Digium and the Asterisk Community want to enable and encourage new Asterisk® development talent. Interested developers should review these resources and decide how they want to contribute to the Asterisk® revolution.


How to write code for Asterisk

Having knowledge in a few key areas regarding coding for Asterisk will be extremely helpful in getting your code committed to the SVN repository for the Asterisk project. Please take time to read the following information.

Testing a bug patch submission or new feature are the areas in greatest need of your help.

Code development

Life cycle
Getting the source. Creating patches and new features. Testing of a patch or new feature. Committing code to the Asterisk Project.

Testing code
Information on testing code for the Asterisk project can be found in the Issue Guidelines.

Developer branches and branch merging
Creating and handling branches (for developers with granted workspace).

Code practices

Coding guidelines
The Asterisk Coding Guidelines attempts to explain the use, basic styles and formatting of code used in Asterisk.

Project organization

Community roles
A list of roles in the Asterisk Community.

Get the source

If you already have commit access and know all there is to know about getting started on the Asterisk project, then get the source.

How to get in touch with Asterisk Developers

Developer mailing list
Developers serious in coding Asterisk can be found participating in the mailing lists.

Asterisk IRC channel - Discuss new Asterisk features. Join #asterisk, port 6667, at irc.freenode.net.

Developer blog
A source to keep others informed of news-worthy information such as Developer projects and thoughts.

 

Testing

  • Get the latest code
    If you are wanting to help test or develop for Asterisk, you will want to use SVN to get the most up-to-date source code.
  • Find an issue
    Search for an issue before posting it. It may already exist in the issue tracker.
  • Report an issue
    Before you post an issue, please take the time to read the Issue Guidelines.

Tools

  • Issues
    Our issue tracking system used to report issues and track changes.
  • Mailing lists
    Participation in the lists is recommended for anyone with a serious interest in implementing or coding Asterisk. Various messages are sent each day.
  • Asterisk IRC channel - An excellent place for developers to meet to discuss new Asterisk features. Join #asterisk, port 6667 at irc.freenode.net.
  • SVN repository
    Version control is used to obtain, manage and maintain Asterisk releases in development.

Developer documentation

The Asterisk Wiki contains developer documentation for Asterisk versions 1.8 and newer, in Wiki format, available in the Asterisk Command Reference section.

Developer documentation for older versions of Asterisk is available here.

Developers who are interested in creating their own Asterisk GUI, or in extending the existing interface, should read the GUI Developer's Guide.

Projects

Visit Asterisk's public SVN repositories for community-run Asterisk related projects.

Janitor projects are a list of identified issues within the code base that need attention, and offer a nice starting point to begin development for Asterisk.

Source From Subversion

Support

To learn how you can check out development copies of Asterisk and related projects from the Asterisk Subversion repository see the SVN check-out how-to page.

Asterisk Forge

Support

A source code repository and collaboration tool for developing and distributing open source Asterisk-related applications, utilities and external extensions. Use the Asterisk Forge for any Asterisk-related open source project.

AsteriskExchange: Find Tools And Solutions