How do you connect two computers to different NATs, have some APIs that handle "UDP Hole Punching"?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By PerduGames
:warning: Old Version Published before Godot 3 was released.

I am creating a module using Enet, pretty simple, P2P connections, I want a multiplayer game, and I have the NAT problem, is there any API that deals with this? As in the multiplayer of googleplayservice, I believe this is what it does, because it actually only connects all users, ie pee-to-peer, would I have to use it? Or another server that already does this and returns the information I need to start UDP connection with Enet? I once saw tetris app with a multiplayer using gtalk to do that job but did not have the code so I could understand how it was done.