Closed stepic-reply closed 4 years ago
Hi @stepic-reply
please specify 2 things:
- ConnectyCube JS SDK - 2.1.6
- Microsoft Edge - 44.18362.449.0
- Microsoft EdgeHTML - 18.18363
You have old version Microsoft EdgeHTML (2014-2019). Can you upgrade to a new version Microsoft edge Chromium (2019+) and write, does this work for you?
Yes, we can for sure and it works correctly in newer version. Our doubt about this is: if a user don't upgrade EDGE? This is not an automatic update, so: do users have to manually download new version to have the videocall feature working? Is not possibile to make it work in non Chromium EDGE?
@stepic-reply as the crash log says, something is happening inside one of the call callbacks. And as it says 'Error in listener undefnied' it means you use as an anonymous function as a callback
Let's do the following:
1) Could you replace all ConnectyCube calls related callbacks from anonymous to a defined function
e.g.
instead of
ConnectyCube.videochat.onCallListener = function(session, extension) {};
just do
const onCallListenerCallback = function(session, extension) {
};
ConnectyCube.videochat.onCallListener = onCallListenerCallback
so then we will got a callback function name where it crashes
2) Once we got a callback name where it crashes, then we need to debug each line of the function callback and get an exact line where it crashes
Please do it and get back to us with the results
Thanks!
New info from the test:
Errore translation: "ORTC RTCIceGatherer: it's not possible to allocate the transport endpoint. hr=c004e00e"
Thanks @stepic-reply this dose make a lot of sense
The thing that came to my mind is that a prev generation of EDGE did not have WebRTC API and was solely based on ORTC (custom implementation of RTC stack at Microsoft).
And as ConnectyCube is based on WebRTC, it means prev versions of EDGE will not work out of the box.
But there is a thing to try - using adapter.js which can mimic the WebRTC API on top of ORTC https://github.com/webrtc/adapter
Please try to connect it and see what happens, there is a probability it can help solve the issue
We already have it. The logs posted are already taking that into account.
Ok I believe we gathered some more info about a possible reason
Seems an old EDGE does not support TCP based TURN servers, as stated here https://groups.google.com/forum/#!topic/sip_js/UExxgvbzI5c (last comment) and here https://forum.flashphoner.com/threads/after-update-wcs-turn-server-problem.11410/
but the ConnectyCube SDK uses both TCP and UDP
Here is what I propose to do:
1) try to use only STUN servers w/o TURN set, like this:
const CONFIG = {
debug: { mode: 1 },
videochat: {
iceServers: [
{
urls: 'stun:stun.l.google.com:19302'
},
{
urls: 'stun:turn.connectycube.com'
}
]
}
};
ConnectyCube.init(CREDENTIALS, CONFIG);
2) try to use both STUN and TURN servers, but only TURN udp, like this:
const CONFIG = {
debug: { mode: 1 },
videochat: {
iceServers: [
{
urls: 'stun:stun.l.google.com:19302'
},
{
urls: 'stun:turn.connectycube.com'
},
{
urls: 'turn:turn.connectycube.com:5349?transport=udp',
username: 'connectycube',
credential: '4c29501ca9207b7fb9c4b4b6b04faeb1'
}
]
}
};
ConnectyCube.init(CREDENTIALS, CONFIG);
and let us know re results
@stepic-reply I'm going to close this one please raise a new issue if there are still any difficulties thank you
Hello again, We get an error in cubeInternalUtils.js when trying to answer a videocall on EDGE. Can you give some advice?
Thank you
Attached the console logs.