← Back to team overview

rohc team mailing list archive

Re: [Question #679313]: (K,P)


Question #679313 on rohc changed:

    Status: Open => Answered

Didier Barvaux proposed the following answer:

> with respect to LSB encoding, there is a intervals f(Vref,K,P), However,
> How can we choose the K,P , especially the value P, it is only according
> to the section 4.5.1 a),b),c),d) in RFC 3095?

Section 4.5.1 of RFC 3095 defines the main principles of the LSB encoding. The value for p is specific to the field that is encoded. Some examples:
* §4.5.5 of RFC3095 defines that the IP-ID offset is encoded with p = 0. That information is repeated in §5.7. 
* §5.7 of RFC3095 defines that the SN field is encoded with p = 1 if bits(SN) <= 4 and p = 2^(bits(SN)-5) - 1  if bits(SN) >  4.
* §5.7 of RFC3095 defines that the TS field is encoded with p = 2^(bits(TS)-2) - 1.

The TCP profile defines that p values in a different way. Its uses the
lsb() function defined in section 4.11.5 of RFC 4997. The 2nd parameter
<offset_param> of the function lsb() is the p parameter defined in RFC
3095. For example, the RFC 6846 defines that the seq_1 packet type of
the TCP profile shall encode the TCP sequence number with as follow:
seq_number =:= lsb(16, 32767). It means that k = 16 and p = 32767.

>  in the TCP profile in the lib, there are many rohc_lsb_shift_t params P,
> how can the values be choosed? e.g. TCP_SN = 4, TCP_window = 16383,
> RTP_SN = 101,TCP_TS_3B = 0x00040000,TCP_TS_4B = 0x04000000 .

The rohc_lsb_shift_t enum lists the different values that are used by
the several ROHC RFCs. See the examples above.


You received this question notification because your team ROHC Team is
an answer contact for rohc.