using node.public_ip instead of IP-translated version, so that external callers can resolve the uaserver public ip