I create (another) manual WebRTC chat signaling via DataChannels (CoffeeScript, sorry JS guys). It works fine on local connections, but not over the Internet for NAT (unfortunately, I could not try NATless yet).
I donβt want to support the TURN server, but Iβm fine if only one partner should be available to the public from the Internet to configure for work. Since I'm the only one who has an available machine, I need me to have a TCP connection. There are no registered TCP candidates in Firefox, so I believe that ICE-TCP is not yet supported.
In Chrome, looking at SDP suggestions and answers, STUN servers correctly identified both peer-to-peer public IP addresses and added each reflective UDP server candidate (see line 10 below), but there is no reflective TCP server candidate , so the connection never will be successful. There is also a TCP candidate (see line 9 below), but it is only a host candidate.
Here is an example of an SDP sentence (my public IP address is 88.88.88.88):
01. v=0
02. o=- 7452583715680269460 2 IN IP4 127.0.0.1
03. s=-
04. t=0 0
05. a=msid-semantic: WMS
06. m=application 50816 DTLS/SCTP 5000
07. c=IN IP4 88.88.88.88
08. a=candidate:864190085 1 udp 2122194687 10.10.10.4 50816 typ host generation 0
09. a=candidate:2097250933 1 tcp 1518214911 10.10.10.4 0 typ host generation 0
10. a=candidate:3500406889 1 udp 1685987071 88.88.88.88 50816 typ srflx raddr 10.10.10.4 rport 50816 generation 0
11. a=ice-ufrag:2066nM5kqwFDQMBT
12. a=ice-pwd:thO7oP0H+H1VBHFNfT8SLFiI
13. a=ice-options:google-ice
14. a=fingerprint:sha-256 72:87:BF:AD:03:9C:09:A7:58:0C:3A:DF:.....:B7
15. a=setup:actpass
16. a=mid:data
17. a=sctpmap:5000 webrtc-datachannel 1024
I am sure that the Internet can reach my machine through NAT, and port forwarding is fine (my machine is the default host for NAT-forward).
- Why is there no candidate for TCP reflection server in my suggestions and answers?
- Does Chrome really have failover access to ICE-TCP for the server?
- , IP-, STUN?