← Back to team overview

rohc team mailing list archive

SIP calls throught ethernet rohc tunnel

 

Hi Didier,

Like I said in my previous e-mails on last weeks, I set up a network with 2
openflow switches and a ethernet rohc tunnel between them. Until now,
everything was working fine with icmp (ping) tests. The icmp packets are
compressed and decompressed through the ROHC tunnel.
My topology is like the one bellow:

host 1 <----------> Switch 1 <---------- ROHC tunnel ----------> Swich 2
<---------> host 2

Yesterday, I tried to make a SIP call from host 1 to host 2 and
unfortunately discovered that the RTP packets don´t pass through the
Ethernet ROHC tunnel.

I tried with another topology - using my PCs like routers (without
openflow) - and the RTP packets didn´t pass again.

I put the ROHC tunnel´s log bellow. Do you know what I might be doing
wrong? This is the last test that I need implement after these weeks of
work and the most important one...:-)

Thanks in advance for any help.

P.S.: I´m using ROHC ethernet tunnel, 1.6.1 version.
My RTP packets uses UDP ports: 4010 (source port) and 4008 (destination
port).

Regards,
Edvar

[rohc_traces_internal.c:68 rohc_dump_packet()] uncompressed data, max 100
bytes (100 bytes):

[rohc_traces_internal.c:77 rohc_dump_packet()] 45 00 00 6e 6f 22 00 00 7f
11 48 a1 c0 aa 01 64

[rohc_traces_internal.c:77 rohc_dump_packet()] c0 ab 01 02 0f aa 0f a8 00
5a e5 9c 80 75 07 29

[rohc_traces_internal.c:77 rohc_dump_packet()] 00 00 02 80 28 33 78 74 37
2f 0f f6 45 08 00 68

[rohc_traces_internal.c:77 rohc_dump_packet()] e8 e8 e8 e8 e8 e8 e8 80 7d
b4 74 74 74 74 74 41

[rohc_traces_internal.c:77 rohc_dump_packet()] 8a 44 29 ec 90 83 ba f3 52
5a 88 29 88 ef 9e 5e

[rohc_traces_internal.c:77 rohc_dump_packet()] fa bf 73 7e bd 1b 3b 32 ab
ab ab ab ab 1a ba ba

[rohc_traces_internal.c:97 rohc_dump_packet()] bc 2e 21 0e

[rohc_comp.c:608 rohc_compress2()] size of uncompressed packet = 110 bytes

[rohc_comp.c:639 rohc_compress2()] try to find the best profile for packet
with transport protocol 17

[c_rtp.c:385 c_rtp_check_profile()] destination port in UDP packet = 0x0fa8
(4008)

[rohc_comp.c:2706 c_get_profile_from_packet()] skip profile 'RTP /
Compressor' (0x0001) because it does not match packet

[rohc_comp.c:648 rohc_compress2()] using profile 'UDP / Compressor' (0x0002)

[rohc_comp.c:2886 c_find_context()] using context CID = 2

[rohc_comp.c:3059 rohc_feedback_get()] no feedback is available

[rohc_comp.c:3134 rohc_feedback_get()] add 0 byte(s) of feedback data

[rohc_comp.c:690 rohc_compress2()] compress the packet #692

[c_generic.c:5836 detect_ip_id_behaviour()] 1) old_id = 0x6f26 new_id =
0x6f22

[c_generic.c:5861 detect_ip_id_behaviour()] 2) old_id = 0x266f new_id =
0x226f

[c_generic.c:5873 detect_ip_id_behaviour()] IP-ID is random (RND detected)

[c_generic.c:5883 detect_ip_id_behaviour()] NBO = 1, RND = 1, SID = 0

[c_generic.c:926 c_generic_encode()] SN = 59928

[c_generic.c:5503 changed_dynamic_both_hdr()] check for changed fields in
the outer IP header

[c_generic.c:5621 changed_dynamic_one_hdr()] RND changed (0x0 -> 0x1) in
the current packet

[c_generic.c:950 c_generic_encode()] send_static = 0, send_dynamic = 1

[c_generic.c:1288 periodic_down_transition()] CID 2: timeouts for periodic
refreshes: FO = 2 / 700, IR = 683 / 1700

[c_generic.c:961 c_generic_encode()] ip_id = 0x6f22, context_sn = 59928

[c_generic.c:5960 encode_uncomp_fields()] compressor is in state 2

[c_generic.c:5965 encode_uncomp_fields()] new SN = 59928 / 0xea18

[c_generic.c:5988 encode_uncomp_fields()] 2 bits are required to encode new
SN

[c_generic.c:6008 encode_uncomp_fields()] new outer IP-ID delta = 0x850a /
34058 (NBO = 1, RND = 1, SID = 0)

[c_generic.c:6040 encode_uncomp_fields()] 16 bits are required to encode
new outer IP-ID delta

[c_generic.c:1474 decide_packet()] FO state

[c_ip.c:322 c_ip_decide_FO_packet()] choose packet UOR-2 because 2 <= 13 SN
bits must be transmitted

[c_generic.c:1512 decide_packet()] packet 'UOR-2 (non-RTP)' chosen

[c_generic.c:2927 code_UO2_packet()] code UOR-2 packet (CID = 2)

[c_generic.c:6154 decide_extension()] force EXT-3 because at least one
static or dynamic field changed

[c_generic.c:3011 code_UO2_packet()] extension 'EXT-3' chosen

[c_generic.c:3170 code_UOR2_bytes()] code UOR-2 packet with extension 3

[c_generic.c:3023 code_UO2_packet()] f_byte = 0xd8

[c_generic.c:3030 code_UO2_packet()] t_byte = 0xfe

[c_generic.c:4637 code_EXT3_packet()] S = 0, Mode = 1

[c_generic.c:4644 code_EXT3_packet()] rnd_count_up = 0

[c_generic.c:4681 code_EXT3_packet()] check for changed fields in the inner
IP header

[c_generic.c:5621 changed_dynamic_one_hdr()] RND changed (0x0 -> 0x1) in
the current packet

[c_generic.c:4797 code_EXT3_packet()] I = 0, ip = 1, I2 = 0, ip2 = 0

[c_generic.c:4799 code_EXT3_packet()] part 1 = 0xca

[c_generic.c:5280 header_flags()] IPv4 header flags: TOS = 0, TTL = 0, DF =
0, PR = 0, IPX = 0, NBO = 1, RND = 1, ip2/I2 = 0

[c_generic.c:2463 code_uo_remainder()] outer IP-ID = 0x226f

[c_udp.c:650 udp_code_uo_remainder()] UDP checksum = 0x9ce5

[rohc_comp.c:827 rohc_compress2()] copy full 82-byte payload

[rohc_comp.c:2572 rohc_feedback_remove_locked()] 0 locked feedbacks removed

[rohc_comp.c:848 rohc_compress2()] ROHC size = 91 bytes (feedbacks = 0,
header = 9, payload = 82), output buffer size = 5120

sendto failed: No such device or address (6)

failed to write data on tunnel

Follow ups