VPN Public IP Address

I’m Setting up a site-to-site VPN using two SOHO Devices. Currently the Branch office (Hub) and Home Office (remote) are both connected to networks with Natted IP addresses. The VPN status reports starting but never seems to get established. My assunption is the the Hub end needs to be assigned a Public IP address or I need a 1:1 NAT at the router in front of the Hub. Is that correct, or should S2S work from natted networks. The documentation is unclear. IMO.