sipsorcery-org / sipsorcery

A WebRTC, SIP and VoIP library for C# and .NET. Designed for real-time communications apps.
https://sipsorcery-org.github.io/sipsorcery
Other
1.41k stars 429 forks source link

Send call to browser #161

Closed Almeonamy closed 4 years ago

Almeonamy commented 4 years ago

Hello. Can anybody describe how to send audio call to browser in asp.net project?

sipsorcery commented 4 years ago

I'm assuming you mean an audio stream ( if you just want to upload an mp3 file etc there are numerous options).

For a stream your only option is WebRTC. If the source of your audio stream is a file then there is a example application available here. Be aware the example and the main sipsorcery library support required for it are currently under heavy development. It works but if you use it expect some changes over the next little while.

Almeonamy commented 4 years ago

Yes, I want to send audio stream from caller to browser. Can you give example how to receive stream from sip and send it to webrtc?

sipsorcery commented 4 years ago

There are gateway servers that can bridge between SIP and WebRTC (Asterisk, FreeSWITCH, Janus). If you're developing a real application then more than likely looking at those sort of servers is what you should do.

If you're experimenting and are interested if SIP and WebRTC can be bridged with a dotnet application then the answer is yes but the details will make your head spin.

sipwebrtcbridge

And on top of all that ASP.Net does not really make sense for any of the components apart from perhaps serving the web page to the WebRTC Browser.

sipsorcery commented 4 years ago

Here's a demo program which demonstrates the concept of forwarding audio (only one way) from a SIP client to a WebRTC peer SIPToWebRtcBridge.

sip_webrtc_bridge_demo

While it wasn't that hard to get a prototype working it will be a lot different for a production app. As shown in the diagram from the previous post there are two different signalling paths and two different media paths. When components start getting scattered around on different networks it gets very tricky.

The diagram could be said to represent a condensed version of real-time communications for the last two decades. Hence the lot to get your head around.

Almeonamy commented 4 years ago

Thanks. Your example is good. I'll try to investigate it and implement in our web app.