Community Roles

Asterisk Community

The Asterisk Community includes those contributors from every corner of the globe who write thousands of lines of code, develop cutting-edge features, test bug patches and features, write documentation, create content for web pages, and in general just spread the good word for Asterisk. The Asterisk Community, as a collective group, contributes to the success of Asterisk. Their actions, through the participation on the IRC channel and mailing lists, determine the direction of the Asterisk Project.

It is because of their actions that the Asterisk Community has become the top influencer in VoIP, and is now at the forefront of open source VoIP development changing the telecommunications market at a fast disruptive rate.

Asterisk.org & AsteriskNOW.org

Asterisk.org is the primary information resource for the Asterisk PBX software. Information ranging from introductory knowledge, developer information and documentation are all contained within this portal.

AsteriskNOW.org is the fastest way to get started building custom telephony solutions with Asterisk. Simply download the .iso file, burn it to a CD, drop it into the CD or DVD drive on the target computer and in less than 30 minutes you will have a full functional Asterisk system ready for your custom telephony application.

Digium

Digium is the original creator, primary sponsor and developer of Asterisk, the industry's first open source PBX. As the primary sponsor, Digium provides skilled resources to write code, develop features, test bug patches, write documentation, and design and maintain the websites to ensure the success of the Asterisk project.

Digium also provides quality hardware and software products that work with Asterisk to enable telephony applications including legacy PBX, IVR, auto attendant, next generation gateways, media servers and application servers. Digium offers a full range of professional services including consulting, technical support and customer software development services.

Digium.com

Digium.com is the virtual marketplace that hosts Digium hardware, software and services for purchase.

Roles in the Community

There are several roles in the community, all of which play an important part in the Asterisk development cycle. These roles are shared by the Asterisk community and the Digium development team in tandem. By having the Asterisk community and Digium development team working closely together, Asterisk continues to grow and mature on a daily basis. Some of the more visible roles include:

  • Bug Marshals
  • Issue Reporters
  • Issue Testers
  • Community Developers
  • Digium Developers

Bug marshals are those individuals on the Asterisk open source issue tracker at https://issues.asterisk.org/jira/ to triage issues in the issue tracker to make sure they contain the appropriate information for a developer to move the issue forward, or to determine if something is a support issue and better handled by the asterisk-users mailing list or #asterisk IRC channel.

All issues follow a set of workflow guidelines in order to move issues from the New status to the Closed status. Information about these workflow guidelines is available at http://www.asterisk.org/doxygen/trunk/MantisWorkflow.html and are followed by all community bug marshals.

Issue Reporters are those developers who report issues in the Asterisk issue tracker. Whenever an issue is found or a new feature is created (remember that we don't accept feature requests in the bug tracker) it is filed in the Asterisk open source issue tracker. Issues are then triaged and moved through the issue work flow. Issues are then resolved either by community developers, Digium developers, or the issue reporter themselves.

Issue Testers find issues in the Asterisk open source issue tracker which are marked as Ready For Testing and then test the issues to determine if the patches attached to the issue resolve the reported bug.

Typically testing is done by reproducing the issue first on a development platform with the version the issue was reported against. Once that is done, the development system is updated to the latest version of Asterisk in that branch to determine if the issue has already been resolved. If it is still an issue, then the patch is applied to determine if it resolves the issue, and to test for any other possible regressions. Once testing is complete, the tester will leave a note stating the information gathered from the testing procedure and whether the patch(es) resolve the issue at hand.

Community Developers are those who provide patches to issues or who add functionality to the Asterisk code base. Some community developers who have shown their ability resolve several issues with generally acceptable code may be asked if they would like commit access to the Asterisk repository. Some community developers have the ability to make changes in team branches which can then be merged into the mainline branches after testing and development, or they may have access to commit patches from the issue tracker that either other developers have provided or which they themselves have created.

All development follows a process which include several methods to ensure that code quality is kept at the highest possible level which introduces the least number of regressions. Because Asterisk is a highly complex piece of software, several provisions have been developed over the years in order to maintain the high level of code quality necessary for as large of a project as Asterisk. These include:

  • Bamboo: Automated Testing Framework on committed code
  • Reviewboard: Peer review of code prior to commit
  • Asterisk-Dev: #asterisk-dev IRC channels and asterisk-dev mailing lists for development discussion
  • JIRA: Issue tracker where issues are triaged, prioritized and resolved

Digium Developers are employed by Digium to work on Asterisk full time. Digium developers will often work on the more complex issues surrounding Asterisk, which can take significant periods of time that may not be available to developers whose primary jobs are not Asterisk development. In addition to working on those types of issues, the Digium development team is heavily involved in resolving issues reported to the Asterisk open source issue tracker. They also help with the review and committing of patches submitted by community developers who do not have commit access.

If you are interested in getting involved in any of the roles around Asterisk, more information is available in the following locations, or jump into #asterisk on irc.freenode.net where many members of the community are active: