rtp sent as udp

Asked by mac

When im trying to stream RTP traffic with VLC, the compressor still selects the profile as UDP. Below is the compressor trace:

[rohc_comp.c:4608 c_get_profile_from_packet()] try to find the best profile for packet with transport protocol 17
[rohc_comp.c:4632 c_get_profile_from_packet()] skip profile 'IP/UDP/RTP' (0x0001) because it does not match packet
[rohc_comp.c:4813 rohc_comp_find_ctxt()] using profile 'IP/UDP' (0x0002)

Why it selects profile 0x0002 instead of 0x0001? Am i missing something ?

Question information

Language:
English Edit question
Status:
Answered
For:
rohc Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Didier Barvaux (didier-barvaux) said :
#1

Hello,

There is no easy way to distinguish IP/UDP/RTP traffic from other IP/UDP/something traffic. For this reason, the ROHC library doesn't detect RTP itself. It provides to the application to provide this own way to detect RTP traffic among UDP traffic. See the documentation of the rohc_comp_set_rtp_detection_cb() function: https://rohc-lib.org/support/documentation/API/rohc-doc-1.7.0/group__rohc__comp.html#gae46d8370a4dbdb9153da8e89899b5596

Are you using one of the tool provided with the ROHC library or the IP/ROHC application? Or maybe your own application?

Regards,
Didier

Revision history for this message
mac (ahsanchisti) said :
#2

Hi Didier,

That was prompt response, Thanks. im using rohctunnel between two nodes. VLC streaming has option to stream RTP/TS video streaming option which i have used. Wireshark detects the packets as UDP packets as well.

Revision history for this message
tophe (totomania1990) said :
#3

Hello,

In wireshark, have you tried this : right click on the packet and "Decode as". Then select the RTP profile.

Moreover, when you use VLC, you have to select the RTP port. Have you paid attention to select the RTP port which is used in the ROHC library?

Revision history for this message
mac (ahsanchisti) said :
#4

Hi Tophe,

When decoding as RTP in wireshark, it doesnt show anything much except for 'version: Old VAT Version'

I have used rohctunnel with UDP port 5000. So im sending the traffic in VLC as RTP with dest Ip address as tunnel address of destination/decompressor (10.0.0.2) and port 5000.

Revision history for this message
mac (ahsanchisti) said :
#5

Do i need to select some specific RTP port ? but the tunnel has 5000 as port mentioned for comp and decompression.

Revision history for this message
Didier Barvaux (didier-barvaux) said :
#6

Hello,

The UDP port that you specify for the rohctunnel tool is used to transmit the compressed ROHC packets over a network towards the endpoint of the tunnel. That port is not related to the UDP port used by the RTP stream that you generate with VLC. Note that they could use the same port number, but there is requirement to do so.

The rohctunnel application is a test tool, therefore it is limited. It doesn't allow the users to perform a custom detection of RTP streams. Its internal algorithm to detect RTP streams uses a static list of UDP destination ports: 1234, 36780, 33238, 5020 or 5002. Any UDP stream that uses one of those ports will be compressed with the IP/UDP/RTP profile (0x0001). For testing purposes, you may either use one of those ports for VLC or patch the code of the rohctunnel app to add port 5000 to the list.

Please note that the rohctunnel is deprecated. It will be removed with the next major release. For testing purposes, give a try to the sniffer or fuzzer tools. For a production-grade tunnelling solution, check the IP/ROHC application.

Regards,
Didier

Can you help with this problem?

Provide an answer of your own, or ask mac for more information if necessary.

To post a message you must log in.