NOTE
Much of the following text is largely outdated and I do plan on updating it, but at this time I leave it for posterity and historical relevance
In the beginning...
I have been working with Asterisk since September of 2003. My original
purpose for using it was because several friends and myself were interested in Internet telephony and conferencing
in general. After testing several applications such as NetMeeting, Skype, MSN Messenger and others, they either didn't
fit the role I required or I wasn't happy with the quality. I then went around asking on several message boards and IRC
chat rooms for a solution, and someone mentioned that I look at Asterisk. Who would have thought it would take over my
life and provide me a career path that I enjoy.
Initial involvement
After spending countless hours on IRC with Brian West (thanks Brian!) and using examples from
John Todd's web site I was able to piece together the fundamental theories of Asterisk configuration. If you think Asterisk lacks
documentation now, imagine doing it before the days of the VoIP-Info Wiki.
I was so enthralled with this project that I wanted to somehow contribute. Not being a professional C coder, I looked for other
ways to participate in the project. One of my very first projects was my now defunct
Free World Dialup sip.conf / extensions.conf generator. The purpose of this was to allow those new to Asterisk to insert information
into a PHP template and generate the Asterisk sip.conf and extensions.conf configuration files. This worked very well for
some people, but is based on a much older version of Asterisk and I have not updated it for newer versions. It mostly exists for historical
relevance.
My next project was the creation of the _asterisk-update script
which allowed easy retrieval, compilation and installation of Asterisk. It was a fairly large BASH script with several features including
updating an existing and running Asterisk system. Command line switches included stopping Asterisk gracefully in order to allow the
Administrator to update the system at any time, but to make the script wait until all calls had been completed before performing the actual
system upgrade. Plans included a system for searching the system for Digium hardware and compiling, then
installing and loading the appropriate modules along with the configuration file generation. Unfortunately other Asterisk projects have
kept me from updating the script in quite a while. However, my script has been forked (a first for me) and is now updated regularly by
Steve Szmidt. His version can be found here.
After delving into several systems with the purpose of making Asterisk more friendly to those new to the system, I decided to start
working on a Graphical User Interface (GUI) for Asterisk. I figured that if I could hide the configuration files from system administrators
then people would be more willing to get involved. The #asterisk-gui channel was then born where I met
Jared Smith. We both had the same thoughts and began working on a system. However, after much
discussion and debate, we both come to the same conclusion that Asterisk was evolving much too rapidly for a GUI to be effective.
You see, the
problem is that Asterisk is very powerful and new things are being added all the time. In order to create a GUI that is abstracted from the
configuration files would be a daunting task. Even the currently popular GUI applications such as the Asterisk Management Portal (AMP) have
failed to even scratch the surface of creating a presentation layer on top of Asterisk. Still wanting to do something for the "greater good"
and help those new to Asterisk, we both decided that creating a documentation project was in order. By this point the Wiki had come along,
but it reads like an encyclopedia. We wished to create a more linear, easier to read version of documentation - much like you would expect
in a manual or book. In about December of 2003 the Asterisk Documentation Project was born.
Current involvement
As co-founder of the Asterisk Documentation Project, I am heavily involved in the creation of documentation for Asterisk. The creation
of presumably over 100 papers during my study at Sheridan Institute of Technology and my involvement with the Asterisk Documentation Project
has given me the ability to create papers specifically with the mind set of, "If I were doing this for the very first time, how would I want
to be told how to install this?". This refinement to the documentation process has allowed me to anticipate the questions one might ask
as others are reading my papers. This is one of the fundamental theories I apply when approaching the task of documenting Asterisk
(or anything in general).
In September of 2004, Jim Van Meggelen joined the Asterisk Documentation Team and brought a wealth
of knowledge about traditional telephony. Not only that, his writing style is impeccable and essential to the creation of entertaining and
well flowing documentation. With Jim's participation we have developed an extremely well rounded and diverse core documentation team along
with Jared Smith and myself. I have to thank both Jim and Jared at this point for all their help and commitment as without either of them the
exciting and new documentation coming in the future would not be possible.
The core documentation team is now involved in a complete re-write of the documentation currently available at the Asterisk Documentation
Project web site. Expect a release about mid-summer of 2005.
In October of 2004, Jared and myself spoke to over 400 people at Astricon about the Asterisk Documentation Project. Our presentation
slides can be found on the Asterisk Documentation Project website:
PowerPoint or OpenOffice formats available.
At the beginning of January 2005, Russell Bryant (maintainer of the Asterisk Stable branch) approached me with an idea about creating a
place for developers new to the Asterisk code base to get involved in doing various maintenance tasks. These basic maintenance tasks which
the core Asterisk development team does not have time to do (presumably they are to busy fixing bugs and implementing cool new features) were
being done entirely by Russell, including porting patches over to the current 1.0.x stable branch. The idea is to allow amateur and those
new to Asterisk developers a place to get involved. Seeing as I also wanted to learn more about the Asterisk code base and get involved with
more of the programming aspect of Asterisk, I joined the Asterisk Development Proxy.
The Asterisk Development Proxy is a
joint effort along with the Asterisk Documentation Project to create high quality documentation for both the usage and maintenance of
Asterisk, as well as the documentation of the code base. The combination of the Asterisk Development Proxy and Asterisk Documentation Project
can also be referred to as ADP^2 - or more correctly, as Mark Spencer pointed out, (ADP)^2 - those order of operations can be tricky.
Hire an Asterisk Professional
As you can tell, I am quite involved in the Asterisk community. The Asterisk converged telephony platform (my coined term for Asterisk as
it is much, much more than a simple PBX!) has complemented my traditional education perfectly. With the recent completion of Internetworking
Systems Technologies course (formerly Telecommunications Technology) has provided me the essential theories in traditional telecommunications
and IP based communications such as routing and traffic engineering. The course heavily focused on protocol analysis and the practical
implementation in a large lab environment.
These skills are arguably required for the successful installation of Asterisk into a company
of any size. While many people are implementing Asterisk without these fundamental skills, they rely on the
information sites such as VoIP-Info and the Asterisk Documentation Project. When problems arise, they are often left without a course of
action if either of these sites do not explain in detail how to resolve their issue. Would you want to trust your phone system to someone
without any knowledge of telecommunications even if they can program the system with crazy fingers (my mentors term for those who can get
a system to work simply by trying all the possible commands)?
I am now available to consult with your business in implementing a complete Asterisk solution. Perhaps you are a small business owner
who is looking to implement an IVR (Interactive Voice Response) system to appear more professional but don't have the budget for a Cisco
CallManager solution and not interested in the often costly and outdated traditional PBX systems. Are you looking for a flexible and
scalable solution where you don't have to pay many hundreds of dollars later for another feature - or worse yet, the inability to have the
system perform the requested feature? With Asterisk, all things are possible through either custom dialplan creation or external AGI
scripts. The possibilities are endless.
Perhaps you already have an Asterisk installation or you are interested in creating an Asterisk test-bed but don't have the hours to
dedicate to learning the configurations and complex dialplan creation. I can create your initial configurations remotely and have you up
and running in a fraction of the time it would require to learn all of the basics. My strong communications abilities have allowed me to
help people understand these concepts and get them up to speed much more quickly than reading and implementing alone could provide. Having
been a strong student in my program, I was faced with explaining concepts to my fellow classmates in alternative ways from that which the
instructor may have presented. We all have different learning styles and my ability tailor my communications to these learning styles has
allowed me to be a very effective teacher.
No matter your needs, I can help. Contact me now! </salespitch>
|