Free Homebrew VoIP with Google Voice and Intel Atom

Installing PBX in a Flash

Before we begin this stage of the instructions, if you intend on following these instructions all the way through, you will need to order one more part. The Linksys SPA-3102 allows your wired home phones to ring when someone calls your google voice number. The cost is around $80 and it will also allow you to use your traditional telephone line in order to still make 911 calls in the case of an emergency. For those that are just paying for dry-DSL service, you most likely still have a telephone number that only allows you to call 911. For those that do not have traditional phone service, you may wish to purchase a Linksys SPA-2102 instead because you will be able to use more than one VoIP provider. Then you can pay a few dollars a month for a VoIP provider that just provides E911 service instead of tens of dollars for full blown phone service. However, this tutorial will only include instructions for the Linksys SPA-3102 and using a traditional phone line for 911 calls.

Installing the Operating System:

We will need to use the PBX in a Flash 1.5 Beta install that is built on CentOS 5.3. This is necessary for the proper driver support. We first tried to use PBX in a Flash 1.4, but the Realtek network drivers included in that version of CentOS were not compatible with the network card integrated on the Intel Motherboard. So, begin by downloading the PBX in a Flash 1.5 Beta 32-bit install. Once it is downloaded, simply burn the ISO to a blank CD-R.

Once you boot from the PBX in a Flash CD, you will be prompted with the following screen. In order to begin the proper install, type ‘ksalt’ and press Enter.

This will begin the install of CentOS and a number of required packages. There are a few interactive prompts at the beginning. Use the tab key to switch between fields and you can tab to the OK button and press the space bar to invoke the OK button. You will be prompted to enter a password for the user ‘root’. Be sure to enter a secure password that you will remember. This process will take about 10 minutes.

When the install process reboots the PC, remove the CD from the optical drive so the PC will boot from the hard drive instead of the CD again. If you do not get the CD out of the drive fast enough, you can remove it at the screen where you typed ‘ksalt’ and then press the reset button or CTRL+ALT+DEL. You will then be prompted with the following screen where you will choose option A to download the latest PBX in a Flash payload from the internet.

This process will take roughly 30 minutes as your server downloads files and automatically installs them. You will see the following as many items get installed. If your screen goes completely black during this process, you can press the spacebar to turn the monitor back on. Modern versions of Linux have screen savers, too.

Once this process finishes, we now want to set a static IP address on the server so even if your router or server is rebooted, you will always have the same IP address. To do this, you will need to log in as user ‘root’ and use the password you entered during the CentOS install. At the command prompt, type ‘ifconfig’ and press enter to see what IP address your PC has now for ‘eth0′. Ours was 192.168.0.7. Then type ‘netconfig’ and press enter to run a network config utility. Enter an IP address where the first three numbers match what your server currently has as its IP address, but make the last number much higher, but less than 255. We chose 192.168.0.100 for the static IP of our server. The rest of the fields on the netconfig screen are also important. For the Netmask field, enter 255.255.255.0. For the Default Gateway, enter an IP address that matches the first three numbers of your IP address, but make the last digit a ‘1’ (192.168.0.1). For the Primary Nameserver, you will need to log on to your DSL or Cable modem and find a field called DNS Server or Nameserver and use the first IP address you find for that field. This will vary from provider to provider, so we are not posting ours here.

Now we need to reboot the machine for good measure and to make sure our static IP is now being used. Type ‘reboot’ and press enter. When the server asks for your user name, again enter ‘root’ and the associated password. Now enter ‘ifconfig’ again and make sure eth0 now shows you are using the static IP address you entered. Then type ‘ping google.com’ and ensure your computer is getting a response to make sure you can access the internet. Press ‘CTRL+C’ to stop the ping process.

Once this is complete, you have the option of doing the rest of these instructions remotely from any machine by connecting to it via SSH. For windows users, you can download a program called Putty to remotely access your server. When you run Putty, simply enter the static IP address you entered and press OK. You will then be prompted to accept a Key from your server, press OK. Then you can enter the root user name and password just like if you had your keyboard plugged directly into the machine. To shut down your server, type ‘shutdown -h now’ and press enter. You can then unplug your server and relocate it to its permanent hidden home and all you need to connect to it is a network wire and the power cord.

The Orgasmatron V Installer:

Now that we have the base install of our server complete, it is time to install any updates. Log in as root through Putty and type ‘update-scripts’. You will need to follow the on-screen instructions and accept the license agreements. When this script is complete, follow it up by entering ‘update-fixes’. This will prompt you to create an ARI password. Simply enter the same password you are using for the ‘root’ user. Once this script is complete, enter ‘passwd-master’. This last script will consolidate your system passwords to all match. Again, we just used the same password as we entered for the ‘root’ user.

We now have an up-to-date install of CentOS and PBX-in-a-Flash! Whew! While we are still logged in as ‘root’, we can now start the Orgasmatron V install script that will install many add-ons and a base-configuration for our PBX in a Flash Asterisk server. Type ‘cd /root’ to change directories. Type ‘wget http://pbxinaflash.net/orgasmatron/orgasmatron-gv.x’ to download the Orgasmatron V install script. Type ‘chmod +x orgasmatron-gv.x’ to give the script execute permissions. Then type ‘./orgasmatron-gv.x’ to run the script. This process will take 45 minutes to an hour to download multiple files and automatically install them. When you are prompted for a Text-to-Speech preference, choose Flite.

Once the orgasmatron script has completed, go ahead and reboot the system by typing ‘reboot’. If you are accessing the system remotely, you will be disconnected from your ssh client and will need to reconnect in a couple of minutes after the system has finished restarting. Once you log back in as root, type ‘status’ to see the status of the system and make sure all systems are online. The only systems that do not need to be online are Ethernet1, Wlan0, and Samba. You can type ‘exit’ to log out of your server remotely and close Putty.

Now we can take a break from the command line interface for a while! The next steps involve accessing the web interface provided by our Asterisk Server!