meetecho / janus-gateway

Janus WebRTC Server
https://janus.conf.meetecho.com
GNU General Public License v3.0
8.15k stars 2.47k forks source link

Freeswitch #21

Closed behrad closed 10 years ago

behrad commented 10 years ago

Nice work guys, Can Janus be used in front of Freeswitch to provide SIP-to-WebRTC gateway to operate with web clients?

lminiero commented 10 years ago

Hi Behrad,

thanks for your support, it's really appreciated! Janus has different modules to handle different technologies and features, and it has a SIP plugin that was conceived exactly for that. I only tested it with Kamailio and Asterisk, but it should work with Freeswitch as well. If you try that and find any issue let us know!

By the way, just FYI we have a Google Group for more generic questions on Janus: https://groups.google.com/forum/#!forum/meetecho-janus

behrad commented 10 years ago

Thank you @lminiero for your answer, I actually tried your sip demo with one of our freeswitch servers, singnaling seemed ok in a very simple call, but voice was echoed... (as shouting in between mountains ;) )

Where Can i find that demo's source? Can I use available web sip clients like SipML, Phono, SIPjs, ...?

lminiero commented 10 years ago

The echo may be caused by the local stream not being muted, even though we do that in JavaScript.

All the sources, including the demos HTML and JavaScript, are in the project. The demos are in the HTML folder. If by clients you mean UI, you should be able to do that, as all you need to do is hook the Janus application logic to your web application, and the demo we have for SIP is just an example of how to do that with a Bootstrap web page and jQuery. You cannot use the SIP stacks provided by sipml5, JsSIP, Phono and others, though, as with Janus the entity talking SIP is the server-side plugin, while on the client-side you have a simplified JSON-based interaction that only handles higher level messages (e.g., call, incoming call, decline, hangup, etc.). Right now this is done as with other demos/plugins, which all handle the general purpose interaction with Janus accordingly, but we're preparing some high level APIs customized for each plugin to make this easier. Feedback on this would be great!

behrad commented 10 years ago

Thank you for details @lminiero

So you think we can use it in a production environment (a web based soft-phone to answer helpdesk calls)?

The echo may be caused by the local stream not being muted, even though we do that in JavaScript

How can I resolve this? I'm using chrome 35.0.19

lminiero commented 10 years ago

Sure, you can use it for that. Just look at the JS code in the demos to see how you can register through the SIP plugin, and start/receive calls.

If the echo was caused by the local stream, just don't add it to the web page when the user accepts the permissions. It's just useful when video is involved anyway, e.g., for picture-in-picture, and makes no sense for audio-only calls.