Thanks for your detailed response first; First I tried method rohc_comp_set_wlsb_window_width(comp,8) by giving 8bits window width but I still observe the following in the log files;
rohc_decomp_rfc3095.c:1463 parse_uo0() 4 SN bits = 0xe So I think it still uses 4 bit window length? If yes did I do something wrong? Secondly I think for UDP packets ROHC_LSB_SHIFT_SN(-1) is used for compressor and decompressor which makes parsing delayed packets impossible. So I need to use something half of (2 ^ lsb_width) instead of -1 by adding a new enumeration value. Do have any idea about this parameter? Best Regards.. 2018-01-29 22:11 GMT+03:00 Didier Barvaux <did...@barvaux.org>: > Hello, > > > I am using Rohc comressor/decomressor pair on a lossy media(sometimes > > at receiver side some packets are lost) and the orderings of the UDP > > packets are not guaranteed.(packets are not coming in right order all > > the time). > > > > I am using Unidirectional mode and observe some decomression failures > > about CRC check, malformed packets... > > > > Any recommendation to overcome these issues? > > The ROHC protocol provides several ways to handle packet loss or > reordering: > > a/ Increasing the width of the window used by the W-LSB algorithm > improves the robustness of the ROHC protocol by sending more bits for > changing fields. Given a W-LSB width <wlsb_width>, up to > (<wlsb_width> - 1) packets may be lost without causing additional > loss. > The default width is set to 4 by the ROHC library ; please use the > rohc_comp_set_wlsb_window_width() function to change the value ; see > [1] for more details. > > b/ Increasing the number of transmissions N required for a changing > static fields or a changing pattern for a dynamic field ensures that > the loss of N-1 packets during such a change will cause no > additional loss. > The default number of transmissions is set to 3 by the ROHC > library ; there is no API to change the value at that time, but you > may change the value of the constant MAX_IR_COUNT in the source file > src/comp/rohc_comp_internals.h and re-build/re-install the library. > > c/ Same as b/ but for lists of extensions headers (such as IPv6 > extension headers, GRE, AH...). Use the function > rohc_comp_set_list_trans_nr() to change the value ; the default > value is set to 5 ; see [2] for more details. > > d/ You may enable packet/context repair upon CRC failures, so that the > decompressor tries to fix the context or packet if it detects a > decompression problem (due to packet loss/reordering for example). > The feature is disabled by default. Enable it with the function > rohc_decomp_set_features() and the feature > ROHC_DECOMP_FEATURE_CRC_REPAIR ; see [3] for more details. > > Configuring options a-c is easier if you know the largest number of > consecutive losses that you may expect and/or you want to be protected > against. > > Let me know if my explanations are clear enough or if you need more > details. And, of course, let me know if one of the options solves your > problem. > > Regards, > Didier > > > [1] documentation of rohc_comp_set_wlsb_window_width(): > https://rohc-lib.org/support/documentation/API/rohc-doc-2. > 1.0/group__rohc__comp.html#ga2b68070dddbc038cd55490952a7b3fa4 > > [2] documentation of rohc_comp_set_list_trans_nr(): > https://rohc-lib.org/support/documentation/API/rohc-doc-2. > 1.0/group__rohc__comp.html#ga32608bc06e1b0d1656e463eeb1ccbd7f > > [3] documentation of rohc_decomp_set_features(): > https://rohc-lib.org/support/documentation/API/rohc-doc-2. > 1.0/group__rohc__decomp.html#ga2298148ca8dc277a1c1905f550f21f7b > > > _______________________________________________ > Mailing list: https://launchpad.net/~rohc > Post to : rohc@lists.launchpad.net > Unsubscribe : https://launchpad.net/~rohc > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~rohc Post to : rohc@lists.launchpad.net Unsubscribe : https://launchpad.net/~rohc More help : https://help.launchpad.net/ListHelp