VoIP Is Hard

A recurring theme I’m seeing lately is people deploying VoIP, running into issues, and not approaching their issues from the perspective of taking all components into account. What I mean by this is that if you are deploying Asterisk it is only a single component, there are others. There is the Linux distribution it is running on, the infrastructure it is running on, the network connection, the switches, the endpoints. VoIP has a lot of moving parts and it is important to remember them all when trying to resolve an issue. I’m going to pick a few and talk about them.

Infrastructure

It is a common practice these days to run services on virtualized infrastructure. This can be a low cost easy method to deploy things, but something to remember is that not all virtualized environments are created equal. Such an environment can be easily oversubscribed and if another tenant on the infrastructure heavily uses it, it can then cause an impact to you. Some symptoms I’ve seen of this relate to audio – specifically jitter or prolonged gaps in it. Asterisk, and endpoints or providers, can tolerate this to a point but that can only go so far. An easy test you can do to see what the timing in the environment is like is to run the “timing test” command in the Asterisk CLI. It starts a 20ms timer and tells you how accurate it is. The worse it is, the more problems you may encounter.

Disks

Underlying problems with disks can result in Asterisk blocking while reading or writing files. Take the case where you are playing back a file. If accessing that file is problematic then the channel listening to the file will encounter issues, or may block.

Databases

I’ve talked about this previously but if you choose to connect a database to your Asterisk then problems with the database can impact Asterisk. There are paths in Asterisk that block on database access resulting in Asterisk also blocking if your database encounters issues. This can be from underlying hardware issues where the database is running, network issues between Asterisk and it, or database operations blocking queries.

Networking

Networks aren’t perfect even if they want them to be, and in particular the internet is not perfect. If issues are occurring from a network perspective you may experience audio issues, or SIP packet retransmissions.

These are only a few specific things to look at but I hope this serves as a reminder that you need to approach things over all, and not just limit yourself to thinking a problem is with Asterisk.

About the Author

What can we help you find?