ICE
Interactive Connectivity Establishment is used when two nodes must communicate as directly as possible, over the Internet, but the presence of NATs and firewalls makes it difficult for them to do so. ICE uses the STUN (Session Traversal Utilities for NAT)- and TURN (Traversal Using Relays Around NAT) protocols to establish a connection.