WebRTC not working behind a VPN - webrtc

The video chat works with most users, but I couldn't get a video chat to work with one of the user of my website.
She couldn't see me, and I couldn't see her.
I don't have any details how it failed like if it was at the SDP negotiation, or if she failed a connection to our TURN server (coturn), but hopefully someone has made it work for VPN users and has an answer for this issue.

ICE failures can happen, no matter what. The ice connection state will go to failed and simplewebrtc will give you an iceFailed event here. You'll need to handle that in your UI somehow.

Related

Issues encountered on a fresh installation of RocketChat (1524) on Ubuntu

I have just downloaded and installed latest Rocket.chat using SNAP tool on Ubuntu (16.04 LTS). Overall, I had a smooth experience of installing and getting started with Rocket.chat. However, I did find a few serious issues.
I try to get auto SSL running by following the instructions at: https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps/autossl/. But after configuring the Caddy file, the Caddy service failed to start, with the message:
Activating privacy features… 2018/04/24 17:58:09 open /root/snap/rocketchat-server/1254/.caddy/acme/acme-v02.api.letsencrypt.org/sites//.crt: no such file or directory
The second issue is with start video chat using webRTC. When I clicked on it, nothing happened. I am using Chrome browser and tried to start video chat on several devices. All the Chrome browsers have passed the webRTC tests. I don’t know why video screen is not shown.
I signed in with open.rocket.chat and compared the differences between my installation and the official site. When my browser points to open.rocket.chat site, the videochat does not work either. It does show the video window, but only displays only myself, not the remote member. Note to experiment, I signed up with 2 accounts to simulate 2 members chatting.
Also I downloaded the Android Rocketchat client. However, I couldn’t find the start video chat option. Is it true that video chat is unavailable yet on the Android client?
To summarise, we have the issue of setting up auto SSL with Caddy, and using video chat (webRTC). It could be that I missed a few basic configurations on my environment. Other functions like text messaging works fine.
We are deciding whether we should use Slack/CometChat for our instant messaging solution. It seems RocketChat has all the features we want, but it is a pity we couldn’t get it to work completely.
Appreciate someone can guide me in this.
I did some investigations on these issues, and have made some progress. I'd like to share my findings, which I hope could be of some help in future to newbies of RocketChat like me.
However, I still have a few issues unresolved, and hope someone could help.
Caddy service failed to start
Using self-signed certificate and defining the domain name in /etc/hosts, I can get Caddy service to start and https to work. My guess is that the domain name I used, even it is registered with a DNS provider, has no CNAME record, and is not mapped to any IP address. Letsencrypt, which is used by Caddy to do on-demand SSL, therefore is unable to create a SSL certificate for my domain name. It would be nice if the RocketChat documentation could make it clearer.
open.rocket.chat WebRTC-based video chat not working
after I used another Windows machine, the video chat is working. Presumably my previous computer does not have the latest Windows update. But I am glad with open.rocket.chat site, every feature I tested is working.
On my self-hosted Rocket-chat (i.e. a Linux server at home), however, the video chat is still not working. When I clicked on the "start video chat" button, no video screen is launched on my browser window. On the remote browser (which was used for simulating the conversation partner), there is a notification "xxx invites you to video chat, do you accept?". I clicked on "Yes". After that, nothing happens on the remote browser. The only issue I can think of is that I didn't use https to connect to the self-hosted Rocket-chat. Because I am using several computers in my home wireless network. I only use http://192.168.0.3:3000 to point to the chat server. I am wondering if secure connection is required in order to use video chat?
On the Android Rocket Chat app, I couldn't find any links to start a video chat, nor can I receive any video chat invite. Is it by design or a defect?
Hope someone can enlighten me on these issues.
I made further investigation as to why webRTC does not work on my self-hosted Rocket-chat instance. It is related to secured connection. There is a related discussion in the RocketChat forum:
https://github.com/RocketChat/Rocket.Chat/issues/1813
Basically, the connection to the Rocket.chat server must be secure for WebRtc to work. After I configure Caddy to support HTTPS listening on Rocket.Chat (currently using self-signed certificate), WebRTC works. It would really help users if the documentation can make this clear.
Now the remaining issue for me is to figure out if Android Rocket Chat app supports Web RTC.

Could not able to listen audio notification via WebRTC

I have setup WebRTC using verto module of freeswitch and we have done everything successfully just the one thing we are experiencing since long time and could not get any solution.
I want to play a account balance when ever any user try to make call and if there is a no balance in account need to play "Not enough credit in account".
Now the problem is Freeswitch actually playing those notification which we can able to listen properly if we make call using soft-phone but i could not able to listen it via WebRTC web phone.
any one can help me to fix this issue?

PubNub WebRTC demo working in same network but not over internet (even after established connection)

I was going through this PubNub WebRTC demo. https://kevingleason.me/SimpleRTC/minivid.html
Which works fine within same network (same browser or different devices across same network). But I tried using it over internet, I am able to connect a call but can not see anything but a black screen. This is the source for same tutorial
https://github.com/pubnub/SimpleRTC
I have gone through many such application, such as AndroidRTC
and I face same problem (black screen after connection over internet). I am unable to figure out why, any help is appreciated.
You need some sort of signaling mechanism (PubNub, Firebase, or your own software [nodejs seems the preferred choice these days]) to get the webRTC API communicating P2P on your local network. To get webRTC to work from one network to another you need a STUN server/service. Google provides free stun servers (stun:stun.l.google.com:19302). To get webRTC to traverse strict firewall settings and complicated networks you need a TURN server/service like xirsys.com.
This article covers it all ...
http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/

cant receive push notifications only at home wifi

that's my problem. when i am at my home connected with wifi, my wifi bars stay white, and my htc inspire 4g (jellytime) nor my wife's samsung s3 receive any notifications.
if we switch back to data connection, all our hangouts, whatsapps etc notifications
begin to arrive.
i know this is some type of problem with my wifi config or maybe ISP problem, but how can i test the conectivity to GCM servers from any device and debug the real problem? this could be DNS, or TCP connection timeout, etc...
thanks in advance.
ps: i already tried switching the router to 802.11g only, and fix one wireless channel, but that doesn't seems to work.
The problem seems not to be with the GCM server or your third party server or even your code if you are able to see the push notifications on your device when you are connected to 3G/4G. The issue is with the settings, Please check you system settings or other applications settings, as "google settings".
Also make sure that you are implementing your WiFi class/code with the WakefulBroadcastReceiver. (As you might have done with the C2dm Service).
And also your maifest file has "android.permission.INTERNET" & "android.permission.ACCESS_WIFI_STATE" permissions
Hope that would help!!

Anyone have an idea about testing wireless connection on wireless access point

I have a wireless access point where they have 50+ wireless client and the connection just blow up in sometime. I think it related to overload on hardware.
So is there anyway to simulate or something like that to test wireless access point in heavy connection from many client, So I can manage to see what configuration is best for it.
I don't know about any tool but you can restrict number of clients accessing your router from router web page. You can do some hit and trial and see how many clients can access without router getting blown up.
You can use TMnetSim to simulate delay and package loss.