Replies: 1 comment
-
This is the problem: both peers are on the same host and you filtered out host candidates. It means you are trying to connect the two peers via their external addresses on the gateway whereas they are both on the local network. This is called NAT hairpinning, and the feature is often not supported by ISP routers. Yours does not seem to support it, otherwise punch-check would write "Hairpinning is supported" like on the example. You need to either stop filtering out candidates, set up the agents on two different networks, or use a router which supports hairpinning. |
Beta Was this translation helpful? Give feedback.
-
Even though I use full cone nat (at least according to the available tests). I cannot create p2p connectiom using libjuice.
https://tomchen.github.io/symmetric-nat-test/
https://github.com/delthas/punch-check
I would like to understand what is the cause of the problem based on what I have read when no symetric nat is in the way there should be no problem using UDP punch hole.
I run a libjuice test application that tries to connect one agent to another using only a STUN server.
I configure both agents to forward only candidates containing
srflx
. However, after sending a STUN message to the udp punched hole on public IP address, the packet never reaches the other agent (messages from the google stun server arrives because Binding Request to stun is successfull).Here is the communication from wireshark (but like I said basically Agent1 never receives StunBinding message from Agent2 nad vice versa). I have tried 4 different ISP providers but same result (my own ISP, mobile phone ISP, my company ISP and one of my collegues ISP)
The only thing I can think of is that the ISP NAT checks the Source Address at the IPV4 layer. Maybe some kind of ip spoofing on ipv4 layer could help?
Thank you very much for your help.
Beta Was this translation helpful? Give feedback.
All reactions