Thank you. ^.^. You mentioned "The UOR-2-TS packet type cannot be deduced from the reference IP-ID and the transmitted SN." However, I find that ip-id of the UOR-2-TS packet type with extension3 is deduced from the reference IP-ID and the transmitted SN. here is compression: [../rohc2-1.3.1/src/comp/rohc_comp.c:192 rohc_compress()] size of IP packet = 20 0 bytes [../rohc2-1.3.1/src/comp/rohc_comp.c:218 rohc_compress()] IP protocol = 17 [../rohc2-1.3.1/src/comp/rohc_comp.c:978 c_get_profile_from_packet()] UDP port = 0x139c (5020) [../rohc2-1.3.1/src/comp/rohc_comp.c:227 rohc_compress()] using profile 'RTP / C ompressor' (0x0001) [../rohc2-1.3.1/src/comp/rohc_comp.c:1198 c_find_context()] using context CID = 0 [../rohc2-1.3.1/src/comp/rohc_comp.c:283 rohc_compress()] compress the packet #2 [../rohc2-1.3.1/src/comp/c_generic.c:6529 check_ip_identification()] 1) old_id = 0xfe1c new_id = 0xfe1e [../rohc2-1.3.1/src/comp/c_generic.c:6565 check_ip_identification()] NBO = 1, RN D = 0 [../rohc2-1.3.1/src/common/ts_sc_comp.c:89 c_add_ts()] Timestamp = 3016314151 [../rohc2-1.3.1/src/common/ts_sc_comp.c:109 c_add_ts()] state INIT_STRIDE [../rohc2-1.3.1/src/common/ts_sc_comp.c:114 c_add_ts()] ts_stride = 160 [../rohc2-1.3.1/src/common/ts_sc_comp.c:118 c_add_ts()] ts_offset = 3016314151 m odulo 160 = 71 [../rohc2-1.3.1/src/common/ts_sc_comp.c:121 c_add_ts()] ts_scaled = (3016314151 - 71) / 160 = 18851963 [../rohc2-1.3.1/src/comp/c_generic.c:837 c_generic_encode()] SN = 197 [../rohc2-1.3.1/src/comp/c_generic.c:6325 changed_dynamic_both_hdr()] check for changed fields in the outer IP header [../rohc2-1.3.1/src/comp/c_generic.c:860 c_generic_encode()] send_static = 0, se nd_dynamic = 0 [../rohc2-1.3.1/src/comp/c_generic.c:669 change_state()] change from state 1 to state 3 [../rohc2-1.3.1/src/comp/c_generic.c:868 c_generic_encode()] ip_id = 0xfe1e, con text_sn = 197 [../rohc2-1.3.1/src/comp/c_generic.c:2351 update_variables()] ip_id delta = 0xfd 59 / 64857 [../rohc2-1.3.1/src/comp/c_generic.c:2352 update_variables()] ip_id bits = -1 [../rohc2-1.3.1/src/comp/c_generic.c:2362 update_variables()] sn bits=-1 [../rohc2-1.3.1/src/comp/c_generic.c:2725 decide_packet()] SO state [../rohc2-1.3.1/src/comp/c_generic.c:2564 decide_SO_packet()] nr_ip_bits=-1 nr_s n_bits=-1 nr_of_ip_hdr=1 rnd=0 [../rohc2-1.3.1/src/comp/c_generic.c:4096 code_UO2_packet()] code UOR-2-TS packe t (CID = 0) [../rohc-1.3.1final/src/comp/cid.c:74 code_cid_values()] CID = 0 => no add-CID [../rohc2-1.3.1/src/comp/c_generic.c:4701 code_UOR2_TS_bytes()] code UOR-2-TS pa cket with extension 3 [../rohc2-1.3.1/src/comp/c_generic.c:4714 code_UOR2_TS_bytes()] TS to send = 0xb 3c94d27 [../rohc2-1.3.1/src/comp/c_generic.c:4716 code_UOR2_TS_bytes()] bits of TS = 32 (3 in header, 29 in EXT3) [../rohc2-1.3.1/src/comp/c_generic.c:4732 code_UOR2_TS_bytes()] bits of TS in 1s t byte = 0x5 (mask = 0x7) [../rohc2-1.3.1/src/comp/c_generic.c:4171 code_UO2_packet()] f_byte = 0xc5 [../rohc2-1.3.1/src/comp/c_generic.c:4175 code_UO2_packet()] s_byte = 0x85 [../rohc2-1.3.1/src/comp/c_generic.c:4178 code_UO2_packet()] t_byte = 0xfa [../rohc2-1.3.1/src/comp/c_generic.c:5491 code_EXT3_packet()] R-TS = 1, Tsc = 0, rtp = 1 [../rohc2-1.3.1/src/comp/c_generic.c:5500 code_EXT3_packet()] rnd_count_up: 2 [../rohc2-1.3.1/src/comp/c_generic.c:5518 code_EXT3_packet()] check for changed fields in the inner IP header [../rohc2-1.3.1/src/comp/c_generic.c:5563 code_EXT3_packet()] part 1 = 0xd1 [../rohc2-1.3.1/src/comp/c_generic.c:5589 code_EXT3_packet()] ts_send = 33195959 1 (0x13c94d27) needs 29 bits in EXT3, will be SDVL-coded on 4 bytes [../rohc2-1.3.1/src/comp/c_generic.c:5786 rtp_header_flags_and_fields()] RTP fla gs = 0x82 [../rohc2-1.3.1/src/comp/c_generic.c:5821 rtp_header_flags_and_fields()] ts_stri de 160 (0xa0) is SDVL-encoded on 2 bit(s) [../rohc2-1.3.1/src/comp/c_udp.c:430 udp_code_UO_packet_tail()] UDP checksum = 0 x8f66 [../rohc2-1.3.1/src/comp/rohc_comp.c:358 rohc_compress()] ROHC size = 173 (heade r = 13, payload = 160), output buffer size = 300, operation mode = 2 ok here is decompression: [../rohc2-1.3.1/src/decomp/rohc_decomp.c:452 rohc_decompress()] decompress the p acket #2 [../rohc2-1.3.1/src/decomp/rohc_decomp.c:701 d_decode_feedback_first()] skip 0 b yte(s) of padding [../rohc2-1.3.1/src/decomp/rohc_decomp.c:787 d_decode_header()] skip 0 byte(s) o f padding [../rohc2-1.3.1/src/decomp/rohc_decomp.c:1067 rohc_decomp_decode_cid()] no add-C ID found, CID defaults to 0 [../rohc2-1.3.1/src/decomp/rohc_decomp.c:901 d_decode_header()] ROHC packet is n ot an IR packet [../rohc2-1.3.1/src/decomp/rohc_decomp.c:916 d_decode_header()] context with CID 0 found [../rohc2-1.3.1/src/decomp/rohc_decomp.c:954 d_decode_header()] the second byte in the packet is at offset 1 [../rohc2-1.3.1/src/decomp/d_generic.c:2563 d_generic_decode()] nbo = 1 rnd = 0 [../rohc2-1.3.1/src/decomp/d_generic.c:2652 d_generic_decode()] decode the packe t (type 13) [../rohc2-1.3.1/src/decomp/d_generic.c:3221 decode_uor2()] 5 TS bits = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:3224 decode_uor2()] M flag = 0 [../rohc2-1.3.1/src/decomp/d_generic.c:3227 decode_uor2()] SN bits = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:3260 decode_uor2()] CRC = 0x7a [../rohc2-1.3.1/src/decomp/d_generic.c:3264 decode_uor2()] Extension is present = 1 [../rohc2-1.3.1/src/decomp/d_generic.c:4711 decode_extension3()] decode UOR-2* e xtension 3 [../rohc2-1.3.1/src/decomp/d_generic.c:4754 decode_extension3()] S = 0, R-TS = 1 , Tsc = 0, I = 0, ip = 0, rtp = 1 [../rohc2-1.3.1/src/decomp/d_generic.c:4801 decode_extension3()] SN read = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:4802 decode_extension3()] sn_size = 6 [../rohc2-1.3.1/src/decomp/d_generic.c:4804 decode_extension3()] SN decoded = 19 7 [../rohc2-1.3.1/src/decomp/d_generic.c:4848 decode_extension3()] ts read in head er = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:4877 decode_extension3()] ts read in exte nsion 3 = 0x13c94d27 [../rohc2-1.3.1/src/decomp/d_generic.c:4879 decode_extension3()] ts received = 0xb3c94d27 [../rohc2-1.3.1/src/decomp/d_generic.c:4900 decode_extension3()] TS is not scale d [../rohc2-1.3.1/src/decomp/d_generic.c:4908 decode_extension3()] timestamp decod ed = 3016314151 (0xb3c94d27) [../rohc2-1.3.1/src/decomp/d_generic.c:5086 decode_extension3()] ts_stride decod ed = 160 / 0xa0 [../rohc2-1.3.1/src/common/ts_sc_decomp.c:71 d_add_ts_stride()] ts_stride = 160 [../rohc2-1.3.1/src/decomp/d_generic.c:4272 do_decode_uor2()] outer IP-ID = 0xfe 1d [../rohc2-1.3.1/src/decomp/d_rtp.c:782 rtp_decode_uo_tail_rtp()] UDP checksum = 0x668f [../rohc2-1.3.1/src/decomp/d_generic.c:5660 build_uncompressed_ip4()] IP-ID = 0x fe1d [../rohc2-1.3.1/src/decomp/d_generic.c:5664 build_uncompressed_ip4()] IHL = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:5669 build_uncompressed_ip4()] Total Leng th = 0x00c8 (IHL * 4 + 180) [../rohc2-1.3.1/src/decomp/d_generic.c:5672 build_uncompressed_ip4()] IP checksu m = 0x1348 [../rohc2-1.3.1/src/decomp/d_rtp.c:837 rtp_build_uncompressed_rtp()] UDP checksu m = 0x668f [../rohc2-1.3.1/src/decomp/d_rtp.c:842 rtp_build_uncompressed_rtp()] UDP + RTP l ength = 0x00b4 [../rohc2-1.3.1/src/decomp/d_generic.c:4391 do_decode_uor2()] size = 40 => CRC = 0x45 [ERROR] [../rohc2-1.3.1/src/decomp/d_generic.c:3294 decode_uor2()] CRC failure ( calc = 0x45, real = 0x7a) [../rohc2-1.3.1/src/decomp/d_generic.c:3295 decode_uor2()] uncompressed headers (length = 40): 0x45 0x00 0x00 0xc8 0xfe 0x1d 0x00 0x00 0x40 0x11 0x13 0x48 0xac 0x12 0x08 0x4e 0xac 0x12 0x08 0x4d 0x13 0x9c 0x13 0x9c 0x00 0xb4 0x66 0x8f 0x80 0x00 0x00 0xc5 0xb3 0xc9 0x4d 0x27 0xd2 0x01 0x3e 0x4d [ERROR] [../rohc2-1.3.1/src/decomp/d_generic.c:5831 act_on_crc_failure()] try to repair the CRC [ERROR] [../rohc2-1.3.1/src/decomp/d_generic.c:5848 act_on_crc_failure()] repair with the assumption: SN LSB wraparound [../rohc2-1.3.1/src/decomp/d_generic.c:5850 act_on_crc_failure()] inter_arrival_ time = 0 and current interval is = 1143421875 [../rohc2-1.3.1/src/decomp/d_generic.c:5851 act_on_crc_failure()] add 64 to SN [../rohc2-1.3.1/src/decomp/d_generic.c:5892 act_on_crc_failure()] try a new deco mpression with another SN [../rohc2-1.3.1/src/decomp/d_generic.c:4711 decode_extension3()] decode UOR-2* e xtension 3 [../rohc2-1.3.1/src/decomp/d_generic.c:4754 decode_extension3()] S = 0, R-TS = 1 , Tsc = 0, I = 0, ip = 0, rtp = 1 [../rohc2-1.3.1/src/decomp/d_generic.c:4801 decode_extension3()] SN read = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:4802 decode_extension3()] sn_size = 6 [../rohc2-1.3.1/src/decomp/d_generic.c:4804 decode_extension3()] SN decoded = 26 1 [../rohc2-1.3.1/src/decomp/d_generic.c:4848 decode_extension3()] ts read in head er = 0x0 [../rohc2-1.3.1/src/decomp/d_generic.c:4877 decode_extension3()] ts read in exte nsion 3 = 0x13c94d27 [../rohc2-1.3.1/src/decomp/d_generic.c:4879 decode_extension3()] ts received = 0x13c94d27 [../rohc2-1.3.1/src/decomp/d_generic.c:4900 decode_extension3()] TS is not scale d [../rohc2-1.3.1/src/decomp/d_generic.c:4908 decode_extension3()] timestamp decod ed = 331959591 (0x13c94d27) [../rohc2-1.3.1/src/decomp/d_generic.c:5086 decode_extension3()] ts_stride decod ed = 160 / 0xa0 [../rohc2-1.3.1/src/common/ts_sc_decomp.c:71 d_add_ts_stride()] ts_stride = 160 [../rohc2-1.3.1/src/decomp/d_generic.c:4272 do_decode_uor2()] outer IP-ID = 0xfe 5d [../rohc2-1.3.1/src/decomp/d_rtp.c:782 rtp_decode_uo_tail_rtp()] UDP checksum = 0x668f [../rohc2-1.3.1/src/decomp/d_generic.c:5660 build_uncompressed_ip4()] IP-ID = 0x fe5d [../rohc2-1.3.1/src/decomp/d_generic.c:5664 build_uncompressed_ip4()] IHL = 0x5 [../rohc2-1.3.1/src/decomp/d_generic.c:5669 build_uncompressed_ip4()] Total Leng th = 0x00c8 (IHL * 4 + 180) [../rohc2-1.3.1/src/decomp/d_generic.c:5672 build_uncompressed_ip4()] IP checksu m = 0x1308 [../rohc2-1.3.1/src/decomp/d_rtp.c:837 rtp_build_uncompressed_rtp()] UDP checksu m = 0x668f [../rohc2-1.3.1/src/decomp/d_rtp.c:842 rtp_build_uncompressed_rtp()] UDP + RTP l ength = 0x00b4 [../rohc2-1.3.1/src/decomp/d_generic.c:4391 do_decode_uor2()] size = 40 => CRC = 0x30 [ERROR] [../rohc2-1.3.1/src/decomp/d_generic.c:5921 act_on_crc_failure()] CRC fa ilure also on the second attempt (calc = 30, real = 7a) [../rohc2-1.3.1/src/decomp/rohc_decomp.c:473 rohc_decompress()] state in decompr essor = 3 [../rohc2-1.3.1/src/decomp/rohc_decomp.c:563 rohc_decompress()] num_recv_fc = 1 failed Decompression failed, cannot compare the packets! failed we can see that ip-id is decoded wrong. And it uses "*id = d_ip_id_decode(&g_context->ip_id1, 0, 0, *sn);" in "do_decode_uor2()" "case PACKET_EXT_3" in d_generic.c.