Choosing the right technology for your VoIP installation can be intimidating but it doesn't have to: we prepared this guide to streamline your decision process
Be it for contact centers or to create an in-house telephony system, business VoIP – essentially SIP trunking and IAX – can be confusing. Indeed, numerous parameters are to be considered to select the appropriate setup.
There are three different paths to VoIP: SIP Trunking, Registrar SIP and IAX. Each of these implementations come with its own set of challenges and benefits. To find the most relevant implementation for your business, the following must be considered: quality of the internet connection, bandwidth, network configuration (dynamic or static IP), number of channels, codecs used… It can seem daunting if you’ve never done it before, but with the right information can ease the choice.
We will start with the basics: what is VoIP? From here, we will progressively navigate all the variables to account for, from your internet connection to your telephone system needs, before helping you decide on a setup that will fit your requirements.
So, what is VoIP?
The world of telecom, and particularly VoIP is full of somewhat barbaric acronyms that might scare neophytes off. Don’t worry, we will try to keep it easy to understand even if you’re not an expert. Still, if you need to freshen up on some acronyms, feel free to check our acronym reference.
VoIP refers to a group of technologies used for the delivery of voice and multimedia (video) communications over the internet. Instead of relying on the Public Switched Telephone Network (PTSN) which powers the regular phone calls from landlines and mobiles, VoIP uses the public Internet which comes with numerous benefits. VoIP can also be used in internal, nonpublic networks, such as companies network.
The voice signals are digitalized and packetized, allowing them to be transmitted more efficiently. Moreover, because of the digitalization, multiple simultaneous calls (we call them “channels”) can coexist on the same line, while in the legacy telephone system, one line pretty much meant one channel.
VoIP is available with specific hardware (VoIP phones) but it’s also the underlying set of technologies used by many nowadays mainstream applications, such as Skype, Viber or FaceTime. VoIP is now commonplace and everybody already used it, knowingly or not.
Since VoIP relies on the internet network, the quality and properties of the internet connection used for the setup is the main determinant of the call quality. We’ll detail it in the next section.
The need for speed: capacity planning and sizing
Bandwidth – the communication speed (I.e the maximum transfer rate of the network) will ultimately determine the number of channels (simultaneous calls) your setup can handle. However, the bandwidth is not alone in the equation: depending on your installation, you can compress the signal to reduce the bandwidth/channel need (more on this below), allowing you to use more channels for the same bandwidth.
Therefore, to properly size your installation, you need to figure out:
- The maximum bandwidth of your internet connection and its ping: it’s really straightforward.
- The codec you will use as it will affect the bandwidth needed for each call: this might be harder, as you will have to choose.
A function of the two will allow you to know how many channels your setup can support.
Figuring out your bandwidth and ping
Free services, available online can help you figure out the maximum upload and download speed of your internet connection, as well as its response time (ping). Go to speedtest.net (featured in the screenshot below) or fast.com to test your network.
Your upload speed will most likely be the limiting factor. Indeed, most of the internet setups are skewed towards download (unlike ours shown in the screen).
The ping represents the time needed for a packet to do a round-trip. Your ping, by itself, is not the main factor of the call quality. What matters more is the stability and regularity of this ping: ping spikes will be felt during phone conversation. Ideally, the ping should be below the 40ms mark. If it’s above 120ms, you will be able to feel the delay and above 160ms you will experience a choppy line.
NB: Internet Service Providers (ISP) tend to find their way around these tests, the results are more a maximum speed in perfect conditions than a baseline.
Codecs: what they are and what they do
Transmitting an audio stream (such as you talking) over a digital medium requires the conversion of an analog signal (your voice in the air) to a digital signal (ultimately your voice encoded in 1’s and 0’s).
What are codecs used for?
Codecs are used for both the encoding and the decoding of the voice signal. Therefore, if the caller uses a given codec, the recipient also needs to have it to decode the signal.
In addition to the transmission of the signal, a codec can also compress the data to reduce its size and therefore the bandwidth required for its transfer. Compression comes at the cost of quality.
Two main types of codecs are distinguished. Compression codecs are called “lossy” while codecs that focus on preserving the quality of the data stream are “lossless.”
There are numerous codecs which are each designed and optimized for specific uses. For instance, codecs used for the transmission of voice during telephone calls need to fit the medium’s needs: a very low latency between source encoding and playback. Therefore, codecs used for regular phone calls are lossy codecs designed to reduce the bandwidth needs ensuring minimal latency but reducing audio quality hence the familiar “telephone voice”.
What are the codecs supported by CALLR?
We mainly use two codecs at CALLR. They are the most widespread in the telecommunications industry which allows for smooth interconnections.
- G711/PCM (Lossless): PCM is an audio codec offering a very high quality at the cost of high bandwidth requirement: it’s an uncompressed codec. There are two slightly different version, the μ-law (PCMU) used in America and the A-law (PCMA) for the rest of the world.
- G729 (Lossy): G729 is used to reduce the bandwidth needs of an audio signal. It heavily reduces the size of an audio stream while preserving a sufficient quality for phone calls.
Your bandwidth needs depend on the codec you use. G711, a lossless codec, requires a lot of bandwidth: a standard ADSL connection will support up to 10-12 channels only. On the other hand, because G729 compresses the signal, it requires less bandwidth: the same connection using this codec should support up to 100 channels. Below is a comparison of the bandwidth requirements using the G711 or the G729 codecs:
The authentication and its challenges: dynamic and static IP addresses
Another determining factor in your choice between SIP trunk, Registrar SIP and IAX is the IP address assignment mode of your network. It does not play a role regarding the maximum number of channels your setup can handle but is crucial for authentication.
Before digging into the possibilities available for each network type (static IP or dynamic IP) will go back to the basics to make sure everybody stays on board.
What are IP addresses and why does it matter for VoIP?
Each device connected to the Internet is assigned an IP address which might be unique to the device, or not. Two modes of assignment exist:
- Static IP address: a set IP address if assigned to a given device and does not change over time. Even if the router or the device is rebooted, the IP address will stay the same. Since the IP address is constant and unique, it can be used to authenticate its owner.
- Dynamic IP address: the network assigns an IP address to the device when it connects to the network. Because the IP address changes over time, it cannot be reliably used for authentication.
Other methods can change your IP address, such as Network Address Translation (NAT) thus affecting authentication. We’ll detail the issues raised by NAT below, but first, let’s explore why IPs matter for authentication with SIP trunking.
Authentication using IP address
CALLR Trunk SIP uses authentication by IP, it won’t work with a dynamic IP. Indeed, you need a static IP to be able to authenticate yourself while using trunk SIP.
However, IAX and registrar SIP use the Password Authentication Protocol for authentication. Therefore you can use IAX with a dynamic IP.
What are the issues between NAT and VoIP?
NAT consists of hiding (private) IP addresses behind another public IP address. NAT allows multiple devices on a LAN network to share a single public IP address. To do so, all outgoing traffic is routed through a NAT router that replaces the source IP address with its own public address.
SIP trunk uses two data streams, one for signaling and one for audio payloads: the signaling protocol is separated from the audio and worse, the port on which the audio traffic is sent is random. Therefore, even if the NAT router can handle the signaling traffic, it has no way of knowing it’s paired with an audio stream that should be sent to the same device.
From an end-user perspective, it might translate into a partial (one-way audio) or complete absence of the audio signal on their calls despite a proper signaling: the telephone rings, the caller hears the ringing feedback, the called person sees the caller ID and ringing tone stops when the called person pick up the phone but the audio is not there.
Because IAX carries both the signaling and the audio using only one stream, it has no issue with NAT.
VoIP-Info.org offers a comprehensive overview of the issues with NAT and VoIP as well an exhaustive list of solutions to either avoid the problem altogether (not use NAT) or work around the problem (properly setup NAT to work with VoIP).
Last requirements for your internet connection
You can reach our infrastructure through two entry points:
It’s considered a good practice to use both (round-robin), splitting your traffic between each to minimize the risks of failure of your installation.
A firewall is a network security system that controls traffic based on predetermined security rules. If usually works with a whitelist of authorized IPs – those used by the applications you need preserve access to the network for authorized apps.
If you are restricting inbound or outbound traffic on your connection, you will need to whitelist certain ports to allow CALLR’s SIP to work properly.
- RTP ports to allow: 10000 to 60000
- UDP port 5060
The three paths for VoIP
With a sufficient knowledge of the underlying technologies and challenges of VoIP, we can now knowingly explore its three different implementations.
The SIP Protocol
SIP is now a standard protocol within the industry. Numerous manufacturers support it and its very comprehensive request-response structure is convenient. The user agent client sends requests (full list of SIP request methods) to the server which replies with responses always starting with a response code (full list of SIP responses code and their meaning).
The response-request model is a standard known by most developers. Indeed, the SIP protocol reuses most of the status codes of the HTTP request/response model. Therefore, SIP installations are easy to debug.
In the first section explaining what VoIP is, we explained that the voice signals are “packetized”: data is bundled into packets. Two types of packets are exchanged during a call made using SIP Trunking:
- Signaling packets which help to initialize the communication (such as making sure both the caller and the recipient have the same codec) and maintaining it.
- Media packets which carry the communication itself (voice).
Trunk SIP offers an exhaustive control over your phone system. On the other hand, Registrar SIP is a more accessible gateway to SIP: it uses softphones, which makes the initial setup much easier than trunk SIP.
Trunk SIP is the industry standard and ultimately provides the best call quality. SIP trunk offers a broad gateway compatibility. A fixed IP is required to use SIP trunk since it’s used for authentication as we explained before. Because of this reliance on IP, SIP installations can have issues while using NAT.
On the other hand, SIP registrar is designed for the end-user with a lot of built-in features. Some gateways even require it. Nevertheless, it’s more restricting that SIP trunk and some features are not available on CALLR Registrar SIP such as custom CLIs. Just like SIP Trunking, SIP Registrar can have issues with NAT.
IAX (Inter-Asterisk-eXchange) is a wholly different VoIP implementation that comes with numerous advantages, especially when on using a low bandwidth internet connection.
Indeed, IAX uses only one stream for both signaling and media payloads, making it much less resource-hungry. Moreover, IAX uses the Password Authentication Protocol, it doesn’t rely on IP for authentication. It supports NAT and firewalls. Finally, our IAX setup comes packed with codecs making it easy to call internationally while saving you the money and the hassle of setting them up.
IAX main downside is that it’s built on top of the Asterisk software: you must use an Asterisk gateway with IAX. Asterisk is an open-source software built on top of proprietary system components
Overall, IAX is a great alternative to SIP Trunking for installations with complex network setups.
Overview of the three VOIP implementations
Summing up: finding your VoIP fit
We built a decision tree to help you decide knowingly:
We hoped this article will help you decide on a VoIP implementation that fits your needs. If we left some of your questions unanswered, don’t hesitate to reach out to our support team to ask them.
Looking for a SIP Trunk, IAX or Registrar SIP provider?Try CALLR