Developers

The Asterisk Community has become the top influencer in VoIP with ambassadors and contributors from every corner of the globe, most noteably are the skilled Asterisk Developers who contribute thousands of lines of code and cutting-edge features to Asterisk®. With 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.

Coding for Asterisk

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.

Getting started
How source code is organized. Tools required. Where to start. Developer branches.

Testing code
Information on testing code for the Asterisk project can be found in the Bug 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 a bug
    Search for a bug before posting it. It may already exist in the bug tracker.
  • Report a bug
    Before you post a bug, please take the time to read the Bug Guidelines.

Tools

  • Bugs
    Our bug tracking system used to report bugs 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 Doxygen code documentation is the built-in code and main developer documentation for Asterisk.

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 Digium'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.