A system comprising: a repository for storing device configurations; and a device configuration server in communication with the repository, wherein the device configuration server comprises a processor configured to: receive a first configuration information of a first network device (GW1, D1) from the first network device; transmit (250, 268) the first configuration information to the repository for storage; receive, from an application server, a configuration request to automatically configure a second network device (GW2, D2) according to the first configuration information wherein the second network device is originally configured with a second configuration information; request and receive the second configuration information from the second network device; transmit the second configuration information to the repository for storage; retrieve the first configuration information from the repository; transmit the first configuration information to the second network device; automatically configure an operation of the second network device with the first configuration information; and upon receiving, from the application server, a restore request during the operation of the second network device: retrieve the second configuration information from the repository; remove the first configuration information from the second network device; and automatically restore the configuration of the operation of the second network device with the second configuration information. a repository for storing device configurations; and a device configuration server in communication with the repository, wherein the device configuration server comprises a processor configured to: receive a first configuration information of a first network device (GW1, D1) from the first network device; transmit (250, 268) the first configuration information to the repository for storage; receive, from an application server, a configuration request to automatically configure a second network device (GW2, D2) according to the first configuration information wherein the second network device is originally configured with a second configuration information; request and receive the second configuration information from the second network device; transmit the second configuration information to the repository for storage; retrieve the first configuration information from the repository; transmit the first configuration information to the second network device; automatically configure an operation of the second network device with the first configuration information; and upon receiving, from the application server, a restore request during the operation of the second network device: retrieve the second configuration information from the repository; remove the first configuration information from the second network device; and automatically restore the configuration of the operation of the second network device with the second configuration information. receive a first configuration information of a first network device (GW1, D1) from the first network device; transmit (250, 268) the first configuration information to the repository for storage; receive, from an application server, a configuration request to automatically configure a second network device (GW2, D2) according to the first configuration information wherein the second network device is originally configured with a second configuration information; request and receive the second configuration information from the second network device; transmit the second configuration information to the repository for storage; retrieve the first configuration information from the repository; transmit the first configuration information to the second network device; automatically configure an operation of the second network device with the first configuration information; and upon receiving, from the application server, a restore request during the operation of the second network device: retrieve the second configuration information from the repository; remove the first configuration information from the second network device; and automatically restore the configuration of the operation of the second network device with the second configuration information. retrieve the second configuration information from the repository; remove the first configuration information from the second network device; and automatically restore the configuration of the operation of the second network device with the second configuration information.