[jitsi-dev] On re-implementing F2F Computing for jitsi - smack and jingle - way to go?


#1

Hi all,
I know we have been silent (and struggling) for a while with our F2F
Computing (http://f2f.ulno.net) support for jitsi (former SIP
Communicator). I made some small strategical mistakes and have to
rethink some of my ideas.
As a community having experience with the smack library and its
jingle-support - how difficult would it be to implement an adapter
which uses in its own non standardized way a jingle stream to use it
for P2P computing (scientific projects, real-time gaming, or overlay
networks)?
How much work from the jitsi community could I re-use when building a
jitsi-plugin? Does the stream negotiation work stable, how well work
ice and nat traversal? Would it be easy to allocate a raw TCP or UDP
between two jabber peers?
How easy/difficult was the jingle implementation for all of you -
where is the best point to start. Dig Jitsi's code or read the draft
standards of the xmpp-extension?

Best and looking forward to reading about some ideas or questions,
Ulno


#2

Hey Uli,

На 06.05.11 12:07, Ulrich Norbisrath написа:

Hi all,
I know we have been silent (and struggling) for a while with our F2F
Computing (http://f2f.ulno.net) support for jitsi (former SIP
Communicator). I made some small strategical mistakes and have to
rethink some of my ideas.
As a community having experience with the smack library and its
jingle-support

The jingle support in smack is actually rather primitive especially when
it comes to NAT traversal. I'd suggest you use the one we implemented in
Jitsi.

- how difficult would it be to implement an adapter
which uses in its own non standardized way a jingle stream to use it
for P2P computing (scientific projects, real-time gaming, or overlay
networks)?

How much work from the jitsi community could I re-use when building a
jitsi-plugin?

It wouldn't be that difficult but you won't be able to build this a s
simple plugin. You'd be negotiating a type of media that is not
currently handled by Jitsi so you'd have to modify and add stuff to our
jabber package.

Does the stream negotiation work stable, how well work
ice and nat traversal?

It is stable and reliable as long as you have a relay that you can fall
back to if we fail to establish a direct connection.

Would it be easy to allocate a raw TCP or UDP
between two jabber peers?

We currently negotiate RTP only and the only difference between this and
raw UDP is that RTP has two components per stream, so I think it would
be relatively easy for you to handle.

Ice4j does not currently support TCP though so that part would be
harder. We'll probably add TCP for the GTalk support so stay tuned.

How easy/difficult was the jingle implementation for all of you -
where is the best point to start. Dig Jitsi's code or read the draft
standards of the xmpp-extension?

Both I guess. The relevant jitsi code is either in jitsi itself
(net.java.sip.communicator.impl.protocol.jabber.extensions.jingle)

or in Ice4j (http://ice4j.org)

Hope this helps,
Emil

···

Best and looking forward to reading about some ideas or questions,
Ulno

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31