← Back to team overview

rohc team mailing list archive

Re: [Question #229419]: What protocol number should be for RTP header compression

 

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

    Status: Needs information => Open

Wei Wang gave more information on the question:
Hi Didier,

Below is the log of the last(30th) packet compression process.

compress the fake IP packet, j = 29
[ip.c:437 ip_get_totlen()] IP header v4 total len = 56, 14336
[rohc_comp.c:381 rohc_compress()] size of uncompressed packet = 56 bytes
[rohc_comp.c:409 rohc_compress()] try to find the best profile for packet with transport protocol 17
[ip.c:405 ip_is_fragment()] ip_is_fragment(): is_fragment = 0, 0, 0
[rohc_comp.c:1563 c_get_profile_from_packet()] UDP port = 0x506 (1286)
[rohc_comp.c:416 rohc_compress()] using profile 'RTP / Compressor' (0x0001)
[rohc_comp.c:1795 c_find_context()] using context CID = 0
[rohc_comp.c:1963 rohc_feedback_get()] add 0 byte(s) of feedback data
[rohc_comp.c:481 rohc_compress()] compress the packet #30
[c_rtp.c:1225 rtp_changed_rtp_dynamic()] find changes in RTP dynamic fields
[c_rtp.c:1309 rtp_changed_rtp_dynamic()] 0 RTP dynamic fields changed
[c_generic.c:5370 detect_ip_id_behaviour()] 1) old_id = 0x0000 new_id = 0x0000
[c_generic.c:5383 detect_ip_id_behaviour()] 2) old_id = 0x0000 new_id = 0x0000
[c_generic.c:5392 detect_ip_id_behaviour()] RND detected
[c_generic.c:5400 detect_ip_id_behaviour()] NBO = 1, RND = 1
[c_generic.c:788 c_generic_encode()] SN = 47454
[c_generic.c:5069 changed_dynamic_both_hdr()] check for changed fields in the outer IP header
[c_generic.c:809 c_generic_encode()] send_static = 0, send_dynamic = 0
[c_generic.c:820 c_generic_encode()] ip_id = 0x0000, context_sn = 47454
[c_generic.c:5477 encode_uncomp_fields()] compressor is in state 1
[c_generic.c:5481 encode_uncomp_fields()] new SN = 47454 / 0xb95e
[c_generic.c:5489 encode_uncomp_fields()] IR state: force using 16 bits to encode new SN
[c_generic.c:5504 encode_uncomp_fields()] 16 bits are required to encode new SN
[c_generic.c:5528 encode_uncomp_fields()] new outer IP-ID delta = 0x46a2 / 18082 (NBO = 1, RND = 1)
[c_generic.c:5536 encode_uncomp_fields()] IR state: force using 16 bits to encode new outer IP-ID delta
[c_generic.c:5552 encode_uncomp_fields()] 16 bits are required to encode new outer IP-ID delta
[ts_sc_comp.c:98 c_add_ts()] Timestamp = 1266875612
[ts_sc_comp.c:110 c_add_ts()] TS delta = 200
[ts_sc_comp.c:169 c_add_ts()] state SEND_SCALED
[ts_sc_comp.c:193 c_add_ts()] ts_stride calculated = 200
[ts_sc_comp.c:194 c_add_ts()] previous ts_stride = 200
[ts_sc_comp.c:235 c_add_ts()] ts_stride = 200
[ts_sc_comp.c:239 c_add_ts()] ts_offset = 1266875612 modulo 200 = 12
[ts_sc_comp.c:243 c_add_ts()] ts_scaled = (1266875612 - 12) / 200 = 6334378
[ts_sc_comp.c:250 c_add_ts()] TS can be deducted from SN (old TS_SCALED = 6334377, new TS_SCALED = 6334378, old SN = 47453, new SN = 47454)
[c_rtp.c:946 rtp_encode_uncomp_fields()] ts_scaled = 6334378 on 0 bits
[c_rtp.c:950 rtp_encode_uncomp_fields()] 0 bits are required to encode new TS
[c_generic.c:1220 decide_packet()] IR state
[c_generic.c:1263 decide_packet()] packet 'IR' chosen
[c_generic.c:1456 code_IR_packet()] code IR packet (CID = 0)
[cid.c:76 code_cid_values()] CID = 0 => no add-CID
[c_generic.c:1475 code_IR_packet()] type of packet + D flag = 0xfd
[c_generic.c:1479 code_IR_packet()] profile ID = 0x01
[c_generic.c:1485 code_IR_packet()] CRC = 0x00 for CRC calculation
[c_generic.c:1781 code_ipv4_static_part()] version = 0x40
[c_generic.c:1786 code_ipv4_static_part()] protocol = 0x11
[c_generic.c:1795 code_ipv4_static_part()] src addr = 01020304 (1.2.3.4)
[c_generic.c:1802 code_ipv4_static_part()] dst addr = 05060708 (5.6.7.8)
[c_udp.c:521 udp_code_static_udp_part()] UDP source port = 0x201
[c_udp.c:526 udp_code_static_udp_part()] UDP dest port = 0x605
[c_rtp.c:1003 rtp_code_static_rtp_part()] RTP SSRC = 0x2be56850
[c_generic.c:2002 code_ipv4_dynamic_part()] TOS = 0x00, TTL = 0x01, IP-ID = 0x0000, df_rnd_nbo = 0x60 (DF = 0, RND = 1, NBO = 1)
[c_rtp.c:1071 rtp_code_dynamic_rtp_part()] UDP checksum = 0xefbe
[c_rtp.c:1088 rtp_code_dynamic_rtp_part()] part 2 = 0x80
[c_rtp.c:1096 rtp_code_dynamic_rtp_part()] part 3 = 0x01
[c_rtp.c:1102 rtp_code_dynamic_rtp_part()] part 4 = 0xb9 0x5e
[c_rtp.c:1108 rtp_code_dynamic_rtp_part()] part 5 = 0x4b 0x82 0xfc 0xdc
[c_rtp.c:1114 rtp_code_dynamic_rtp_part()] Generic CSRC list not supported yet, put a 0x00 byte
[c_generic.c:1565 code_IR_packet()] CRC (header length = 38, crc = 0x52)
[ip.c:437 ip_get_totlen()] IP header v4 total len = 56, 14336
[rohc_comp.c:564 rohc_compress()] ROHC size = 54 (feedback = 0, header = 38, payload = 16), output buffer size = 2048

ROHC packet resulting from the ROHC compression:
0xfd 0x01 0x52 0x40 0x11 0x01 0x02 0x03
0x04 0x05 0x06 0x07 0x08 0x01 0x02 0x05
0x06 0x50 0x68 0xe5 0x2b 0x00 0x01 0x00
0x00 0x60 0x00 0xbe 0xef 0x80 0x01 0xb9
0x5e 0x4b 0x82 0xfc 0xdc 0x00 0x0c 0x3e
0x8e 0x4a 0x69 0x52 0x1b 0xfa 0x02 0xe0
0xb0 0x37 0x9f 0xd8 0x74 0x10
[rohc_decomp.c:420 rohc_decompress()] decompress the 54-byte packet #30
[rohc_decomp.c:1636 d_decode_feedback_first()] skip 0 byte(s) of padding
[rohc_decomp.c:1568 rohc_decomp_decode_cid()] no add-CID found, CID defaults to 0
[rohc_decomp.c:651 d_decode_header()] ROHC packet is an IR packet
[rohc_decomp.c:664 d_decode_header()] profile 0x0001 found in IR packet
[rohc_decomp.c:672 d_decode_header()] context with CID 0 already exists and matches profile 0x0001 found in IR packet
[d_generic.c:3501 d_generic_decode()] decode packet as 'IR'
[d_generic.c:2886 decode_ir()] CRC-8 found in packet = 0x52
[d_generic.c:3185 parse_static_part_ipv4()] IP Version = 4
[d_generic.c:3192 parse_static_part_ipv4()] Protocol = 0x11
[d_generic.c:3200 parse_static_part_ipv4()] Source Address = 01020304 (1.2.3.4)
[d_generic.c:3208 parse_static_part_ipv4()] Destination Address = 05060708 (5.6.7.8)
[d_udp.c:223 udp_parse_static_udp()] UDP source port = 0x0102
[d_udp.c:229 udp_parse_static_udp()] UDP destination port = 0x0506
[d_rtp.c:513 rtp_parse_static_rtp()] SSRC = 0x2be56850
[d_generic.c:3349 parse_dynamic_part_ipv4()] TOS = 0x00
[d_generic.c:3356 parse_dynamic_part_ipv4()] TTL = 0x01
[d_generic.c:3363 parse_dynamic_part_ipv4()] IP-ID = 0x0000
[d_generic.c:3379 parse_dynamic_part_ipv4()] DF = 0, RND = 1, NBO = 1
[d_rtp.c:558 rtp_parse_dynamic_rtp()] UDP checksum = 0xbeef
[d_rtp.c:577 rtp_parse_dynamic_rtp()] version = 0x2
[d_rtp.c:580 rtp_parse_dynamic_rtp()] padding = 0x0
[d_rtp.c:583 rtp_parse_dynamic_rtp()] CSRC Count = 0x0
[d_rtp.c:585 rtp_parse_dynamic_rtp()] RX = 0x0
[d_rtp.c:593 rtp_parse_dynamic_rtp()] M = 0x0
[d_rtp.c:596 rtp_parse_dynamic_rtp()] payload type = 0x1
[d_rtp.c:607 rtp_parse_dynamic_rtp()] SN = 47454 (0xb95e)
[d_rtp.c:616 rtp_parse_dynamic_rtp()] timestamp = 0x4b82fcdc
[d_generic.c:3013 decode_ir()] ROHC payload (length = 16 bytes) starts at offset 38
[d_generic.c:7332 check_ir_crc()] CRC-8 on compressed ROHC header = 0x52
[d_generic.c:7567 decode_values_from_bits()] decoded SN = 47454 / 0xb95e (nr bits = 16, bits = 47454 / 0xb95e)
[d_generic.c:7653 decode_ip_values_from_bits()] decoded outer TOS/TC = 0
[d_generic.c:7666 decode_ip_values_from_bits()] decoded outer TTL/HL = 1
[d_generic.c:7679 decode_ip_values_from_bits()] decoded outer protocol/NH = 17
[d_generic.c:7695 decode_ip_values_from_bits()] decoded outer NBO = 1
[d_generic.c:7708 decode_ip_values_from_bits()] decoded outer RND = 1
[d_generic.c:7733 decode_ip_values_from_bits()] decoded outer IP-ID = 0x0000 (nr bits = 16, bits = 0x0)
[d_generic.c:7746 decode_ip_values_from_bits()] decoded outer DF = 0
[d_generic.c:7762 decode_ip_values_from_bits()] decoded outer source address = 01020304 (1.2.3.4)
[d_generic.c:7778 decode_ip_values_from_bits()] decoded outer source address = 05060708 (5.6.7.8)
[d_rtp.c:811 rtp_decode_values_from_bits()] decoded UDP source port = 0x0102
[d_rtp.c:826 rtp_decode_values_from_bits()] decoded UDP destination port = 0x0506
[d_rtp.c:858 rtp_decode_values_from_bits()] decoded UDP checksum = 0xbeef (checksum present = 1)
[d_rtp.c:872 rtp_decode_values_from_bits()] decoded RTP version = 2
[d_rtp.c:886 rtp_decode_values_from_bits()] decoded R-P flag = 0
[d_rtp.c:900 rtp_decode_values_from_bits()] decoded R-X flag = 0
[d_rtp.c:914 rtp_decode_values_from_bits()] decoded CC = 0
[d_rtp.c:930 rtp_decode_values_from_bits()] decoded RTP M flag = 0
[d_rtp.c:944 rtp_decode_values_from_bits()] decoded R-PT = 1
[d_rtp.c:947 rtp_decode_values_from_bits()] 32-bit TS delta = 0x4b82fcdc
[d_rtp.c:952 rtp_decode_values_from_bits()] TS is not scaled
[ts_sc_decomp.c:296 ts_decode_unscaled()] decode unscaled TS bits 1266875612 with context TS_STRIDE 200
[ts_sc_decomp.c:305 ts_decode_unscaled()] TS_OFFSET = 1266875612 modulo 200 = 12
[ts_sc_decomp.c:310 ts_decode_unscaled()] TS_SCALED = (1266875612 - 12) / 200 = 6334378
[d_rtp.c:993 rtp_decode_values_from_bits()] decoded timestamp = 1266875612 / 0x4b82fcdc (nr bits = 32, bits = 1266875612 / 0x4b82fcdc)
[d_rtp.c:1007 rtp_decode_values_from_bits()] decoded SSRC = 736454736
[d_generic.c:7086 build_uncomp_hdrs()] length of transport header = 20 bytes
[d_generic.c:7202 build_uncomp_ipv4()] Total Length = 0x0038 (IHL * 4 + 36)
[d_generic.c:7205 build_uncomp_ipv4()] IP checksum = 0xa9a2
[d_rtp.c:1045 rtp_build_uncomp_rtp()] UDP + RTP length = 0x0024
[ts_sc_decomp.c:154 ts_update_context()] old SN 47453 replaced by new SN 47454
[ts_sc_decomp.c:155 ts_update_context()] old TS 1266875412 replaced by new TS 1266875612
[ts_sc_decomp.c:162 ts_update_context()] old TS_SCALED 6334377 replaced by new TS_SCALED 6334378
[ts_sc_decomp.c:177 ts_update_context()] old TS_STRIDE 200 kept unchanged
[ts_sc_decomp.c:187 ts_update_context()] old TS_OFFSET 12 kept unchanged
[d_generic.c:3589 d_generic_decode()] uncompressed packet length = 56 bytes
[rohc_decomp.c:706 d_decode_header()] 56 bytes of payload copied to uncompressed packet
[rohc_decomp.c:434 rohc_decompress()] state in decompressor = 3
[rohc_decomp.c:506 rohc_decompress()] feedback curr 64
[rohc_decomp.c:517 rohc_decompress()] feedback curr 64

ROHC packet resulting from the ROHC decompression:
0x45 0x00 0x00 0x38 0x00 0x00 0x00 0x00
0x01 0x11 0xa9 0xa2 0x01 0x02 0x03 0x04
0x05 0x06 0x07 0x08 0x01 0x02 0x05 0x06
0x00 0x24 0xbe 0xef 0x80 0x01 0xb9 0x5e
0x4b 0x82 0xfc 0xdc 0x50 0x68 0xe5 0x2b
0x0c 0x3e 0x8e 0x4a 0x69 0x52 0x1b 0xfa
0x02 0xe0 0xb0 0x37 0x9f 0xd8 0x74 0x10

-- 
You received this question notification because you are a member of ROHC
Team, which is an answer contact for rohc.