diff --git a/Makefile b/Makefile
index 4341efd..1a24080 100644
--- a/Makefile
+++ b/Makefile
@@ -39,6 +39,14 @@
 PYTHON = $(VENV)/bin/python3
 PIP = $(VENV)/bin/pip
 
+ROC_USER ?=
+ROC_PASSWD ?=
+ROC_URL ?=
+KEYCLOAK ?=
+ENTERPRISE ?=
+SITE ?=
+DEVICEGROUP ?=
+
 all: test
 
 help:
@@ -71,14 +79,20 @@
 docker-push:
 	docker push $(DOCKER_IMAGENAME)
 
-docker-run:
+docker-run :
 	docker run \
 		-itu root:root \
 		--privileged \
 		--network host \
 		--name $(CONTAINER_NAME) \
 		--rm \
-		$(DOCKER_IMAGENAME) --user "user" --password "password"
+		$(DOCKER_IMAGENAME) \
+		--url $(ROC_URL) \
+		--keycloak $(KEYCLOAK) \
+		--enterprise $(ENTERPRISE) \
+		--site $(SITE) \
+		--devicegroup $(DEVICEGROUP) \
+		--user $(ROC_USER) --password $(ROC_PASSWD)
 
 run-native-file: $(VENV)
 	. ./bin/person_detection.sh -i ./resources/run.mp4
diff --git a/docker/Dockerfile b/docker/Dockerfile
index cf51c5b..0eed995 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,6 +1,5 @@
 #python3 docker_openvino.py build -d cpu -os ubuntu18 --distribution runtime --product_version 2021.4
-#FROM ubuntu18_runtime:2021.4
-FROM openvino/ubuntu18_runtime
+FROM openvino/ubuntu18_runtime:2021.4
 
 USER root
 
diff --git a/person_detection/app.py b/person_detection/app.py
index 2ef9b87..0c15bec 100644
--- a/person_detection/app.py
+++ b/person_detection/app.py
@@ -70,6 +70,18 @@
     args.add_argument("--key",
             help = "ROC api key",
             type = str)
+    args.add_argument("--url",
+            help = "ROC url",
+            type = str)
+    args.add_argument("--keycloak",
+            help = "Keycloak url",
+            type = str)
+    args.add_argument("--enterprise",
+            help = "Enterprise ID",
+            type = str)
+    args.add_argument("--site",
+            help = "Site ID",
+            type = str)
     args.add_argument("--user",
             help = "ROC username",
             type = str)
@@ -86,7 +98,6 @@
                       type=int)
     args.add_argument("--devicegroup",
                       help="Camera device group",
-                      default="menlo-4g-cameras",
                       type=str)
 
     return parser
@@ -106,7 +117,7 @@
         key = args.key
         if key is None:
             if args.user is not None and args.password is not None:
-                roc = Roc(config.url, args.user, args.password, config.enterprise, config.site)
+                roc = Roc(args.url, args.keycloak, args.user, args.password, args.enterprise, args.site)
                 key = roc.get_key()
             else:
                 log.error("Either key or user/password required")
diff --git a/person_detection/base_camera.py b/person_detection/base_camera.py
index e2e85b6..bf849f1 100644
--- a/person_detection/base_camera.py
+++ b/person_detection/base_camera.py
@@ -68,7 +68,7 @@
     lock = Lock()
     activity_counter = Value('i', 0)
 
-    def __init__(self, device, user, password, mbrlow, mbrhigh, devicegroup, noroc):
+    def __init__(self, device, url, keycloak, enterprise, site, user, password, mbrlow, mbrhigh, devicegroup, noroc):
         self.mqttBroker = "localhost"
         self.device = device
         self.mbrlow = mbrlow
@@ -76,7 +76,7 @@
         self.devicegroup = devicegroup
         self.noroc = noroc
 
-        self.roc = Roc(config.url, user, password, config.enterprise, config.site)
+        self.roc = Roc(url, keycloak, user, password, enterprise, site)
 
         """Start the background camera process if it isn't running yet."""
         if BaseCamera.cameras[int(self.device)] == 0:
diff --git a/person_detection/config.py b/person_detection/config.py
index 72450c6..f1cb46e 100644
--- a/person_detection/config.py
+++ b/person_detection/config.py
@@ -3,7 +3,4 @@
 SPDX-License-Identifier: LicenseRef-ONF-Member-1.01
 """
 
-cameras = {"0": "Ain's desk", "1": "HungWei's desk", "2": "Shad's desk"}
-url = "https://roc.menlo.aetherproject.org/aether-roc-api/aether/v2.0.0/connectivity-service-v2/"
-enterprise = 'aether-onf'
-site = 'menlo-4g'
+cameras = {"0": "Camera 0", "1": "Camera 1", "2": "Camera 2"}
diff --git a/person_detection/person_detection.py b/person_detection/person_detection.py
index 8d49589..13478e0 100644
--- a/person_detection/person_detection.py
+++ b/person_detection/person_detection.py
@@ -27,7 +27,7 @@
         self.is_async_mode = True
         self.device = device
         self.client = client
-        super(Camera, self).__init__(device, args.user, args.password, args.mbrlow, args.mbrhigh, args.devicegroup, args.noroc)
+        super(Camera, self).__init__(device, args.url, args.keycloak, args.enterprise, args.site, args.user, args.password, args.mbrlow, args.mbrhigh, args.devicegroup, args.noroc)
 
     def __del__(self):
         # stream.release()
diff --git a/person_detection/roc.py b/person_detection/roc.py
index 35680a4..7c12409 100644
--- a/person_detection/roc.py
+++ b/person_detection/roc.py
@@ -12,8 +12,9 @@
 
 class Roc(object):
 
-    def __init__(self, url, user, password, enterpriseId, siteId):
+    def __init__(self, url, keycloak, user, password, enterpriseId, siteId):
         self.url = url
+        self.keycloak = keycloak
         self.user = user
         self.password = password
         self.key = self.get_key()
@@ -64,10 +65,9 @@
             response = requests.post(url, headers=self.headers(), json=m)
             if response.status_code != 201:
                 log.error("Failed to set mbr, device_group:{}, mbr:{}, status_code: {}".format(device_group, mbr, response.status_code))
-                sys.exit()
+                # sys.exit()
 
     def get_key(self):
-        url = "https://keycloak.opennetworking.org/auth/realms/master/protocol/openid-connect/token"
         headers = CaseInsensitiveDict()
         headers["Content-Type"] = "application/x-www-form-urlencoded"
         data = {
@@ -77,7 +77,7 @@
                 'password': self.password,
                 'scope': 'openid profile email groups'
                 }
-        response = requests.post(url, data, headers)
+        response = requests.post(self.keycloak, data, headers)
         key = json.loads(response.text)['access_token']
         return key
 
@@ -91,19 +91,20 @@
     log.debug("Testing roc...")
 
     # use valid keycloak user/password
-    url = "https://roc.menlo.aetherproject.org/aether-roc-api/aether/v2.0.0/connectivity-service-v2/"
+    url = "http://roc.aetherproject.net/aether-roc-api/aether/v2.0.0/connectivity-service-v2/"
     user = sys.argv[1]
     password = sys.argv[2]
-    enterprise = 'aether-onf'
-    site = 'menlo-4g'
+    enterprise = 'ase-4g-enterprise'
+    site = 'ase-site-4g'
+    keycloak = "http://keycloak.aetherproject.net/auth/realms/aether/protocol/openid-connect/token"
 
-    roc = Roc(url, user, password, enterprise, site)
+    roc = Roc(url, keycloak,  user, password, enterprise, site)
 
-    cameras = "menlo-4g-cameras"
+    cameras = "ase-4g-device-group2"
     mbr = roc.get_mbr(cameras)
     print("uplink mbr:{}, downlink mbr: {}".format(mbr["uplink"], mbr["downlink"]))
 
-    roc.set_mbr(cameras, 7000000)
+    roc.set_mbr(cameras, 6000000)
     mbr = roc.get_mbr(cameras)
     print("uplink mbr:{}, downlink mbr: {}".format(mbr["uplink"], mbr["downlink"]))
 
