In general, difficulties with the connection may appear due to the low throughput of a router. There may be malfunctions if a person is making a call, and his five colleagues are simultaneously listening to the music. In this article, we will describe settings that can improve the quality of the IP telephony.
Internet Protocol telephony is possible due to the SIP protocol that solves the issues of interaction of multimedia protocols: video/audio. You can discover this process in detail in the article “Simple Things You Want to Know about SIP Phone System”. When one of the interlocutors speaks, the sound of his voice is encrypted and split into packets that are transferred to another device during the conversation.
Various types of data are transmitted via one channel as no one uses the Internet just for IP-telephony only. They all are notionally the same for the router, and such “equality” sometimes causes issues.
Let’s set a simple example. A father watches the online broadcast of the match, a son watches Youtube, and a mother at this time wants to call her mother via Skype. But the sound is interrupted as the audio and video traffic almost completely “reload” the channel. And packets with audio data are waiting for processing. All this leads to difficulties with communication. That’s why it is better to configure so-called traffic prioritization that allows the processing of IP-telephony data in the first place. As in most cases, the call is more important than a video on Youtube.
Quality of Service (QoS) is a technology for providing different service priorities to various classes of data. QoS is a built-in feature of some router models.
If you configure prioritization for IP telephony data, the device will determine them among the whole traffic. It will also give them the highest priority, which can significantly improve the quality of communication. The difference of the device work with and without QoS is illustrated below.
What to consider before the setup
There are two things to consider before setting up QoS. First of all, the prioritization is justified only if the channel is overloaded, and there is a queue of packets to process. If you only need to call friends from time to time, then setting up QoS is a waste of time. However, a company that uses a connection from an IP telephony operator highly needs this technology. The same thing, if you use Ringostat call tracking. Thus, we have prepared the below recommendations for configuration.
The second thing is that QoS is not a magic pill. If the channel is too narrow, the traffic prioritization still won’t help. The physical buffer of the device with all packets ready-to-exit will overrun. Then new packets will be destroyed. Even if they are essential to the user.
Therefore, pay attention to the characteristics of the router and the maximum size of the packet processing queue. For example, it is approximately 128–256 packets on Cisco routers. This queue can exceed 20% of the throughput. But if the percentage is higher, then you better change the network design and lay additional routes.
QoS settings
To avoid congestion in the channel, we must “mark” the VoIP data and make them “privileged” for the router. There are two ways to prioritize traffic.
Prioritization in the web interface of the router
There is no multi-purpose way to configure QoS for routers. Everything depends on the specific device. Basically, the priority is assigned by a protocol. When we are talking about telephony, SIP/RTP is most important to us. RTP — Real-time Transport Protocol is a protocol used to deliver audio.
The prioritization can also be configured by ports. In this case, the device will understand that all data coming from a particular port have to be processed primarily. Thus, when you are using a dialer, VoIP traffic will come from port 5060.
Prioritization by type of traffic is also available. The choice of prioritization type depends on the amount of traffic, its kind, and settings of the apps that are used for communication, etc.
Prioritization in the dialer
Generally speaking, there are special fields dedicated to mark traffic in the headings of various network protocols, for example, Ethernet, IP, ATM, MPLS, etc. By entering the necessary values there, you point out certain data as especially important. And the router will process them first.
In this case, QoS is configured not in the device for Internet connection, but in the dialer. To do so, go to its network settings and enter the necessary values for packets with audio data. For example, you can do the same thing as described in the instructions for Zoiper.
Let’s describe this method in detail as it allows processing the information faster. In this case, the router by IP header of the packet “understands” that the data is prior and processes it faster. In the first case, he would additionally have to “open” the packet to recognize its content. Besides, it is better to pint out the data closer to their source. In our case, this source is a dialer.
As an example, let’s consider the priority setup in the Zoiper app. To do so, find the configuration file in the dialer. For example, for Zoiper, it is “Config.xml”. Using an XML-compatible editor, find the required lines and enter the values EF, CS, or AF. The choice of the desired value depends on the capabilities of the router. You can read more about the properties of the values in this article on Wikipedia. You will also find there a list of standards.
That’s how it looks like the content of the packet after QoS installation in Zoiper. The screenshot shows the protocol, its header, and the value that we entered. EF means Expedited forwarding — in other words, the highest priority:
The only disadvantage of this method is that not all routers can define the priority by a header. The setup details depend on the device and service you are using. But the instructions are easy to find, just google “how to configure QoS for N”.
Communication quality plays a big part in the business. We have more than one case on how the telephony setup increased the number of requests. We understand that this topic is not simple, so do not hesitate to ask questions in the comments.