[Top][All Lists]

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

[Linphone-developers] Using oRTP for RTP stream forwarding

From: Giacomo Russo
Subject: [Linphone-developers] Using oRTP for RTP stream forwarding
Date: Fri, 20 May 2011 18:51:58 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

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.

Giacomo Russo

reply via email to

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