Skip to content

Conversation

@F4FXL
Copy link
Contributor

@F4FXL F4FXL commented Nov 1, 2018

Hi,

This adds a simple UDP Hole punching/NAT Traversal mechanism to enable G2 (Call Sign Routing) for gateways running with non public IP, typically mobile networks.

I have recently read about UDP hole punching / NAT Traversal which is used in kademlia protocol. I decided to go for it and to see if it is possible to implement it to allow G2 to traverse NAT routers.

This turned out to be quite easy yet it has one limitation. There can only be one gateway behind the NAT router.

This works by sending a dummy 1 byte UDP packet on the G2 port every time a gateway is seen on the ircddb network. In case both gateway want to talk together the hole is already punched for DV data to flow through, if gateways don't NAT router will kill the UDP session after TTL is expired.

73
Geoffrey F4FXL - KC3FRA

@johnhays
Copy link
Collaborator

johnhays commented Nov 1, 2018 via email

@F4FXL
Copy link
Contributor Author

F4FXL commented Nov 1, 2018

Sure, but not always feasible if you are on a mobile network which is actually a big NAT where you cannot forward anything

@johnhays
Copy link
Collaborator

johnhays commented Nov 1, 2018 via email

@F4FXL
Copy link
Contributor Author

F4FXL commented Nov 1, 2018

This saves the hassle of setting up a VPN and all related stuff. Lots of people do not use VPN on their hotspot and are talking BS about dstar which is decaying.
One has to admit the ccs server based stuff based call sign routing is not convenient to use nor smart as it requires to re issue the connection and use a stupid I'd instead of callsign.
This provides a turnkey solution right into ircddbgateway and allows even hotspots to talk to each other with no server in between except the ircddb network.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants