For those that haven’t realized it, our Internet is sort of broken. Intended to be a peer to peer network, this global network has become a network that primarily operates in a client/server mode. Fortunately, this works very well for many use cases. However, there are applications that would work much better in a network that is truly peer to peer. Voice is one such application.
There are several challenges when rolling out VoIP over the Public Internet. These challenges include:
- Some type of individual (or phone number) to IP address Database
- Given the useable public address, signaling to the remote NAT device what internal host should be used
- Signaling Protocol typically sets up dynamic ports to be used for a secondary media stream. This is unique in both directions.
These challenges are often addressed by placing some type of server in the public address space. Connections initiated an maintained by the phones toward the server help overcome these issues. However forcing the behavior into a client server arrangement brings inefficiencies and overhead. Allowing devices to talk directly with one another would be more efficient and likely produce a higher quality user experience.
This type of end to end connectivity could be provided by an IPv6 Internet. However, there are still several challenges. First, how do phones or endpoints locate each other? Something similar, like DNS, could do a simple resolution and then get out of the way. The other thing that has to be overcome is permitting this traffic through any firewalls.
Even though challenges still remain, the need to manipulate signaling traffic at translation points will no longer be necessary. This is typically problematic and done in “Application Layer Gateways” that exist in different forms in NAT implementations.
The challenges created by NAT has forced VoIP deployments in two typical models. The first of these is enterprise voice solutions in which the VoIP portion is contained inside the organization’s network. The other deployment model is proprietary cloud deployments. Skype is an example of this. Overcoming these challenges would be a step in a direction that should produce a better and more cost effective voice solution.
IPv6 would greatly simplify inter organization and consumer to consumer connections for voice over IP. The address translation that is required with IPv4 creates challenges that are especially pronounced in multichannel protocols that need to locate other endpoints. As IPv6 becomes more prevalent, I hope to see solutions take advantage of the peer to peer nature and help drive adoption. Although end to end connectivity doesn’t solve all of the problems of networking VoIP, it is certainly a step in the right direction.