I built a conference call system on my Windows 7 laptop, using Oracle VirtualBox, Asterisk and FreePBX. The combination of GetOnSIP and IPKall offers PSTN access.
And a free account at CallCentric allows callers to dial in using iNum or SIP.
It’s a pure hobbyist project. Since I’m familiar with all the pieces, on one gloomy winter day I said to myself: “Why not put them together to make something fun?”
Install VirtualBox
Asterisk, the open source PBX system with built-in conference features, only lives on Linux.
But I just have a Windows 7 laptop at my disposal for this endeavour. Hence VirtualBox.
After downloading it from https://www.virtualbox.org/wiki/Downloads , the installation is straightforward.
Install AsteriskNow
AsteriskNow is a bundled distro of Centos, Asterisk and FreePBX. Get it from here and follow the instructions:
https://wiki.asterisk.org/wiki/display/AST/Installing+AsteriskNOW
Change VirtualBox network settings
FreePBX is web based admin GUI for Asterisk. Since my VirtualBox guest system is only a terminal without GUI, I can’t access any web pages from the VM.
I did try a text-based browser called Lynx but unfortunately the FreePBX admin interface requires JavaScript, which Lynx
doesn’t support.
Next, I tried to access the Admin interface http://10.0.2.15
from my Windows host, but it was unreachable.
Then I realized 10.0.2.15 was just a VirtualBox IP. The solution is quite simple, just change the network adapter
from “NAT” to “Bridged Adapter”. This can be done from “Machine” -> “Settings” -> “Network”.
Now my guest system has an IP that’s accessible from my Windows hosts.
Create a Conference in FreePBX
Go to FreePBX admin GUI at http://IP_OF_YOUR_ASTERISK
, then click “Applications” -> “Conferences” to add a new conference.
At this point, my conference is up and running. But it can’t be reached by the outside world yet.
Sign up a GetOnSIP account
GetOnSIP offers free SIP accounts. I signed up one to be used as a new trunk in FreePBX.
Follow these offical instructions.
Now callers can reach my conference via SIP calls.
Sign up a IPKall account
To allow callers to reach my GetOnSIP account using PSTN (or DID, or regular phone line), I created an account at IPKall, which assigned a 206 Washington state area code
phone number to be forwarded to my GetOnSIP SIP address.
I’m still not quite satisfied with my work yet. It would be nice if I can offer local dial in numbers to avoid long distance charges.
The web site http://e164.org used to offer a free service to register your phone number in their ENUM database, which mapped DID numbers to their corresponding SIP URLs.
The ENUM database will be queried by other VoIP services such as SIPBroker. The latter provides local dial in numbers. Unfortunately, the registration function at http://e164.org no longer works.
As a workaround, I resorted to CallCentric.
Sign up a CallCentric free account
DID numbers are not free at CallCentric, but iNum numbers are. Callers can reach my conference room by calling the iNum number.
I know four ways to reach an iNum number:
- If your VoIP phone provider (such as CallCentric, voip.ms, etc.) supports it, you can dial it like
+883 510 xxxxxxxxx
. In the United States and Canada, + means 011. The calls are free of charge, although they look like international numbers.
- Use one of the local dial in numbers for iNum
- Dial via SipBroker (code *8124)
- Use SIP URI
8835100xxxxxxxx@inum.net
if you know how to make a SIP call. One option is to use GetOnSIP.
Both iNum and SipBroker offer their local dial in numbers, which can complement each other.
Alternatively, because CallCentric support SIP calls, it’s also possible to call your CallCentric number 1777xxxxxxx using one of the following methods:
- SIP peering if your VoIP provider supports it,
**275 *462 1777xxxxxxx
- Again, SipBroker (code *462)
- SIP URI
1777xxxxxxx@in.callcentric.com
Adding CallCentric to FreePBX
Follow the official instructions from CallCentric to set it up as a new trunk in FreePBX.
In my case, I only need to configure trunk (Step 1) and inbound route (Step 4). I don’t really care about outbound route or extension.
My Asterisk version is 13, so I used the configuration for the latest Asterisk in the PEER Details section.
I also route all incoming calls to the Conference I created earlier.
With that, I added local dial in numbers to my conference room.
Sadly, the free plan from CallCentric only include two channels, meaning only two callers can dial in simultaneously. And additional channels are quite expansive.
But I had to stop it there. It’s not perfect, but at least two DID callers can avoid long distance.
Conclusion
My conference room is up and running! And completely free of charge, both for me and my callers!
Asterisk is very powerful, enough for serious business usage. I’m just dipping into a fraction of it and already amazed by its capability.