Making phone calls over IP is all about ones and zeros, so you need to decide the best way to squeeze all that data down the line.
Voice over IP relies on a codec - a type of algorithm - to encode your voice for transmission and then decode it at the other end. There are many codecs to choose from when using VoIP, some of which save bandwidth by using compression and sampling a narrower range of frequencies, cutting out the high and low tones in your voice.
Which codec you choose is primarily determined by which are supported by your hardware, such as your IP PABX and your VoIP handsets. Some codecs require a licensing fee, but this fee is usually built into the cost of the hardware.
The next factor influencing your choice of codec is the bandwidth at your disposal. The bandwidth required for a VoIP call is determined by the sampling frequency (the range of sounds it captures) and the number of bits used to sample that frequency range, after which compression can be applied. Codecs using 8 kHz sampling frequency are referred to as narrowband codecs, while wideband codecs using a 16 kHz sampling frequency.
Depending on the codec, VoIP calls generally consume between 8 and 64 kbps. In comparison, a call on the copper-based Public Switch Telephone Network is the equivalent of 24 to 32 kbps per second, while a call over an ISDN link (such as Telstra's OnRamp service) is the equivalent to 64 Kbps.
On top of these bandwidth requirements you need to allow for packet and network overheads. Depending on the codec, up to 50 VoIP packets must be sent per second to ensure call quality. Considering the headers in each VoIP packet are around 320 bits, 50 of them in one second means the headers alone will consume 16 kbps. The physical layer and its protocols also contribute overheads. The typical overheads on a frame relay or T1 connection is 18.8 kbps per VoIP call, but this can blow out to around 40 kbps if your call is running over a Virtual Private Network.
Remember these overheads apply to each individual call, so if you're supplying VoIP to a large office your bandwidth requirements can quickly spiral out of control. Such oppressive overheads can be curbed using tricks such as header compression or VoIP trunking, combining multiple VoIP streams into a single stream sharing a single packet header.
Network latency should also be considered. The PSTN typically has a latency of 45 milliseconds, but 60 to 80 milliseconds latency is still acceptable for VoIP calls.