The purpose of this assignment was to set up a VoIP using Asterisk. Asterisk is an open source private branch exchange (PBX) — or private telephone network — that currently runs on Linux, OS X, and Cygwin/Windows. The possibilities with Asterisk are virtually limitless. It supports VoIP in all three flavors: SIP, h323, and IAX. Asterisk also supports a wide range of hardware that allows us to terminate our Asterisk PBX from a POTS line to a T1.
Initially, our plan with Asterisk was to use it to terminate to a POTS line, while using an Analog phone adaptor to terminate to our house's demark and utilize soft-phones on all the PCs in our home. This plan proved to be flawed — it had all the complexity of VoIP and all the cost of POTS without really giving any benefits. (Wallingford 2005)
Setting-Up VoIP
Some VoIP providers provide VoIP termination, which means they can take our phone call over VoIP and terminate it on the PSTN network. They also allow we to use our own hardware and devices, which made it the ideal solution for me. Broadvoice.com uses the SIP protocol for communication. Asterisk supports it, but as SIP is not the most NAT-friendly protocol, we installed Asterisk on our Gentoo Linux firewall/gateway in order to prevent any major issues related to SIP and having the server located behind the NAT. Asterisk does not require a whole lot in the way of resources, so a really heavy duty PC isn't necessary to use it. (Walker & Hicks 2004)
One word about the command line: there are a few GUI configuration tools available for Asterisk. However, at their current stage of development, none of them are mature enough to get the job done correctly. At this point, by using one of the GUIs available for Asterisk, we limit yourself to what the application author thought was important, and none of them are very helpful when it comes to initial setup.
So we pulled up our sleeves and typed emerge asterisk (actually, we didn't do that, but we could have). Instead, we went to asterisk.org and downloaded the source and built it using their make file. we also went ahead and built some sample files.
Now here is the scary part about asterisk, after its built we are presented with several configuration files. We sat back dumbfounded for a second, just plain overwhelmed with what we saw in /etc/asterisk.
So where do we start? After doing some cursory research, we found http://www.voip-info.org, which has proven to be invaluable. There, we was able to find enough information to get me a kick-start on getting our Asterisk server going. (Trope & Royalty 2004)
Out of the box, Asterisk is configured to provide a demonstration environment. So we started up Asterisk, by running the command asterisk -vvvvc. This will start Aterisk and provide a console with debugging turned on. The only thing this Asterisk demonstration environment was missing was ...