Can Janus be a WebRTC <-> SIP bridge?

1,869 views
Skip to first unread message

Fabian Bernhard

unread,
May 2, 2014, 1:36:12 AM5/2/14
to meetech...@googlegroups.com
Dear list,

I have read about Janus in a newsletter and am trying to figure out what exactly Janus is and if I can use it for our product. I am not sure if this is the right place for such questions. Please accept my apology if it isn't.

My company offers a WebRTC audio and video conferencing web application. We set up a mesh network for each conference room. Each participant has an active session with every other participant within a conference room.

We would like to allow SIP clients to join such a conference room without having to provide a whole SIP infrastructure.

We are looking for a WebRTC to SIP bridge. This bridge would need to take care of setting up and mixing the audio and video streams for the SIP client and the transcoding of these media streams to the appropriate codecs. 

From a WebRTC point of view this bridge would look just like an other WebRTC conference participant, from a SIP point of view it would just be a SIP identity that a conference participant calls to join the conference. 

Can Janus be used for such a WebRTC <-> SIP bridge? If yes, how?

Thanks and regards,

Fabian

Lorenzo Miniero

unread,
May 2, 2014, 3:29:25 AM5/2/14
to meetech...@googlegroups.com
Hi Fabian,

thanks for your interest in Janus, this is the right place for such questions! We opened the group for generic discussions on Janus, so your doubts definitely fit in here.

If you're unfamiliar with what Janus is, it is a general purpose WebRTC server, meaning that, at least in concept, it is supposed to be able to do several different things. The way this is achieved is by means of a core handling the WebRTC stack (ICE, DTLS, SRTP) and a modular architecture based on plugins to provide the application logic. So the idea is that your client attaches via WebRTC to the gateway, and what happens to the media depends on what plugin you choose to attach the client to.

We developed several sample plugins for the purpose, a demo of which you can find on the official website (http://janus.conf.meetecho.com). Among those, we also implemented a SIP plugin that is conceived to do exactly what you're looking for, that is allow a WebRTC client to start or receive SIP calls. At the moment it's a bit immature, as it's mostly a proof of concept implementation that can be used with a PBX like Asterisk, but we're already working on making it less "constrained" and as such usable with any generic SIP proxy.

That said, so far we explicitly ruled out transcoding so far, as we were mostly interested in bridging technologies and transcoding is a heavy task and can still be passed to an external component (see for instance a WebRTC-RTMP gateway where you only take care of the protocol, and leave the transcoding to FFmpeg). Nevertheless, considering the open source and modular nature of Janus, nothing prevents transcoding to be added to an existing plugin, or forking/creating a new plugin to add whatever's missing.

Hope that helped!
Lorenzo

Fabian Bernhard

unread,
May 3, 2014, 12:47:25 AM5/3/14
to meetech...@googlegroups.com
Hi Lorenzo,

Thank you very much for your answer, it helps a lot!

I have tried your demo with a Kamailio SIP proxy, so I think that’s why it didn’t work. I have not taken traces and can’t tell why the registration didn’t work. We have to compile Janus and then see how we can use it.

All the Best,

Fabian

Reply all
Reply to author
Forward
0 new messages