gnohz, 123RF.com
Strategies for routing voice calls around a firewall
Through the Gate
Along with Skype, the Session Initiation Protocol (SIP) is one of the most popular techniques for setting up Voice over IP connections. Thanks to an open standard (IETF RFC 3261 [1]), it is also easy to develop your own applications for SIP. However, if you use the SIP protocol for Voice over IP calls, you will discover some complications reaching an address on a private network that resides behind a NAT firewall. The data part of a SIP packet includes address and port information that the gateway does not understand. VoIP experts have developed several workarounds, including the STUN (Simple Traversal of UDP through NAT) protocol, but as you will learn in this article, STUN and some of the alternatives each have limitations that you should be aware of when you are planning your VoIP network.
SIP 101
SIP is only responsible for signaling – for example, setting up and breaking down a call. The voice data is transported by another open protocol, the Real-time Transfer Protocol (RTP), which is described in RFC 3550 [2].
Listing 1 shows the SIP Invite request used as an example in the SIP RFC; the request initiates a VoIP call comprising two parts: The first part of the message contains the SIP headers; the second – separated by an empty line – contains the Session Description Protocol (SDP) [3] as the SIP payload. The SDP part describes the audio stream; that is, it contains data such as the codec, the open port (in the m header), and the IP address or name of the hosts.
Listing 1
Invite Request with SIP and SDP
01
Buy this article as PDF
(incl. VAT)
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

