Cloudkibo / CloudKibo

CloudKibo
0 stars 0 forks source link

Participant not able to hear/see other participants after Reconnecting in Conference #440

Open zarmeen92 opened 8 years ago

zarmeen92 commented 8 years ago

In today's meeting(10th April 2016),I,sir and sumaira were able to hear each other and I was also able to see the screen shared by Sumaira. In the mid of meeting,I got disconnected from meeting(that might be due to my low bandwidth).When I rejoined the meeting,I and sumaira weren't able to hear each other,also sumaira wasn't able to see my chat message,and I wasn't able to see sumaira's screen. Sumaira was able to hear sir.And I was also able to hear sir.

After reconnecting: Sumaira can hear sir but sir can't hear sumaira( @sumairasaeed please confirm:were u on mute?) I can hear sir and sir can hear me. Sumaira and I weren't able to see each other meeting was going on @ /conference/jekram

sumairasaeed commented 8 years ago

@zarmeen92 : no i was not on mute

jekram commented 8 years ago

I could see Sumaira on the chat but not on the conference.

sojharo commented 8 years ago

Salaam,

The issue completely based on TURN server.

I tested this with Sumaira again. She said she was in meeting first and was able to hear everyone. She was in IBA. After this, she got some internet disconnection and she had to put some other proxy address in settings. After this she could not hear us.

We went on to test the situation on testing tool. When I tested the TURN server from my computer using testing tool, it gave me OK. But when Sumaira tested the TURN server from her computer (behind the proxy) it gave her "Not Reachable".

Then I tested from my device (which also used to give TURN server issues). It was working fine for that case too. Looks like the TURN server is not able to break proxy of IBA.

I then went on to look into the logs of TURN server. They were being created for each day which gave the surety that TURN server is live. I found that for some requests it was showing "success" and for some of the requests it was showing unauthorized.

screenshot 2016-04-11 17 06 23

On unauthorized one, it was not showing the username. Need to do more tests on it as it was working first on IBA internet for sumaira and then after internet disconnection it stopped working for her.

jekram commented 8 years ago

Thanks for the update. I make sense now.

jekram commented 8 years ago

Which Turn Servers we currently have?

sojharo commented 8 years ago

We have two TURN servers. DigitalOcean and Azure.

sojharo commented 8 years ago

As we all were on same IBA network, so we could not do test. I would activate the expired package in my USB Internet today and we would do test.

I would also look into TURN server today urgently as per your email.

jekram commented 8 years ago

@sojharo

Have we re-introduced Turn Server from the service?

Also read up on this and I would signup on a temporary basis and let me know what you need.

https://www.twilio.com/docs/api/stun-turn/faq

Does Temesys also have a Turn Server Service and if so send me the link to buy their service.

We cannot afford not to have a working service on Monday / Tuesday.

sojharo commented 8 years ago

I have uncommented the old turn servers (xirsys and numb) in cloudkibo configuration. I am looking into the link and TemaSys and then would let you know here.

sojharo commented 8 years ago

I could not find anything about turn server on temasys website but in following interview they do say that they provide turn service too when clients ask them.

https://bloggeek.me/temasys-webrtc-interview/

In today's meeting, I would first come from behind the IBA proxy to check if numb and xirsys are working (I have just uncommented them)

jekram commented 8 years ago

Look for Twillo here:

https://docs.google.com/spreadsheets/d/1YbJGyGUoVSevsfDrlUZTe_KQNPSkskHP7MkyG24o3cE/edit#gid=0

https://www.twilio.com/docs/api/stun-turn

sojharo commented 8 years ago

I have worked on this issue and have added the twilio turn servers too. Also, the other turn servers by numb and xirsys are included. In total they are now 14 servers in the list. Two of them are ours.

screenshot 2016-04-14 15 09 55

sojharo commented 8 years ago

With our tests, our connections are now being established behind proxy too. Insha Allah, after your 3 meetings, I would test all above servers one by one too.

For now, in this task, I would look more in logs and understand the issue with our own turn server. Until your meetings, I won't push TURN server related code in CloudKibo production.

jekram commented 8 years ago

@sojharo

Great. Agreed. As long as our service is working. We can fix with our own TURN Server later.

jekram commented 8 years ago

Do we know in which order TuRn Server gets selected? Should be remove our Turn Server and reintroduce it after Tuesday Meeting?

sojharo commented 8 years ago

I have read on this today. On device, we can use some tool like wireshark to know if our webrtc call is being relayed or not.

On Web, we can use chrome webrtc internals (tools) and firefox webrtc tools to know if call is being relayed or not.

Also we can check our candidates during the signalling process. If any candidate contains string relay = true then it means call is being relayed.

I looked into this today as Interns work will also include to put this factor into debugging tool.

Furthermore, we can't know which TURN server is being used as long as we own the TURN server and read its logs. It means we can only read logs of our own TURN server and see which IP addresses connected to it.

The TURN server services that we use can't be checked unless we somehow read their logs.

Best thing is we can read logs of our own TURN servers and check are they being used or not and if used then for which IP addresses.

http://stackoverflow.com/questions/32062050/how-can-i-easily-test-if-a-webrtc-request-from-my-pc-will-use-a-turn-server-or-c

http://stackoverflow.com/questions/18177093/how-to-check-if-webrtc-uses-a-relay-server