3.1.6.3 ICE keep-alive Timer

The ICE keep-alive timer MUST fire when there has been no flow of media or ICE keep-alive messages for the duration of the timer. When the ICE keep-alive timer fires, an ICE keep-alive message MUST be sent only for the Real-Time Transport Protocol (RTP) component's transport address pair that is associated with the candidate pair that is currently being using for media flow. The ICE keep-alive messages are sent from the local transport address to the remote transport address in the transport address pair. ICE keep-alive messages SHOULD NOT be sent for an Real-Time Transport Control Protocol (RTCP) component because the flow of RTCP packets is sufficient to keep the NAT bindings and Traversal Using Relay NAT (TURN) allocations active. ICE keep-alive messages MUST be sent even if the peer endpoint does not implement Interactive Connectivity Establishment (ICE) for the RTP component's transport address pair that is associated with the candidate pair that is used for media flow. ICE keep-alive messages MUST be Simple Traversal of UDP through NAT (STUN) binding request messages, as specified in section 2.2.3.