← Back to team overview

rohc team mailing list archive

Re: [Question #676790]: SID

 

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

    Status: Open => Answered

Didier Barvaux proposed the following answer:
Hello,

The ROHC compression states still have some impact: the compression state changes with ACK/NACK/STATIC-NACK feedbacks or with periodic refreshes. For example, whenever a context refresh occurs or a NACK is received, the compressor transits from the SO state to the FO state.
* In FO state, the c_rtp_decide_FO_packet() function may choose a packet type among IR-DYN, UOR-2, UOR-2-ID and UOR-2-TS. The packet types UO-1, UO-1-ID, UO-1-TS and UO-0 are forbidden because they cannot transmit enough information to refresh the context.
* In SO state, the c_rtp_decide_SO_packet() function may choose a packet type among IR-DYN, UOR-2, UOR-2-ID, UOR-2-TS, UO-1, UO-1-ID, UO-1-TS and UO-0. The decision is taken depending on the information that strictly need to be transmitted.

The TTL, TOS, DF, NBO and RND information cannot be transmitted by the
UO-1, UO-1-ID, UO-1-TS and UO-0 packet types, so the function
c_rtp_decide_SO_packet() shall check them, but not the funcion
c_rtp_decide_FO_packet().

The SID information can be transmitted only by packet types IR and IR-
DYN, so both the functions c_rtp_decide_FO_packet() and
c_rtp_decide_SO_packet() shall check for it. The behavior is not exactly
the same as in old code version. In the old code, a SID change caused a
transition to FO state, and the FO state handled it by choosing a IR-DYN
packet type. In the new code, a SID change does not cause a transition
to FO state, but both FO and SO states handle it by choosing a IR-DYN
packet type.

Regards,
Didier

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