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"]))
 
