Here's the problem: When VoIP clients establish a connection through a common server, they attempt to make a direct connection with each other by exchanging their local IP addresses on the application layer. But if one or more local clients are using an internal network address on a NAT network, rather than a native IP address, the connection cannot be completed.
VoIP vendors have developed a plethora of solutions--and that's part of the problem. Proprietary NAT solutions work well in closed networks and for some specific device types, but in mixed environments those solutions stumble over each other. ICE, which has been proposed as an IETF standard, could provide a means of solving the NAT problem, making it easier to establish VoIP calls across a variety of networks and vendors.
ICE, which is currently in IETF Draft 6 and has not yet received an RFC number, defines a method for VoIP clients to query a special server to determine the IP address to complete a call. ICE combines two existing NAT traversal solutions--STUN (Simple Traversal of UDP through NAT) and TURN (Traversal Using Relay NAT)--and chooses the best method for each call.
ICE is a simple protocol that would be relatively easy for developers to implement and will work in the majority of network designs, Microsoft says. In fact, despite the standard's early development stage, Microsoft is already beginning to build ICE into products such as Live Office and Live Communications Server. Microsoft has used this strategy before: It implemented SIP, or Session Initiation Protocol, in its products even before SIP had supplanted H.323 as the VoIP standard of choice.
Cisco's support for SIP has been less clear-cut, and its plans for ICE haven't been spelled out. But with Microsoft and Cisco behind ICE, it's likely ICE will become the standard of choice for the NAT problem. If your organization is wrestling with NAT, take a closer look at ICE--and see whether the rest of the industry will follow Cisco and Microsoft's lead.