5.3. Associazione al ricevente
Un ricevente che riceve più flussi originali e di ritrasmissione deve associare ciascun flusso di ritrasmissione al suo flusso originale. L'associazione avviene in modo diverso a seconda che si usi session-multiplexing o SSRC-multiplexing.
Se si usa session-multiplexing, il ricevente associa i due flussi che hanno lo stesso SSRC nelle due sessioni. Si noti che il campo tipo di payload non può essere usato per l'associazione poiché diversi flussi media possono avere lo stesso valore di tipo di payload. Le due sessioni sono associate fuori banda. Si veda la sezione 8 per come il raggruppamento delle due sessioni è effettuato con SDP.
Se si usa SSRC-multiplexing, il ricevente dovrebbe innanzitutto cercare due flussi che hanno lo stesso CNAME nella sessione. In alcuni casi, il CNAME può non bastare a determinare l'associazione poiché più flussi originali nella stessa sessione possono condividere lo stesso CNAME. Ad esempio, nella stessa sessione video possono esserci più flussi video mappati su SSRC diversi e che usano ancora lo stesso CNAME e possibilmente gli stessi valori di tipo di payload (PT). Ciascuno (o alcuni) di questi flussi può avere un flusso di ritrasmissione associato.
In questo caso, per determinare l'associazione tra flussi originali e di ritrasmissione con lo stesso CNAME, il ricevente SHOULD comportarsi come segue.
L'associazione può in genere essere risolta quando il ricevente riceve un pacchetto di ritrasmissione corrispondente a una richiesta di ritrasmissione inviata in precedenza. Alla ricezione di un pacchetto di ritrasmissione il cui numero di sequenza originale era stato richiesto in precedenza, il ricevente può dedurre che lo SSRC del pacchetto di ritrasmissione è associato allo SSRC del mittente da cui il pacchetto era stato richiesto.
Tuttavia, questo meccanismo può fallire se ci sono due richieste pendenti per lo stesso numero di sequenza di pacchetto in due flussi originali diversi della sessione. Poiché i numeri di sequenza iniziali dei pacchetti sono casuali, la probabilità di avere due richieste pendenti per lo stesso numero di sequenza sarebbe molto piccola. Tuttavia, per evitare ambiguità nel caso unicast, il ricevente MUST NOT avere due richieste pendenti per lo stesso numero di sequenza in due flussi originali diversi prima che l'associazione sia risolta. In multicast, questa ambiguità non può essere completamente evitata, perché un altro ricevente può aver richiesto lo stesso numero di sequenza da un altro flusso. Pertanto, SSRC-multiplexing MUST NOT essere usato in sessioni multicast.
Se il ricevente scopre che due mittenti usano lo stesso SSRC o se riceve un pacchetto RTCP BYE, MUST interrompere le richieste di ritrasmissione per quello SSRC. Alla ricezione di pacchetti RTP originali con un nuovo SSRC, il ricevente MUST eseguire di nuovo l'associazione SSRC come descritto in questa sezione.