Asterisk for Small Business - Where to Start?
Partial answer.
First, know that Asterisk configuration is more like a programming language than, say, Apache configuration. There are numerous ways to create "nonsense" configurations. On the other hand, you can create very nifty services.
There are three aspects to setting up an Asterisk installation:
- call quality
- what manner of phones will you be using?
- which services do the users expect?
Quality
In my experience, your company suffers in reputation from bad phone lines, so make sure you get get decent quality from your installation. Quality is among other things:
- low upstream latency and high link uptime
- Asterisk server uptime; use separate UPS. People tend to get cranky if they can't call the janitor and tell that there is a power failure in the house.
- decent end-user equipment
Don't do a big bang implementation. Start with some users and work from there.
End user equipment
How are your users going to talk on the phone and how do you connect that equipment to Asterisk. Some users appreciate a headset connected to their PC, while others need a grey handset with analog dial pad or they will just be confused. Which will you provide and how will they connect to Asterisk?
For so called softphones (i.e. a SIP client installed on your PC) not much need to be done. You need a mechanism to handle accounts for these users (e.g. LDAP) and they need decent headsets. For connecting traditional analog phones, there are various sorts of equipment. For small installation, you may be able to get your hands on Zyxel Prestige 2002s (2 ports each), but for larger installations you need rack-mountable equipment of some sort.
Services
In my experience it is very difficult to get users to actually tell what they expect from a phone system, but once you give them something, they start having all sorts of opinions. So you need to be very clear about what services you provide and require a somewhat anal change management process (more so than is normally required in a small company).
Conclusion
This sounds dangerous and ominous, but know that the reward is equally great. The advantage of being able to create dedicated phone services, with the same sort of detailed control that you have with other IT services can be very rewarding. It will take some time for your users to get used to the thought that they can actually request fancy features from their phones, but once they get started, you can make their work a lot easier. Some features my users found very useful:
- voice mail that sends mail with audio files
- queues and fallback for all users
- softphone and multiple phones for all users
- phone conferences
- redirection to mobile phones, and
- routing calls through company phone system from private phones so that company picks up tab for international/expensive calls.
Also, traditionally, most phone extensions are personal, but in a modern company, most incoming calls are actually to a company function. You should probably consider not having personal extensions at all, and simply have an extension per function that rings all phones in that department/function.
Solid answer by @Bittrance already.
My main highlights for a new to all this 'VoIP guy for a small office' would be:
Server setup:
Consider buying an appliance with a nice GUI. Several vendors make 'Asterix bundled with hardware' packages, like the "Asterisk Appliance 50" or "Trixbox".
If not an appliance, then at least consider a nice virtual machine / server software image (OS + Asterix + Addons + GUI) like AsteriskNOW, Trixbox, etc.
Upstream connection:
You can use an IP based telephony service provider, i.e. send SIP VoIP data over the T1 to your telephony service provider. This is where much of the business innovation, low telephony rates etc can be had. In a good design, you want QoS on the upstream (T1) line, to guarantee good voice quality in all conditions.
You can use a traditional telephony service provider, and use ISDN/2, ISDN/30, or multiple analog lines to connect to your upstream service provider. This is very reliable, time-proven, and doesn't have any QoS needs as you are not mixing data and voice on the same physical circuit.
QoS:
"Quality of Service (QoS) is the biggest design issue. QoS, at very high level, refers to the ability to prioritize data flows though shared pipes, i.e. make sure voice traffic gets priority over computer data.
How to best implement QoS in a given network is very dependent on what equipment is being used.
In a few cases, the simplest/cheapest QoS solution is to just use 2 physical circuits -- one for data, and another for voice. For example, some small offices use a new high-speed FiOS package for Internet connectivity/data, and an old T1 or something for voice uplink. The most cost-effective option will depend on what is being offered in your area, and the QoS capabilities of your existing firewall/router.
You should go for QoS on your internal network too. That's not so hard; the common solution is setting up dedicated VLANs for voice and data, and using the QoS implementations in your (managed Cisco) switch. Some really cheap installations use 2 switches, one dump ~30 USD switch for data/PCs, and another dumb switch for SIP phones exclusively. That works too, but is inelegant and can lead to lots of cable runs.
Phones:
Read some reviews, and get good SIP phones for your office. Sound quality differs substantially between models (mostly due to different microphones & speakers).
A SIP phone is basically a micro-computer. It needs an IP address (DHCP), it must be registered with Asterix, from time to time you might want to update the phone firmware, etc. Plan how you will administrate this.