Candidates Gathering Phase

The candidates gathering phase is common to both the caller and callee. Sections and specify when the candidates gathering phase is triggered on caller and callee endpoints. This section specifies the operations involved in the candidates gathering phase. The candidates gathering phase MUST end when the Candidates Gathering Phase timer fires or when the process of gathering candidates process is complete.

Because this protocol is used for streaming Real-Time Transport Protocol (RTP) media, each candidate MUST have two components. One component is for RTP and the other is for Real-Time Transport Control Protocol (RTCP). This protocol gathers IPv4 addresses for Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) transports. Each candidate MUST be associated with a candidate identifier and password. Each candidate MUST be assigned a priority value from 0 through 1, with 1 being the highest priority, as specified in [IETFDRAFT-ICENAT-06].

Implementers of this protocol MUST NOT support sending more than 20 candidates in the offer or answer. If an endpoint gathers more than 20 candidates, it MUST send no more than 20 candidates for the offer exchange and discard the additional candidates. This is done to mitigate the Simple Traversal of UDP through NAT (STUN) amplification attack specified in section 5.1.4.