← Back to team overview

rohc team mailing list archive

Re: [Question #201484]: In what situation will the rand change when decompressing

 

Question #201484 on rohc changed:
https://answers.launchpad.net/rohc/+question/201484

    Status: Open => Answered

Didier Barvaux proposed the following answer:
Hello,

> I only test VoIP streams which include only one IP header. And in my test, the packet is coded
> as UOR-2-ID and the RND is 0. But it is decoded as UOR-2-RTP and the RND is analysed as 1.
> I don;t know why the RND changes.

The behaviour "IPv4 + context(RND)=0 => UOR-2-ID" at compressor is
expected. The behaviour "UOR-2* + context(RND)=1 => try to decode
UOR-2-RTP" at decompressor is expected too. What may be unexpected is
that the contexts at compressor and decompressor are not in sync (0 at
compressor, 1 at decompressor). It may occur if there was some packet
loss/damage. Is it the case?

If the contexts are in sync, you should have one of the 4 following
scenarios:

1/ Scenario "RND=0 and no change":
      - at compressor: IPv4 + context(RND)=0 => UOR-2-ID
      - at decompressor: IPv4 + context(RND)=0 => UOR-2-ID

2/ Scenario "RND=1 and no change":
      - at compressor: IPv4 + context(RND)=1 => UOR-2-RTP
      - at decompressor: IPv4 + context(RND)=1 => UOR-2-RTP

3/ Scenario "RND=0 and change to RND=1":
      - at compressor: IPv4 + context(RND): 0 -> 1 => UOR-2-RTP + extension 3 with packet(RND)=1
      - at decompressor: IPv4 + context(RND)=0 => UOR-2-ID
      - when parsing extension 3, packet(RND)=1 is found, and packet is re-parsed as UOR-2-RTP

4/ Scenario "RND=1 and change to RND=0":
      - at compressor: IPv4 + context(RND): 1 -> 0 => UOR-2-ID + extension 3 with packet(RND)=0
      - at decompressor: IPv4 + context(RND)=1 => UOR-2-RTP
      - when parsing extension 3, packet(RND)=0 is found, and packet is re-parsed as UOR-2-ID

Regards,
Didier Barvaux

-- 
You received this question notification because you are a member of ROHC
Team, which is an answer contact for rohc.