LSB decoding of SN should use shift parameter -1 for IP-only, UDP and UDP-Lite profiles
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
rohc | Status tracked in Rohc-main | |||||
1.3.x |
Won't Fix
|
Medium
|
Didier Barvaux | |||
1.4.x |
Won't Fix
|
Medium
|
Didier Barvaux | |||
Rohc-main |
Fix Released
|
Medium
|
Didier Barvaux |
Bug Description
LSB encoding/decoding uses the shift parameter to compute the interpretation interval. The shift parameter, also named p, shall be set to -1 when compressing/
For non-RTP UDP/IP profile, RFC 3095, §5.11 says:
The ROHC UDP profile always uses p = -1 when interpreting the SN,
since there will be no repetitions or reordering of the compressor-
generated SN. The interpretation interval thus always starts with
(ref_SN + 1).
For IP-only profile, RFC 3843, §3 says:
As for ROHC UDP, the compressor generates a 16-bit
sequence number which increases by one for each packet compressed in
the packet stream, simply called SN below.
For non-RTP UDP-Lite/IP profile, RFC4019, §5.2 says:
In particular, the considerations of ROHC UDP regarding the UDP SN
taking the role of the RTP Sequence Number apply to ROHC UDP-Lite.
The ROHC library uses -1 when encoding, but 0 when decoding.
Confirmed on 1.4.x branch.