Project: Supa PBX of Free Telephony (SPFT)

fiber optic

Goal of project:

Create a VoIP system that allows me to home multiple local numbers across the US to one PBX and from there utalize SIP to enable a hardphone to have multiple lines, and features such as hold, idivert, forward, and conference. 

  1. Take Cisco phone and enable it to work with SIP.
  2. Build PBX on solid state (Soekris) box.
  3. Tie PBX into Skype and Google Voice.
  4. Entire project to be VoIP so no hard lines needed at the home office.

Extra points for snazzy hold music.

Important Links:

  1. Here is a great (very detailed) Configure Cisco IP Phones with Asterisk (the core of the PBX I will use) document link.
  2. I am using a Soekris 4801 for my project, I like his boxes.
  3. I am using Askozia, a Asterisk PBX based on m0n0wall.  

Progress:

Day One - Um, format phone (aka "set to factory default settings") and install Cisco SIP software on it.  Before we begin, and this is me being very serious for a change, do all of the following or you are going to be very sad:

  • Have a TFTP server setup.  If you are very lucky I might share how to do this on OS X because I like you.
  • Already have the SIP software from Cisco.  Go to their website and download it if you have a subscription, otherwise you are on your own.  (Honestly go buy the software.)  At the time of this article the file you want is called:  cmterm-7945_7965-sip.9-2-1.zip
  • Your DHCP server MUST, I repeate MUST - and if you haven't caught on yet MUST, be able to provide a server (IP Address) from which clients should load boot files.  As you know, I love m0n0wall, and the field for this in m0n0wall is called "Next server."  If you don't know how to configure your home network to do this, look for a TFTP server that has a DHCP server built into it. 

Now assuming you have all the stuff setup and ready to go as listed above you are ready to begin.   No you didn't miss the part where I give you detailed instructions on what to do with this stuff; I am going to go out on a limb and set the bar - e.g. if you don't know how to do the things I talk about above you have no business trying any of this.

  1. Format phone and put it into a mode where it wants a TFTP server to give it all it's new memories.
    1. To do this: enable power to the phone, hold down the # key while the phone starts, when the phone's line lights bink yellow release the # key and then type: 123456789*0# you may be given an option to keep the network configuration or not, press 2 for no.
  2. With your TFTP server all setup and the files ready to be downloaded by the phone it should all happen like magic at this point... but if it doesn't and it just keeps rebooting (e.g. stuck on the upgrading screen) do the following:
    1. Boot phon and hold down # until buttons cycle orange (yellow?)
    2. press 3491672850*#
    3. wait
    4. the phone will go black DO NOT TURN IT OFF
    5. wait (really it takes a while go make some coffee and relax.)
    6. presto!
  3. I will cover provisioning the phone later, as in after the PBX is built so you know what settings to use of course.

Day Two - The phone is excited and needs a PBX, so let's set that up shall we?

  1. You will need to go to the Askozia Embedded Image download.  I have linked you to the free one, it's a trial software.  If you end up liking it; I suggest you go buy the full version.  
  2. You will need to put put the embedded image onto a CF card. The bigger the better in this case, but I am only using a 256MB card because that is what I have laying around.  (Don't worry, you can use a USB stick to store voicemail on later using the USB port in the soekris box.)  I am not going to explain how to do this part, there are very detailed instructions in the .zip file that you download from Askozia that cover how to do this with Windows, OS X, and even in Linux.
  3. Insert CF card into the soekris box, use ETH0 for your network connection, and power on the box.  It will pull an IP from your DHCP pool.
  4. Configure the basics at this point.  E.g. set a static IP, a proper FQDN / hostname, change the default password (it's "askozia " by the way) and setup your first SIP Phone Account.  (Accounts --> Phones --> SIP+
  5. How you connect to the internet is your choice.  For me, I am doing a 1:1 NAT from my firewall using a static external IP just for my PBX.  I could have made this a hard wire using one of the other interfaces on the soekris and attaching it to my DMZ, but I am keeping it simple and mimicking a "normal" home setup for this tutorial.
  6. Setup the phone to connect to the Askozia PBX.  (See the detailed how-to in the Important Links section of this document.