Huge thanks to Joshua Colp for mirroring services

Kevin Fleming: So, you want to be an Asterisk Developer?

Share on Twitter Digg this story Click to view a printable version Wed, 15 Jun 2005 09:55:08 -0400

Kevin Fleming discussed the task of becoming an Asterisk Developer:

  • Discussed Libraries Required
  • Debugging
  • Easier to debug post-mortem
  • Threading models differ by platform
  • use make dont-optimize
  • check makefiles for debugging defines
  • ensure that 'debug' is listed for the console
  • always use the -g parameter
  • use 'thread apply all bt full' in gdb
  • use 'ast_grab_core' (helpful for solving deadlocks)

Patches

  • always run 'make update'
  • use 'cvs diff -u' (or add 'diff -u' to your .cvsrc file)
  • read the patch before submitting
  • Watch for new/removed files
  • keeping out of tree patches up to date can be hard work

Licencing

  • Asterisk, Zaptel and LibPRI are dual licenced (GPL and to Digium for commercial distribution)
  • Contributions must be disclaimed
  • Code can not violate patents etc
  • If you make changes you are not required to distribute them
  • You are not required to submit changes to Asterisk, although it is recommended
  • If your code is committed it will be maintained by Asterisk crew
  • The code you have is GPL forever
  • The word Asterisk is trademarked
  • Always disclaim your code
  • You do not lose copyright on the code when you disclaim

Misc

  • Prototypes are in module.h
  • Use Use Count Tracking - needed for dynamically loadable modules
  • usecount function is called by the loader
  • Use the macros to implement basic usecount management
  • Module has to tell Asterisk what they can do
  • Application Modules are supposed to work on a channel that they are provided on
  • Applications MUST keep use counts
  • Channel modules are probably the most complicated part of Asterisk (allow connection to the outside world). Contains usecount again. Provide approx 25 methods that channels may provide
  • Codec Modules are the means of converting from one format of audio to another. Quite simple. Many codecs keep internal state from one frame to another.
  • Format Modules - provide means to read and write audio formats in all of the formats Asterisk supports
  • Function Modules - look like variables. Currently only in CVS HEAD. They provide dialplan functions. Most of these are built into pbx_functions.so
  • CDR Modules - these provide CDR backends to post CDRs into storage systems (DB/txt etc)


End of first part. He's a good speaker.

:)


You haven't voted yet! Vote:
Current Rating: 0/10 (0 votes)

Comments (Click to post)

Comments
Name:
Subject:
Website:
Message: 

Similar Articles (Based on Title)

Want to support a better SIP stack in Asterisk? - September 9, 2006
Olle is taking Asterisk back to SIPit again for another bunch of tests.

*-Dev: Digium Hires Kevin Fleming - April 5, 2005
Mark Spencer has posted to the Asterisk-Dev list to let people know that Digium has hired Kevin Fleming.

Interview with Kevin Fleming - April 17, 2005
We've finally managed to complete our latest interview. This time with Kevin Fleming, Digium's latest aquirement.

Interview with Kevin Fleming - September 7, 2006
Another interview. This one is with Kevin Fleming, who we havent interviewed for quite some time and is now a senior software engineer at Digium. This is paricularly interesting and includes a confirmation of the fact that the beta will be out this week.

VOIP-Forum.com: Chris Holland: The Blog.: VoIP: Numbers are so 1849 - November 2, 2004
Oej's site has a couple of stories on phone numbers/dial by url

Voxilla: New FCC Chief Not So VoIP-Friendly - March 19, 2005
USA's new FCC Chief thinks that US VoIP providers should contribute to the Universal Service Fund (USF). This is crazy. This would mean that if I use a US-based VoIP service to call people in New Zealand (from New Zealand) I will effectively be paying for US PSTN services to be supplied to "sparsely populated rural areas, and to provide telephone service discounts to low-income consumers".

DUNDi, So Easy A Caveman Could Do It - August 25, 2007
JR Richardson has posted details of a PDF he has written to help people get DUNDi set up.

Link: You Don't Know Jack About VoIP - September 22, 2004
An article on acmqueue explaining what Voice Over IP is

What would you like to see more of? - October 8, 2004
I've readded the poll, because my coding was crap yesterday! Works now!


Original Content (C) 2004-2010 Matt Riddell
Back 5  Feed Add
to
Google Subscribe with Bloglines
Go to today

Icons by: FastIcon.com


AstriDevCon: October 29th, Washington DC
August 23, 2010 Average Vote: 10
John Todd has posted a note about the AstriDevCon conference which occurs within the Astricon conference.

Code Review: SRTP support for Asterisk
March 12, 2009 Average Vote: 10
Terry Wilson has moved his SRTP branch onto the Digium review board.

The Everything Asterisk Video Collection
August 5, 2010 Average Vote: 10
Steven Sokol has posted a blog entry on Asterisk Video Resources.

Voip-Forum: Lots of new articles
March 12, 2005 Average Vote: 10
Oej's Voip-Forum.com site has posted lots of new news articles while I've been away. Hopefully you found them via the asterisk-docs site. If not I've bookmarked them for you.

Interview with Mark Spencer
November 26, 2004 Average Vote: 9.9
We have managed to get an interview with Mark Spencer AKA Markster. Mark Spencer is the creator of Asterisk and by far the most active developer.

Asterisk and Kamailio realtime integration tutorial
May 24, 2010 Average Vote: 9.9
Daniel-Constantin Mierla has posted a link to a tutorial on integrating Asterisk and Kamailio using realtime.

Asterisk and Kamailio (openser) realtime integration
August 5, 2010 Average Vote: 9.8
Daniel-Constantin Mierla posted a writeup on combining Asterisk and Kamailio.

Asterisk IPv6 update
February 1, 2010 Average Vote: 9.8
Olle has posted an update on IPV6 in Asterisk and a link to a blog post of his.

Proposal for T.38 transparent gateway design in Asterisk
April 29, 2010 Average Vote: 9.8
Kevin Fleming has posted a proposed design for a transparent T.38 gateway for Asterisk:

Back to life
July 21, 2010 Average Vote: 9.8
Hey all - I am back online after some pretty big projects which have taken all my time. Will be updating the Asterisk news over the next few days.

Announcing Adhearsion 0.8.5
August 25, 2010 Average Vote: 9.8
Ben Klang has posted a note about the latest release of Adhearsion - a framework for developing Asterisk based solutions using Ruby.

app_swift v2.0 released
July 21, 2010 Average Vote: 9.8
Like a few of these news stories that I will be posting over the next couple of days this is a little old - hope it is not something you have already seen. This one is for a new version of the app_swift text-to-speech module for Asterisk 1.2, 1.4, and 1.6.

Monitoring Asterisk with Munin
January 7, 2010 Average Vote: 9.7
I had a few requests for these munin plugins after some discussion on one of the Asterisk lists and thought people might like them.

GUI changes from Trixbox, FreePBX, 2600hz, BlueBox
September 1, 2010 Average Vote: 9.7
Ok, bear with me on this one. If you understand all the ramifications, FreePBX has split to a new project called BlueBox contained within the 2600hz project. This obviously has implications for Trixbox that uses FreePBX to provide quite a bit of functionality.

Nerd Vittles: Finally... Installing Asterisk at Home on Your Windows PC
February 9, 2006 Average Vote: 9.7
Ward Mundy has posted details of a how to for installing Asterisk at Home on a windows machine without removing windows.


Asterisk 1.8.0-beta5 Now Available
September 9, 2010
The Asterisk Development Team has announced the release of Asterisk 1.8.0-beta5.

libpri 1.4.11.4 Now Available
September 3, 2010
The Asterisk Development Team has announced the release of libpri 1.4.11.4.

New CDR Stats Package
September 1, 2010
This one has been a long time coming. A new CDR stats package from Star2Billing to replace the 7 year old stalwart for viewing Asterisk call detail records.

GUI changes from Trixbox, FreePBX, 2600hz, BlueBox
September 1, 2010
Ok, bear with me on this one. If you understand all the ramifications, FreePBX has split to a new project called BlueBox contained within the 2600hz project. This obviously has implications for Trixbox that uses FreePBX to provide quite a bit of functionality.

RazorQuotePBP Asterisk Payment Module
August 31, 2010
RazorQuote has sent us a press release about the launch of RazorQuotePBP, a native Asterisk module that allows any Asterisk connected device to accept credit card payments.

CloudVox: Install an open source Asterisk phone app and get 250 dollars
August 30, 2010
CloudVox is running a competition for people to receive 250 dollars for writing up some documentation for Open Source applications on CloudVox - first in first served.

AstriCon approaches
August 25, 2010
John Todd has posted a note about the upcoming AstriCon conference in Washington, DC, and the innovation awards.

Announcing Adhearsion 0.8.5
August 25, 2010
Ben Klang has posted a note about the latest release of Adhearsion - a framework for developing Asterisk based solutions using Ruby.

Asterisk 1.8.0-beta4 Now Available
August 25, 2010
The Asterisk Development Team has announced the release of Asterisk 1.8.0-beta4.

AstriDevCon: October 29th, Washington DC
August 23, 2010
John Todd has posted a note about the AstriDevCon conference which occurs within the Astricon conference.