1.1 Glossary

This document uses the following terms:

agent: A device that is connected to a computer network. Also referred to as an endpoint.

answer: A message that is sent in response to an offer that is received from an offerer.

bandwidth management endpoint: A protocol client that communicates with a protocol server to discover and enforce applicable bandwidth policies, and to track and send updates about bandwidth utilization to that server.

callee: An endpoint to which a call is initiated by a caller.

caller: An endpoint that initiates a call to establish a media session.

candidate: A set of transport addresses that form an atomic unit for use with a media session. For example, in the case of Real-Time Transport Protocol (RTP) there are two transport addresses for each candidate, one for RTP and another for the Real-Time Transport Control Protocol (RTCP). A candidate has properties such as type, priority, foundation, and base.

candidate pair: A set of candidates that is formed from a local candidate and a remote candidate.

Check List: An ordered list of candidate pairs that determines the order in which connectivity checks are performed for those candidate pairs.

component: A representation of a constituent transport address if a candidate consists of a set of transport addresses. For example, media streams that are based on the Real-Time Transfer Protocol (RTP) have two components, one for RTP and another for the Real-Time Transfer Control Protocol (RTCP).

connectivity check: A Simple Traversal of UDP through NAT (STUN) binding request that is sent to validate connectivity between the local and remote candidates in a candidate pair.

controlled agent: An Interactive Connectivity Establishment (ICE) agent that waits for the controlling agent to select the final candidate pairs to be used.

controlling agent: An Interactive Connectivity Establishment (ICE) agent that is responsible for selecting and signaling the final candidate pair that is selected by connectivity checks. The controlling agent signals the final candidates in a Simple Traversal of UDP through NAT (STUN) binding request and an updated offer. In a session, one of the agents is a controlling agent and the other agent is a controlled agent.

endpoint: A device that is connected to a computer network.

final offer: An offer that is sent by a caller at the end of connectivity checks and carries the local candidate and the remote candidate that were selected for media flow.

full: An Interactive Connectivity Establishment (ICE) implementation that adheres to the complete set of functionality described in [MS-ICE2].

Host Candidate: A candidate that is obtained by binding to ports on the local interfaces of the host computer. The local interfaces include both physical interfaces and logical interfaces such as Virtual Private Networks (VPNs).

initial offer: An offer that is sent by a caller and with the caller's local candidates when the caller initiates a media session with a callee.

Interactive Connectivity Establishment (ICE): A methodology that was established by the Internet Engineering Task Force (IETF) to facilitate the traversal of network address translation (NAT) by media.

Internet Protocol version 4 (IPv4): An Internet protocol that has 32-bit source and destination addresses. IPv4 is the predecessor of IPv6.

Internet Protocol version 6 (IPv6): A revised version of the Internet Protocol (IP) designed to address growth on the Internet. Improvements include a 128-bit IP address size, expanded routing capabilities, and support for authentication and privacy.

INVITE: A Session Initiation Protocol (SIP) method that is used to invite a user or a service to participate in a session.

Lite: An implementation that supports a minimal subset of Interactive Connectivity Establishment (ICE) functionality, as described in [MS-ICE2], to work with a Full ICE implementation. A Lite implementation responds to but does not send connectivity checks.

local candidate: A candidate whose transport addresses are local transport addresses.

local transport address: A transport address that is obtained by binding to a specific port from an IP address on the host computer. The IP address can be from physical interfaces or from logical interfaces such as Virtual Private Networks (VPNs).

network address translation (NAT): The process of converting between IP addresses used within an intranet, or other private network, and Internet IP addresses.

offer: A message that is sent by an offerer.

peer: An additional endpoint that is associated with an endpoint in a session. An example of a peer is the callee endpoint for a caller endpoint.

peer-derived candidate: A candidate whose transport addresses are new mapping addresses, typically allocated by NATs, that are discovered during connectivity checks.

provisional answer: An optional message that carries local candidates for a callee and can be sent by the callee in response to a caller's initial offer.

Real-Time Transport Control Protocol (RTCP): A network transport protocol that enables monitoring of Real-Time Transport Protocol (RTP) data delivery and provides minimal control and identification functionality, as described in [RFC3550].

Real-Time Transport Protocol (RTP): A network transport protocol that provides end-to-end transport functions that are suitable for applications that transmit real-time data, such as audio and video, as described in [RFC3550].

Relayed Candidate: A candidate that is allocated on the Traversal Using Relay NAT (TURN) server by sending an Allocate Request to the TURN server.

remote candidate: A candidate that belongs to a remote endpoint in a session.

remote endpoint: See peer.

Server Reflexive Candidate: A candidate whose transport addresses is a network address translation (NAT) binding that is allocated on a NAT when an endpoint sends a packet through the NAT to the server. A Server Reflexive Candidate can be discovered by sending an allocate request to the TURN server or by sending a binding request to a Simple Traversal of UDP through NAT (STUN) server.

Session Description Protocol (SDP): A protocol that is used for session announcement, session invitation, and other forms of multimedia session initiation. For more information see [MS-SDP] and [RFC3264].

Session Initiation Protocol (SIP): An application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. SIP is defined in [RFC3261].

Simple Traversal of UDP through NAT (STUN): A protocol that enables applications to discover the presence of and types of network address translations (NATs) and firewalls that exist between those applications and the Internet.

STUN candidate: A candidate whose transport addresses are STUN-derived transport addresses. See also Simple Traversal of UDP through NAT (STUN).

Transmission Control Protocol (TCP): A protocol used with the Internet Protocol (IP) to send data in the form of message units between computers over the Internet. TCP handles keeping track of the individual units of data (called packets) that a message is divided into for efficient routing through the Internet.

transport address: A 3-tuple that consists of a port, an IPv4 or IPV6 address, and a transport protocol of User Datagram Protocol (UDP) or Transmission Control Protocol (TCP).

Traversal Using Relay NAT (TURN): A protocol that is used to allocate a public IP address and port on a globally reachable server for the purpose of relaying media from one endpoint to another endpoint.

TURN candidate: A candidate whose transport addresses are TURN-derived transport addresses. See also Traversal Using Relay NAT (TURN).

TURN server: An endpoint that receives Traversal Using Relay NAT (TURN) request messages and sends TURN response messages. The protocol server acts as a data relay, receiving data on the public address that is allocated to a protocol client and forwarding that data to the client.

User Datagram Protocol (UDP): The connectionless protocol within TCP/IP that corresponds to the transport layer in the ISO/OSI reference model.

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.