[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] Using oRTP for RTP stream forwarding

From: Vadim Lebedev
Subject: Re: [Linphone-developers] Using oRTP for RTP stream forwarding
Date: Mon, 23 May 2011 11:34:34 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20110424 Thunderbird/3.1.10

Hi Giacomo,

I wonder why do you need oRTP for this at all....
It will be much more efficient to simply read data form one UDP socket then balst it out on onother one. Or if you're under Linux use iptables to set tup forwarding rule so the kerenel will forward RTP packet without user mode intevention


On 20/05/11 18:51, Giacomo Russo wrote:
Hello everybody,

I'm using oRTP to build an application module that can forward RTP
packets from one node to another, and I want to receive and then send a
mblk packet as it reaches the relayer node, without having to know the
payload type of the RTP traffic.

Following some advices that I've found in previous threads, since I must
receive packets as they come to the socket without any timestamp
knowledge, I've disabled the jitter buffer by calling
rtp_session_enable_jitter_buffer(session, FALSE).

Then I clone the received RTP packets through the copymsg function.
These packets are received by calling repeatedly
rtp_session_recvm_with_ts (each time I call this function I put an
integer value incremented by 160 as the timestamp parameter).

Finally I send the cloned packets through rtp_session_sendm_with_ts ,
supplying as timestamp the ts value stored into the received packet (I
want the packet to be sent to have the same timestamp value as the

This method unfortunately results in poor audio/video performance at the
receiver (I noticed a latency of several seconds resulting from this
forwarding method, together with some packet loss), probably because I'm
using a wrong timestamp value in the recvm function and I'm not
receiving some incoming packet.

Is it possible to forward an RTP packet using oRTP without any knowledge
about the payload type, just as a packet is received by the relayer
node? I need to do this at RTP level, instead of UDP level (in which
case it wouldn't be a big deal), because I need to track RTCP stats
between sender-relayer and relayer-receiver.

Secondly there is another subject which isn't very clear to me: if I
have a SENDRECV RTPSession, by calling rtp_session_recvm_with_ts(), do I
happen to receive also RTCP packets? In fact I don't want to forward
also these packets, but RTP traffic only.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]