WEBrtc in libjingle

577 views
Skip to first unread message

Aleksandar Spasojevic

unread,
May 21, 2012, 6:25:06 PM5/21/12
to discuss-webrtc
Hi,
I need some help on how to integrate WEBrtc voice engine in libjingle.
I am trying to run call example in libjingle examples but i need voice
engine.
Any help would be appreciated.

Luke Weber

unread,
May 24, 2012, 1:06:26 PM5/24/12
to discuss...@googlegroups.com
I just posted a new thread(https://groups.google.com/forum/#!topic/discuss-webrtc/NVwzdySPwAs) about my (mis)adventures trying this out. I've got a libjingle peerconnection "audio only" library compiled. From this I think I could potentially make an example by modifying the audio only android example that's already in webrtc and is compiling based on the instructions from here(https://groups.google.com/forum/#!searchin/discuss-webrtc/compile$20webrtc$20android/discuss-webrtc/1wVoL87y1E8/QN_c3aCeyEcJ). The problem I've seen if you were really thinking of usnig libjingle, not talk/app/webrtc at least looking at the code is that using libjingle might be tricky as the voice and video engines seem to have a fair amount of rtp logic baked in, and so does libjingle's client logic, leaving me wondering how best to achieve the mix of the two as webrtc bases it's network on some of libjingle's network libraries, but doesn't use jingle protocol per se.

Anyways if you go with peerconnection library, you could potentially talk over roap/xmpp(I haven't build the client yet) as I think they're doing in the peerconnection example for webrtc, which seems like they're doing this so it would be easier to talk with traditional sip infrastructure in the future, or just to standardize on difficult to read SDP packets. Whatever the case, this is what I'm trying.

Post on my thread if this sounds interesting and I'll spend some time tomorrow to get something up on github.
 
Luke

Justin Uberti

unread,
May 24, 2012, 1:47:25 PM5/24/12
to discuss...@googlegroups.com
The media and signaling planes are separate in libjingle, so you can use the webrtc engine (or another engine) with the libjingle media transport, but not XMPP signaling.

Luke Weber

unread,
May 24, 2012, 2:45:15 PM5/24/12
to discuss...@googlegroups.com
That's good to know. I guess it wasn't clear to me how they were separated as I don't know my way around the code yet and there's quite a lot. Anyways I started with the libjingle_peerconnection and have it built. That will in fact give me an xmpp client+roap right?

On Thursday, May 24, 2012 7:47:25 PM UTC+2, Justin Uberti wrote:
The media and signaling planes are separate in libjingle, so you can use the webrtc engine (or another engine) with the libjingle media transport, but not XMPP signaling.

Justin Uberti

unread,
May 24, 2012, 3:11:13 PM5/24/12
to discuss...@googlegroups.com
I don't understand why you would use XMPP + ROAP. If you are going to use XMPP, you will want to use Jingle for call signaling.

Caragea Silviu

unread,
May 24, 2012, 3:52:57 PM5/24/12
to discuss...@googlegroups.com
Jingle signaling works very nice for 1 -1 call with any XMPP server .
There is any reference on how libjingle signaling works in conference
? From my tests seems that google servers have a custom implementation
in order to help the client to make the link between all peers. By
default the xmpp servers doesn't work in this way.

Any help is appreciated.

Luke Weber

unread,
May 24, 2012, 3:53:23 PM5/24/12
to discuss...@googlegroups.com
I really wouldn't want to necessarily if I had a better option. Of
course you're right that roap is socket to socket communication, so
it's not really relevant to package that over xmpp as you stated. I
was just basing it on the limited scan of code I had done, which
seemed like webrtc had put a lot of effort into jsep and roap as
special webrtc clients, and maybe a discussion on rtcweb that
mentioned xml wrapping roap or something.

After working with the code today I've also seen a fair number of
other parts like the webrtcmediaengine(I think that was it) that wraps
the webrtc voice engine, and I think can be used in libjingle as the
backend. I've compiled the lib_peerconnection for audio today, which
was a bit of a struggle for me.

Tomorrow I'm going to start looking at the client code to try to make
a call app on top of this, ideally using STUN from libjingle and TURN
as well with the webrtc as a backend.

Do you have any starting point that you'd recommend beyond trying to
adapt the call example?

Thanks again for the clarification.
Reply all
Reply to author
Forward
0 new messages