Asterisk, the easy way
Undertanding the basics of the Asterisk (the free software phone system)
Download the whole article as PDF
- 2007-02-19
- Server side | Advanced
-
Write a full post in response to this!
This content was sponsored by:
Did you know that it’s possible to build an entire telephony system centered around computers? One which is free of licensing costs too? Asterisk is a free software application written to do just that, and much more. Why? For the uninitiated, here’s why…
Wherever you go, your free software PBX follows!
The telephony industry has been facing a real crisis since the last decade. While the computer industry has undergone a host of transformations since its inception a couple of decades ago, the century old telephony industry has had problems coping with new ideas and advances. The reason for this is the lack of innovative thinking among makers of proprietary technologies that constitute the chaotic mess that we call the telephone system. These systems suffer from all the drawbacks that inherently bug all closed, proprietary systems. The problems surface as these systems progress deeper into their life cycle. The problems caused are typical of closed proprietary systems. From interoperability and scalability problems to problems caused due to lack of foresight during designing, these problems usually warrant expensive remedies. The technology used in these proprietary systems is usually closed and usually remains unpublished. Add to it the expensive licensing fees for this “sophisticated” proprietary technology and it becomes a no-no for users such as home users and small business users who also want a sophisticated, flexible telephony solution but cannot afford the expensive price tags. The success of revolutions like GNU/Linux is attributed to combined efforts of the likes of Linus Torvalds and a pool of geniuses, academicians, hobbyists, and geeks worldwide. Nobody in the telephony industry wanted to build an open, clean, scalable and seamlessly inter-operable platform for telephony like the internet. Fortunately for us, someone from computer science did! Meet Mark Spencer and his brainchild, aptly christened “Asterisk”. Asterisk is the “” character that appears on a standard touch-tone telephone pad. This “” character represents a wild card character in the world of computer systems, meaning that it can represent anything from a single character to multiple characters. And this is precisely what Mark Spencer intended Asterisk to represent in the world of telephony—anything and everything. Asterisk not only encompasses what we can presently do with telephony but also whatever we may think of doing with it in future. It is a revolution in the making and is all set to transform telephony.
Get your facts right…
So what exactly is Asterisk? Asterisk is a telephony platform that exists entirely in software. It is distributed under the GNU GPL (General Public License). This makes it possible for everybody to build and deploy their own customized professional telephony solution, from large corporations in search of a reliable ITSP platform to individuals who want to have their own PBX system.
Asterisk was created by Mark Spencer, the founder of Digium (formerly Linux Support Services).
Digium, a company founded by Mark Spencer is actively backing Asterisk. In fact, the purpose of creating Digium was largely for providing support services for the free software PBX. Today, Digium designs and supplies hardware for interfacing Asterisk with a host of networks including PSTN and ISDN PRI.
In compliance with free software tradition, community support for Asterisk is available through a host of portals including Digium’s support portal and a number of other websites like voipinfo.org which are powered by hordes of Asterisk enthusiasts and professionals. Community support is also available through FreeNode IRC channel where Asterisk developers and serious Asterisk geeks meet. Commercial support for Asterisk is available through Diguim and many other commercial establishments, some of whom are dedicated only to Asterisk installation and application development like Asterisk@Office.
How is Asterisk better than traditional telephony systems?
Asterisk is built as a vast flexible software platform composed of a bunch of programs that can perform whatever functions you program them to do instead of a bunch of wires and circuits which perform fixed functions in their range of operation. This is the reason why Asterisk achieves a degree of flexibility which traditional telephony platforms cannot do, no matter how ambitiously designed they are. Due to its being a software program, Asterisk’s extensibility is almost infinite, limited only by the goals of its developers.
What can be done using Asterisk?
The possibilities with Asterisk are unlimited. It can be used to build almost anything from a small home PBX to an ITSP (Internet Telephony Service Provider). With features that include voice mail, teleconferencing and call parking, Asterisk easily rivals the features of most modern PBX systems. Asterisk supports inter communications using protocols like the popular SIP or the newer IAX (Inter-Asterisk Exchange), H.323, MGCP, Skinny/SCCP and UNISTIM. To connect your PBX to the traditional PSTN (your telephone system) you can choose from a variety of options like traditional telephone lines, ISDN BRI lines, ISDN PRI lines and VoIP trunks from VoIP providers. Asterisk supports many popular codecs such as GSM, Ilibc, Speex, MP3, G.711, G.726, G. 723 and G729 for compression. Small businesses can set up Asterisk to have all features of a modern PBX at a fraction of the cost. Big corporations and businesses can build a PBX which can seamlessly connect their offices around the globe irrespective of their geographic locations.
What features of interest does Asterisk have for developers?
Asterisk is a developer’s dream come true. It has in-built database AstDB, a Berkeley DB Version 1 database. You can also have Asterisk connect to traditional relational databases using AGI, a standard interface with which external programs can control Asterisk dialplan. AGI can be written using many programming languages, though the language of choice is Perl due to its prowess in text processing. Using Asterisk in conjunction with AGI, you can integrate Asterisk into almost any computer application you like. Such is the power of Asterisk.
Selecting hardware and OS for Asterisk
Asterisk runs on Linux (preferably kernel 2.6 and above) with mostly any garden variety Intel X86 based CPU (I tested it with an old Intel Pentium II CPU running at 333 MHz with 128 MB of RAM and it seemed to work). But a powerful CPU like a Pentium 4 (preferably the multithreaded HT version or Dual Core) is recommended. The reason for this is that Asterisk may have to perform transcoding on incompatibly encoded streams (say GSM and MP3) in order to interlink them. This guzzles down a lot of CPU juice. Furthermore, the reason that Intel based CPUs are preferred is that not only do these CPUs have higher clock speeds (GigaHertz) but they have deeper pipelines. Such CPUs excel in operations such as encoding and decoding which have hardly any branching instructions that might require flushing of the CPU pipeline and hence make full use of the higher CPU speed.
Asterisk has been known to work with Windows and MacOS X but with severely crippled functionality. We won’t discuss other platforms here.
Installing Asterisk
Note that you require root privileges to install and run Asterisk. To install Asterisk, you have to have some distribution of Linux installed on your machine. So far, Asterisk is known to work with Debian, Fedora, Gentoo, Mandrake, Red Hat, Red Hat Enterprise Clones, CentOS, Pie Box, Tao Linux, Whitebox, Slackware, SUSE and Yellow Dog. So here are simplified the Asterisk installation steps… Make a directory for asterisk and related sources, change into it using the cd command and proceed.
# mkdir /usr/src/asterisk-src # cd /usr/src/asterisk-src
Write a full post in response to this!
Do you like this post?
Vote for it!
Copyright information
Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved.
Biography
Mitul Limbani: We have expertise in Asterisk installation, Asterisk configuration, Customized Asterisk Development, Dialplan programming, AGI scripting, manager api, IVR Designing. We have installed,configured and customized various opensource solutions based on Asterisk such as Vicidial , A2Billing , AstBill , FreePBX , TrixBox, etc. We have expertise in PHP,MySQL, AJAX as well. Visit us today at : http://www.asteriskatoffice.com/ Send us your query on : http://www.asteriskatoffice.com/contact
- Login or register to post comments
- 46517 reads
- Printer friendly version (unavailable!)




Best voted contents
-
Google App Engine: Is it evil?
Terry Hancock, 2008-04-24 -
The Bizarre Cathedral - 3
Ryan Cartwright, 2008-05-05 -
Free Software Magazine Awards 2008
Tony Mobily, 2008-04-22 -
The Bizarre Cathedral - 2
Ryan Cartwright, 2008-04-27
Buzz authors
All news
From the FSM staff...
- The Top 10 Everything (Dave). The good, the bad and the ugly.
- Free Software news (Dave & Bridget). A site about short stories and writing.
- Book Reviews: Illiterarty (Bridget). Book reviews, blogs, and short stories.
Hot topics - last 60 days
-
Installing an all-in-one printer device in Debian
Ryan Cartwright, 2008-05-05 -
What is the free software community?
Tony Mobily, 2008-03-29 -
Things you miss with GNU/Linux
Ryan Cartwright, 2008-05-01 -
Why Microsoft should not lose (and free software will still win)
Ryan Cartwright, 2008-04-21 -
Beyond Synaptic - using apt for better package management
Ryan Cartwright, 2008-04-03
Dedicated server
eh..
Submitted by Anonymous visitor on Sun, 2007-02-11 18:22.
Vote!asterisk really needs to be redesigned/rewritten or something.... have you looked at the code?
if your thinking about going the F\OSS VoIP route, i would recomend that you look at freeswitch as well as asterisk...
for more information about freeswitch check out http://wiki.freeswitch.org
FreeSWITCH
Submitted by choup on Wed, 2007-03-07 03:37.
Vote!Yeah, that would be a good idea since FreeSWITCH isn't even a real release yet and Asterisk has numerous deployments and derivative works with numerous deployments. If I were looking for something that is baked and ready to go, I would go with Asterisk, AsteriskNOW, Trixbox, or one of the many derivative works long before I would waste my time on not fully baked projects...
wants help for asterisk vicidial config
Submitted by Anonymous visitor on Sat, 2007-02-17 16:55.
Vote!I'm involve software development last 10 years. I want to somebody help. Please contact me
Regards
Naveen
Mobile # 91-9868898483
naveenc@del1.vsnl.net.in
zaptel
Submitted by Anonymous visitor on Sat, 2007-04-07 06:44.
Vote!what is the use of zaptel?how it work & what is the main roll of zaptel in asterisk?
installation
Submitted by Anonymous visitor on Sat, 2007-04-07 06:46.
Vote!how to install asterisk in linux?
kamal joshi
RE:how to install asterisk in linux
Submitted by Anonymous visitor (not verified) on Wed, 2007-05-02 15:11.
Vote!HI,
I will advice you to, use suse 10.2, it comes with all that you need to install asterisk, but you need to choose the packages when you are installing suse 10.2 but better still use tribox it much more easier
IAX2
Submitted by Hoffsy (not verified) on Wed, 2007-09-26 08:38.
Vote!Thanks for a great article. This is the first time that I've seen everything explained for technical users who don't necessarily have a background in tel-com.
Would it be possible to include an example of using an alternative trunking for external calls. A lot of asterisk users are purely VOIP since the PSTN interface hardware costs money. An example using IAX2 trunking would be fantastic.
Keep up the excellent work!
H
Help
Submitted by Prosper (not verified) on Tue, 2007-11-20 21:03.
Vote!hi Sir! I tried installing asterisk over Linux Gutsy with my 64bit AMD. I followed your instructions here but I am not successful. Please help. I am not just a common user and not a Developer.