-
Notifications
You must be signed in to change notification settings - Fork 746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouple signaling and WebRTC stuff #427
Comments
Decouple signaling and WebRTC stuff versatica#427 rpid parser add async modifier for local and remote description add option to use reinvite instead update for session timer
what you think about my solution? |
Is this to support interop with legacy sip servers? If not, can someone point me to an open issue that contains such? Thanks! |
Define "interop with legacy SIP server". A browser cannot have a "call" with plain RTP audio. |
I’m referring to how Janus gateway (when using sip plugin) works with legacy sip servers. So from browser to Janus gateway it uses normal webrtc (ICE/DTLS), and from Janus gateway to sip server just regular SDP. |
JsSIP is just a client side SIP UA library. Said that, once we get this feature done, how the application sends and receives SDP is up to it. |
Ah right on. I think this belongs in oversip. I'll delete my comments :) |
This feature looks really interesting - Is it still on your roadmap? |
Yes, but no ETA for now. |
We'd like to implement this ourselves with the goal of ultimately raising a PR - Do you have any pointers on the best place to start? Obviously we'd prefer to implement in a way that you guys would find acceptable. |
I'm afraid we have not yet thought on how to do this so cannot provide any pointers. Coming to my mind (but must re-check in the future):
|
Agreed with @ibc, we haven't thought of it yet. IMHO a good starting point would be, following what @ibc commented:
|
This is a really great feature. Can I use jsSIP with Mediasoup to send an RTP stream to a SIP server (for example to mixing audio)? |
No you can't. Maybe this effort would be a starting point that would let you to it, but you would have to do a module that communicates with mediasoup, deals with SDP etc. In short no, this will not allow you do that. |
Yes, not out of the box - Maybe the wrong place, but we have developed a SFU based on Mediasoup and wanted to use jsSIP to send the RTP streams to another SIP server. We wanted to use the SDP data from Medasoup and then pass it to jsSIP. |
mediasoup does not generate SDPs. However there is an ongoing mediasoup-sdp-bridge project. Let's please not use this issue to discuss this. |
I have been working on this ticket. I removed the "RTCPeerConnection" and the "...getUserMedia" from the RTCSession file.
I can use the 'tryit-jssip' application with the modifications. However, the 'RTCPeerConnection' is also used outside (as 'peerconnection') - maybe 'beaking changes'. @jmillan I can't find the events? How to handle 'newtrack, close' in the RTCSession? |
In the
Could you please detail the question having that in mind? |
Exactly, I have replaced the 'connection'. Now the 'Interface / MediaConnection' is used everywhere. I have created a feature branch: https://github.com/Haardt/JsSIP/tree/feature/427-Decouple_signaling_and_WebRTC_stuff |
Sure! Let us few days and we'll take a look. |
I've made some comments @Haardt, it's starting to look nice! I've more comments to do but I prefer that you handle these comments and then we'll go for a second round. |
few points:
|
Hi Haardt, It's very difficult to comment on a branch if there is no PR. Could you make a PR from your new branch to a JsSIP master branch in your origin? This way it'll be much more agile making comments and handling feedback. |
@jmillan i have create a draft pull request from my branch to my master. |
ping - some progress in the branch. |
We will comment on it. |
Another review done. |
I have implemented your comments. I have also implemented two test projects:
I think I can publish both projects at the end of next week. |
I commented here: https://github.com/Haardt/JsSIP/pull/1/files#r586408690
We need to review it further. Please make sure you have implemented all the comments I made. |
Thanks @Haardt, We'll have another review as soon as possible. |
Another review done. Please:
It's looking good @Haardt 👍 |
Hi,
|
Sounds legit. Let us comment on next review. |
New review done. |
Hi @Haardt, Is there anything you may need from our side? |
@jmillan Hi, |
Hi! What would this mean for apps currently using JsSIP? Does it mean that JsSIP will no longer handle the WebRTC stuff, or that it still can but it's also possible to decouple if you only want to use the signalling part of JsSIP? |
It means that JsSIP will no longer manage any |
I can see the use case described above where you'd want to decouple things, but for all current users of the library, wouldn't that mean quite a large refactor then? From the PR in https://github.com/Haardt/JsSIP/pull/1/files#r586408690 it seems like there will now be a |
There will be a default https://jssip.net/documentation/3.7.x/api/ua_configuration_parameters/ |
@jmillan Sorry...more delay. I can work next week on it. |
Sure @Haardt 👍, let us know if you need some help. |
Some small progress pushed. |
I added an integration test to the 'test-mediaConnect.js' file. |
Thanks, Seems that the the PR does not exist anymore, which makes it very difficult to review & comment. Once you feel the branch is ready, after having reviewed my previous comments, can you please create a PR against master branch? You should probably merge master into your branch to make it mergeable. |
I see the PR is in your account, I'm going to comment there. |
Nice work!. I've commented in the PR. I've created a delimiter (------- 29th April delimiter ------) and made a review after that. Please, make sure you handle all the comments. Hopefully the next will be the last review. Congrats for the nice work! |
Hi, |
Hi Andreas, We will revisit this with time. We are having some internal thoughts that may affect this. Let us please some time to come back to this. Thanks a lot. |
Any new thoughts here? I agree with the philosophy that the SIP signaling and media should be entirely independent. A more blunt way of putting it: Not every Just enthusiastically piling on in support of this work! |
👋🏾 just checking in to see if this work is still active? |
A perfect rationale is given in the Janus NoSIP plugin discussion.
This is: make JsSIP WebRTC agnostic and let the app provide JsSIP with externally produced SDP blobs.
The text was updated successfully, but these errors were encountered: