Media Flow & Assymetry

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

 



Dear all,

 

I've been trying to inspect the media flow in pjsip, because I am interested in Xoring the RTP payload right before encapsulating it in the RTP frame on the sender's side, and then Xoring it right after decapsulating it from the RTP frame on the receiver's side.

 

I've read the media flow diagram on http://trac.pjsip.org/repos/wiki/media-flow. This clearly show some assymtery due to the existence of the "Jitter buffer" on the receiver's side. This is causing me some confusion regarding where (in which function) should I Xor the RTP payload.

 

Sender to network:

--------------------

The Xor line of code was added in stream.c file, within "put_frame_imp" function, which packages the data from the codec into an RTP and sends it to the transport layer. This resulted in making the voice unintelligible on the receiver's side, which is expected.

 

Network to Receiver:

---------------------

The Xor line of code was added in stream.c file, within "on_rx_rtp" function called by stream transport on receipt of packets in the RTP socket.

This should have restored the original voice, simply because of the Xor properties (N Xor N = 1)

 

However, the audio is still messed up.

 

Is there anything illogical I might have made in what I described above?

Am I applying the encryption/decryption (which is the same Xor function) on the wrong spots of the media flow?

What might be going wrong?

 

Best,

Elias.

 

 

 

 

_________________________________________________________________
Rediscover Hotmail?: Get e-mail storage that grows with you. 
http://windowslive.com/RediscoverHotmail?ocid=TXT_TAGLM_WL_HM_Rediscover_Storage1_042009
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090408/5631f590/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux