Subject: [rohc] Clarification required for CSRC List Compression

From: Anil Maguluri <[email-masked]>
Date: Wed, 14 Oct 2009 10:06:42 +0530

Hi All, 

I have few queries regarding the CSRC List Compression. 

Please clarify me whether my understanding is right or wrong. 

Scenario1: The reference list is set b/w compressor and decompressor. 
After that compressor received RTP packet with the same CSRC list [list is 
not changed]. 
Q1. How compressor will inform to decompressor about the CSRC List? 

As per my understanding, Compressor will inform [send Encoding Type 
0/1/2/3] to decompressor only when the list changes. In the scenario1, 
compressor will not send any information about the CSRC list to the 
decompressor. Decompressor will reconstruct the packet using the ref_list. 

Scenario2: The reference list is set b/w compressor and decompressor. 
After that compressor received rtp packet with CC value is zero. 
Q: How will compressor will inform to decompressor about the CSRC List? 

As per my understanding, Compressor will always compare with ref_list to 
create the compressed packet. compressor will generate new Gen_ID and it 
compare with the ref_list to create compressed packet. In the above 
scenario, compressor will send removal scheme only using the removal 
bitmask setting the all 1's [based on the ref_list items]. is it right? 
Otherwise decompressor will reconstruct the packet using the ref_list. 

Scenario3: The reference list is set b/w compressor and decompressor. 
Compressor moved to IR->FO state. Now compressor received the RTP packet 
with the same CSRC list [List is not changed]. Compressor selected IR-DYN 
packet based on the state and mode. 
Q: What value to encode in CC field and Generic CSRC List field? 

Thanks & Regards, 
Anil Kumar Maguluri 

______________________________________________________________________

---

From: Klaus Warnke <[email-masked]>
Date: Mon, 19 Oct 2009 18:29:26 +0200

Anil, 
find my respones inline.

At Wed, 14 Oct 2009 10:06:42 +0530,
Anil Maguluri wrote:
> Scenario1: The reference list is set b/w compressor and
> decompressor.  After that compressor received RTP packet with the
> same CSRC list [list is not changed].
> 
> 0/1/2/3] to decompressor only when the list changes. In the
> scenario1, compressor will not send any information about the CSRC
> list to the decompressor. Decompressor will reconstruct the packet
> using the ref_list.

That is correct.  

If the compressor is confident, that the de-compressor knows the CSRC
list (after repeating x-times or receiving a ACK) there is no need to
send it again.

> Scenario2: The reference list is set b/w compressor and
> decompressor.  After that compressor received rtp packet with CC
> value is zero.
>
> As per my understanding, Compressor will always compare with
> ref_list to create the compressed packet. compressor will generate
> new Gen_ID and it compare with the ref_list to create compressed
> packet. In the above scenario, compressor will send removal scheme
> only using the removal bitmask setting the all 1's [based on the
> ref_list items]. is it right?  Otherwise decompressor will
> reconstruct the packet using the ref_list.

This is right.
To use the removal scheme is maybe not the best choice. We are using
the generic scheme, because it is smaller. 

> Scenario3: The reference list is set b/w compressor and
> decompressor.  Compressor moved to IR->FO state. Now compressor
> received the RTP packet with the same CSRC list [List is not
> changed]. Compressor selected IR-DYN packet based on the state and
> mode.
> 

There is nothing special in this case.
You send the same dynamic chain as used in the inital IR packets.
The IR-DYN packet updates the dynamic values of the context and no
part can be omitted. See 3095 page 99.

> Anil Kumar Maguluri 

br
Klaus