Skip to content
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

Janus 1.x compatibility problem #10003

Closed
muchachagrande opened this issue Jul 17, 2023 · 3 comments · Fixed by #11660
Closed

Janus 1.x compatibility problem #10003

muchachagrande opened this issue Jul 17, 2023 · 3 comments · Fixed by #11660
Labels
1. to develop enhancement feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients technical debt

Comments

@muchachagrande
Copy link

How to use GitHub

  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
There is an incompatibility issue using HPB with Janus 1.x (multichannel version).
The signaling server negotiates a Janus data channel, but this channel is not named as expected by Talk.
With Janus 0.x (non-multichannel version) the only possible data channel is named "JanusDataChannel" but with the new 1.x (multichannel version) the channels have not a fixed label anymore.
Talk will keep using only one data channel between any two peers, but these channel is labeled "1" on Janus 1.x.
Because there can be more than one channel between peers, Janus use the channel number as label and these channel will always be labeled "1" on Talk app.

Describe the solution you'd like
As far as I could find out on the Talk code, there seems to be only two places where the data channel label is checked.
On line 232 of CallParticipantModel.js and on line 1591 of webrtc.js:

https://github.com/nextcloud/spreed/blob/6714e9b73d888c16a23049703ca812918825da6b/src/utils/webrtc/models/CallParticipantModel.js#L232C3-L232C3

https://github.com/nextcloud/spreed/blob/6714e9b73d888c16a23049703ca812918825da6b/src/utils/webrtc/webrtc.js#L1591C3-L1591C3

If you add "1" as a possible label of the data channel Talk will recognize the channel as valid and will understand the messages coming from it.

Describe alternatives you've considered
As Meetecho considers Janus 0.x as "legacy", sooner o later they will stop maintaining that branch so I think that this fix will be needed then.

Additional context
meetecho/janus-gateway#2566

@nickvergessen
Copy link
Member

I'm pretty sure we had a ticket already, but doesn't seem like it.

@muchachagrande
Copy link
Author

muchachagrande commented Jul 17, 2023

You may be referring to this ticket #9257
I opened it but after finding out it was an incompatibility with new Janus 1.x versions I closed it because it was not a Talk problem.
Also there is a ticket on the Signaling project strukturag/nextcloud-spreed-signaling#280
It was opened to discuss Janus 1.x compatibility and I reported this findings there too.

@ksainc
Copy link

ksainc commented Dec 18, 2023

Good Morning,

There is also this long standing issue ticket nextcloud/talk-android#2704

One of the comments also offers a solution

Sebastian

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop enhancement feature: WebRTC 🚡 WebRTC connection between browsers and/or mobile clients technical debt
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants