[jdev] about GSOC idea on psi( Jingle RTP Encryption)

6 views
Skip to first unread message

yu xue

unread,
Mar 31, 2010, 3:49:15 AM3/31/10
to JD...@jabber.org
Hello, everyone

I have looked up the GSOC project idea list, and have interest in several project ideas about security. The one that I am most interested in is about Psi---Jingle RTP Encryption.
 
My name is Yu Xue, and I am a graduate student whose major is information security and cryptography. When in university, my major is computer science and technology. I am familiar with C,C++,Python and C#. The project that I prefer to is security-related.
 
Currently my understanding about this project is just to implement in SRTP in Psi, either in avcall module or in a lower module according to the relationship that SPTP needs with the RTP session.Could some developers please give me some detailed or instructions on how to better understand and prepare this project or suggestions on writing proposal.Thank you!
 
ps:Gajim's Jingle File Transfer interests me too.
 
Thank you!
 
Regards 
   Yu Xue  
 
  

bear

unread,
Mar 31, 2010, 10:08:43 AM3/31/10
to Jabber/XMPP software development list
On Wed, Mar 31, 2010 at 03:49, yu xue <xuey...@gmail.com> wrote:
> Hello, everyone

Hello!

> I have looked up the GSOC project idea list, and have interest in several
> project ideas about security. The one that I am most interested in is about
> Psi---Jingle RTP Encryption.
>
> My name is Yu Xue, and I am a graduate student whose major is information
> security and cryptography. When in university, my major is computer science
> and technology. I am familiar with C,C++,Python and C#. The project that I
> prefer to is security-related.

I am glad to hear you are interested in those areas - we have plenty
of projects that you could definitely help with :)

>
> Currently my understanding about this project is just to implement in SRTP
> in Psi, either in avcall module or in a lower module according to the
> relationship that SPTP needs with the RTP session.Could some developers
> please give me some detailed or instructions on how to better understand
> and prepare this project or suggestions on writing proposal.Thank you!
>
> ps:Gajim's Jingle File Transfer interests me too.

If the Psi or Gajim devs do not answer you today I will poke them :)

Have you gotten onto the jdev MUC ? That is also a great place to ask
in realtime questions about Psi and Gajim.


--
Bear

be...@xmpp.org (email)
bea...@gmail.com (xmpp, email)
be...@code-bear.com (xmpp, email)
http://code-bear.com/bearlog (weblog)

PGP Fingerprint = 9996 719F 973D B11B E111 D770 9331 E822 40B3 CD29
_______________________________________________
JDev mailing list
Forum: http://www.jabberforum.org/forumdisplay.php?f=20
Info: http://mail.jabber.org/mailman/listinfo/jdev
Unsubscribe: JDev-uns...@jabber.org
_______________________________________________

Yann Leboulanger

unread,
Mar 31, 2010, 1:23:57 PM3/31/10
to jd...@jabber.org

Hi,

Here s Gajim's point of view: It seems a student is interested in
implementing Jingle FileTransfer in Gajim, and he also seems very
interested in implementing encrypted Jingle session. So that would be
excellent to be able to test between Gajim and Psi!

Now We don't currently know what applications will really be posted,
which one will be accepted, but that could be a nice thing to develop
that on both clients.

--
Yann

Kevin Smith

unread,
Mar 31, 2010, 1:39:38 PM3/31/10
to Jabber/XMPP software development list
On Wed, Mar 31, 2010 at 6:23 PM, Yann Leboulanger <ast...@lagaule.org> wrote:
> Here s Gajim's point of view: It seems a student is interested in
> implementing Jingle FileTransfer in Gajim, and he also seems very
> interested in implementing encrypted Jingle session. So that would be
> excellent to be able to test between Gajim and Psi!
> Now We don't currently know what applications will really be posted,
> which one will be accepted, but that could be a nice thing to develop
> that on both clients.

I think it would be a great thing to have matching projects for
different clients, doing interop testing along the way.

/K

Peter Saint-Andre

unread,
Mar 31, 2010, 2:27:15 PM3/31/10
to jd...@jabber.org
On 3/31/10 11:39 AM, Kevin Smith wrote:
> On Wed, Mar 31, 2010 at 6:23 PM, Yann Leboulanger <ast...@lagaule.org> wrote:
>> Here s Gajim's point of view: It seems a student is interested in
>> implementing Jingle FileTransfer in Gajim, and he also seems very
>> interested in implementing encrypted Jingle session. So that would be
>> excellent to be able to test between Gajim and Psi!
>> Now We don't currently know what applications will really be posted,
>> which one will be accepted, but that could be a nice thing to develop
>> that on both clients.
>
> I think it would be a great thing to have matching projects for
> different clients, doing interop testing along the way.

Excellent idea! These teams could also test with Pidgin and Empathy.

Peter

--
Peter Saint-Andre
https://stpeter.im/

Justin Karneges

unread,
Mar 31, 2010, 2:56:05 PM3/31/10
to Jabber/XMPP software development list
Hi,

On Wednesday 31 March 2010 00:49:15 yu xue wrote:
> Currently my understanding about this project is just to implement in SRTP
> in Psi, either in avcall module or in a lower module according to the
> relationship that SPTP needs with the RTP session.Could some developers
> please give me some detailed or instructions on how to better understand
> and prepare this project or suggestions on writing proposal.Thank you!

Psi's Jingle voice calling support spans three modules:

psimedia: Small wrapper to the GStreamer library. It handles multimedia
device access and device selection, codecs, and RTP processing. It does not
directly access the network. It is the application's responsibility to
obtain RTP packets from the network and feed them to psimedia. Likewise, RTP
packets produced by psimedia must be sent over the network by the
application.

iris: This library provides XMPP and ICE functionality.

avcall: This is part of Psi itself and contains two subparts:

jinglertp: Implements XEP-0166 (Jingle), XEP-0167 (Jingle RTP), and
XEP-0176 (Jingle ICE-UDP) all at once. It uses the XMPP and ICE facilities
of iris. Long term we'll want to break this code up so that we can support
more Jingle things than just voice calls, like file transfer. But, for now,
this all-in-one blob is what we have, and it offers a simple API: connect to
a JID, and you are given an abstract packet pipe that you can read/write RTP
packets with.

main avcall code: bridges the jinglertp and psimedia parts together and
offers a user interface.

Also of note is the qca library, which we use for our security needs and
contains most of the common cryptographic primitives. Probably SRTP can be
implemented using qca functions.

Where SRTP fits into this stack depends on what kind of knowledge it needs
about the RTP session state. So you must first read the SRTP specification
and fully understand its requirements. Further, make sure you know how SRTP
may be used with sessions involving more than 2 participants (group
multimedia conferencing), since that's an area we'd like to explore someday.

If it turns out that SRTP can process arbitrary RTP packets, then probably it
can be kept out of the psimedia layer. SRTP encryption could be applied to
packets after they come out of psimedia, and incoming packets from the
network could be SRTP decrypted before being fed into psimedia.

Let me know if you have further questions or need more explanation.

-Justin

Reply all
Reply to author
Forward
0 new messages