A system for providing Wi-Fi roaming comprising: a roaming Wi-Fi device, wherein the Wi-Fi device comprises a MAC address and is configured with an SSID of a home wireless access point, AP, and a security configuration of the home wireless AP; a roaming datastore, wherein the roaming datastore comprises SSIDs and security configurations of one or more registered home wireless APs (220, 222, 224, 226) associated with the MAC addresses of one or more Wi-Fi devices; an AP roaming module, wherein the AP roaming module is a component of a foreign gateway (222, 224, 410) and comprises a processor, wherein the processor is configured with software executable instructions to cause the AP roaming module to perform operations comprising: instantiating a virtual access point, VAP; receiving a probe request frame from the roaming Wi-Fi device, wherein the probe request comprises the MAC address of the roaming Wi-Fi device and the SSID of the home wireless AP; accessing the roaming datastore to determine whether the SSID of the home wireless AP is stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device; determining that the roaming Wi-Fi device access is authorized to associate with the VAP when the SSID of the home wireless AP is stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device; and determining that the roaming Wi-Fi device access is not authorized to associate with the VAP when the SSID of the home wireless AP is not stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device. a roaming Wi-Fi device, wherein the Wi-Fi device comprises a MAC address and is configured with an SSID of a home wireless access point, AP, and a security configuration of the home wireless AP; a roaming datastore, wherein the roaming datastore comprises SSIDs and security configurations of one or more registered home wireless APs (220, 222, 224, 226) associated with the MAC addresses of one or more Wi-Fi devices; an AP roaming module, wherein the AP roaming module is a component of a foreign gateway (222, 224, 410) and comprises a processor, wherein the processor is configured with software executable instructions to cause the AP roaming module to perform operations comprising: instantiating a virtual access point, VAP; receiving a probe request frame from the roaming Wi-Fi device, wherein the probe request comprises the MAC address of the roaming Wi-Fi device and the SSID of the home wireless AP; accessing the roaming datastore to determine whether the SSID of the home wireless AP is stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device; determining that the roaming Wi-Fi device access is authorized to associate with the VAP when the SSID of the home wireless AP is stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device; and determining that the roaming Wi-Fi device access is not authorized to associate with the VAP when the SSID of the home wireless AP is not stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device. instantiating a virtual access point, VAP; receiving a probe request frame from the roaming Wi-Fi device, wherein the probe request comprises the MAC address of the roaming Wi-Fi device and the SSID of the home wireless AP; accessing the roaming datastore to determine whether the SSID of the home wireless AP is stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device; determining that the roaming Wi-Fi device access is authorized to associate with the VAP when the SSID of the home wireless AP is stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device; and determining that the roaming Wi-Fi device access is not authorized to associate with the VAP when the SSID of the home wireless AP is not stored in the roaming datastore in association with the MAC address of the roaming Wi-Fi device.