57194 opened 2 months ago
|
|
I have tried with "Use public STUN servers" checked and unchecked. No luck. Same with "Ignore VoIP support check". |
|
Thank you for reporting this issue. It looks like it doesn't like the URL for STUN server that is created from the details provided by XMPP server to which you are connecting. Do you use your own XMPP server? or some public XMPP server? I'm asking as I having details that are provided from XMPP server about TURN/STUN server would be helpful to find the cause of this issue. |
|
My XMPP server is a Snikket server hosted by jmp.chat. I couldn't say exactly when calls stopped working, but I know for a fact calls used to work on my BeagleIM on my jmp.chat Snikket server until as recently as last month. Edit: Actually, I think calls were working as recently as October 5th, based on my chatlogs. — I've asked their main group chat if there's any info on TURN/STUN setup. |
|
FWIW:
|
|
Actually...calls "work" (just can't close it without Command+Q and can't see any info) on But they don't work at all on |
|
There wasn't even all that many changes, but I don't know what might've broken it: https://github.com/tigase/beagle-im/compare/5.3.6-b179...5.3.6-b180 |
|
None of the changes listed here points to anything that could cause VoIP issues or would change STUN/TURN uri generation. As for the issue with version 5.3.6-b179, we were aware of those issues and worked on resolving those in b180. I think that during fixing those issues we upgraded WebRTC version to M122 that is now used in Beagle - that could explain why it started to reject STUN/TURN URI in b180 (previously older version was used). I'll try to look into this issue soon and hopefully we will be able to fix it, but I cannot say for sure as for us b180 works just fine (even with TURN/STUN server configuration provided by XMPP server). |
|
Some additional details from public chatlogs:
This is most likely it:
Unfortunately, I don't know a thing about Swift (I can barely muddle through Python and Go at extreme mental anguish), so I wouldn't be able to submit any patches, but I'm more than happy to test any changes. :-) |
|
I've narrowed it down to the exact line in WebRTC that is now reporting an error, that has following comment around this change:
Most likely getting rid of Beagle IM and Siskin IM are adding |
|
Seems like M121 is the final one to allow I understand if there's no interest, but I'm more than happy to test a build with M121. I think jmp.chat staff will be doing some testing later as well:
|
|
Making a build with M121 is not an option. Simple build of WebRTC takes a lot of time and there are no ready to use builds for iOS or macOS. Changing As for a possible workaround in Beagle IM, I could make a change to "ignore" |
|
I'm open to persuasion, but I think that it is still useful to inform XMPP clients about the available transports for STUN, right? There is some information about why ?transport is not relevant for STUN here: https://marc.petit-huguenin.org/2012/09/on-the-design-of-the-stun-and-turn-uri-formats/ My understanding from skimming this is that which STUN transport to use is determined by need, but TURN is a bit more flexible - which is why it's possible to signal preferred transport in TURN URIs. However, for the sake of interoperability, it seems like it's still useful for an XMPP client to know if the XMPP server does (or does not) support a particular STUN transport. If WebRTC always uses UDP, then the client can check this and filter out entries that aren't compatible. |
|
If I'm correct (I'm pretty sure I'm as I worked with STUN and even wrote STUN component for Tigase a while back), STUN is UDP-only (as this is a shortcut from Simple Traversal of UDP (User Datagram Protocol) through NATs (Network Address Translators)). Due to that there is no need to inform STUN about usage of UDP as a transport as only UDP can be used. Due to that XMPP client do not need to know what transport should be used and sending transport as UDP by the XMPP server is overkill and unnecessary. On the other hand, WebRTC could accept UDP as a transport without creating compatibility issues. Resorting to adding workaround in the XMPP clients is not the best solution in my opinion, while transport field sent as part of the XEP-0215 is configurable on the server side, and setting it to |
|
I don't think it's common (and perhaps not at all in webrtc) but I believe STUN can indeed be used over TCP (and/or TCP+TLS):
|
Type |
Bug
|
Priority |
Normal
|
Assignee | |
Version |
5.3.6-b180
|
Sprints |
n/a
|
Customer |
n/a
|
I cannot make or receive calls. If I try to place a call it fails and if I click "Answer" the call dialogue window dies immediately and the call is not answered.
Only logs I can find are
webrtc_log_0
:I am running the BeagleIM from: https://github.com/tigase/beagle-im/releases/tag/5.3.6-b180