A PBX is basically a piece of equipment that allows you to get extra functionality from your telephones e.g. calling other extensions, forwarding calls to other extensions, conference calls, music on hold etc.
I have used the Linux based PBX software Asterisk since around 2003. Asterisk is different to most standard PBXs in that rather than being a closed platform allowing only a fixed set of options, Asterisk gives you the flexibility to program in software how calls should be made, received, answered, or routed either via the internet (for reduced call charges – particularly to international destinations) or via regular analogue phone lines.
The IP04 is dedicated hardware device suitable for running Asterisk that has 4 ports allowing for connection to e.g. standard analogue telephone lines, standard analogue telephones or the GSM network (via a GSM1 add in module), along with IP phones, and IP trunk providers over the network interface.
My reason for purchasing the IP04 was that I would prefer not to have to continue to maintain a full PC just to run a few phones, and also (not despite a lack of trying to solve the problem) I was having continuing intermittent issues with echo cancelation on calls made / received using analogue lines.
In terms of hardware it appears to be a solid, well built unit although I would question why the serial port was made an optional attachment (supplied on purchase) rather than just built in, and why no instructions are provided on how to open the unit to install additional modules (extra screws are hidden under the rubber feet).
In terms of software however setting it up turned out to be a whole lot less straight forward than I was expecting. I experienced the same issues getting it working (the main one being hangups not being correctly detected which required manual changes to zapata.conf) as I did back in 2003 with my original Asterisk install but this time with a number of extra issues caused by Asterisk being run on the IP04 and not a regular PC:
- MGCP protocol not supported by default – Admittedly most people will likely not use this any more however I was. Fortunately I had replaced 3 of the phones previously relying on MGCP with IP phones therefore only leaving one which I switched to using an IAXY I had spare.
- Does not seem particularly secure by default, e.g. telnet turned on with no password (you can install the login package “ipkg install login” to set a password).
- Web based configuration software installed on my unit by default did not allow setting of the unit IP address. You can however install other web based configuration software (“ipkg remove asterisk-gui” “ipkg install voiptel-gui” that does support this).
- If you do install the “voiptel-gui” web tool then you must use it to set the IP address, and not try to set it manually via editing “/etc/init.d/network-static”, since the voicetel-gui will overwrite the manual setting.
- The zapscan utility run in “/etc/init.d/zaptel” will rewrite your zapata.conf file, which if you are using more than one analogue port, and need to set a different “context” for each can be an issue. I solved it by adding to a script to undo the changes done by “zapscan” just after it runs, although this is obviously not the best solution. Simply commenting out zapscan did not work because that caused all analogue ports to stop responding.
- If you want to use Asterisks’s voicemail to email feature you need to make sure “ssmtp” is installed “ipkg install ssmtp” and configure it correctly in “/etc/ssmtp/ssmtp.conf” along with editing “/etc/asterisk/voicemail.conf” and adding in “mailcmd=/bin/ssmtp -t”
- If you would like to use music on hold you need to first convert it to a suitable format before copying it over to the unit.
- Documentation does not seem that comprehensive.
Overall however after resolving the issues above I am happy with the unit, as it has satisfied the two main objectives I had when purchasing it, i.e. no longer needing to run a full Linux PC, and much improved echo cancelling which I had not been able to resolve previously. If you are purchasing this product you will very likely need at least a minimal amount of Linux experience to get it setup and working correctly.