diff --git a/manifests/e2e_orchestratorservice.yaml b/manifests/e2e_orchestratorservice.yaml
index 5f70fdfdac08112650afc7bc50f02a7eedd5a30a..893f3464fabea2d1151c007a612e781d1f999093 100644
--- a/manifests/e2e_orchestratorservice.yaml
+++ b/manifests/e2e_orchestratorservice.yaml
@@ -44,11 +44,11 @@ spec:
             - name: WS_IP_HOST
               value: "nbiservice.tfs-ip.svc.cluster.local"
             - name: WS_IP_PORT
-              value: 8761
+              value: "8761"
             - name: WS_E2E_HOST
               value: "e2e-orchestratorservice.tfs-e2e.svc.cluster.local"
             - name: WS_E2E_PORT
-              value: 8762
+              value: "8762"
           readinessProbe:
             exec:
               command: ["/bin/grpc_health_probe", "-addr=:10050"]
diff --git a/manifests/nbiservice.yaml b/manifests/nbiservice.yaml
index a514736c14a9bdd1f64301e5566719bb5ee5c0c7..72cfde514341b0ef89b3b8eb91ab01b23a27c14b 100644
--- a/manifests/nbiservice.yaml
+++ b/manifests/nbiservice.yaml
@@ -45,7 +45,7 @@ spec:
             - name: IETF_NETWORK_RENDERER
               value: "LIBYANG"
             - name: WS_E2E_PORT
-              value: 8762
+              value: "8762"
           readinessProbe:
             exec:
               command: ["/bin/grpc_health_probe", "-addr=:9090"]
diff --git a/manifests/vnt_managerservice.yaml b/manifests/vnt_managerservice.yaml
index 2e31c743902da3dd6ab9354f5b7617d4e884751e..62c575139e972d9d7ae26f1218f78f725291cc5b 100644
--- a/manifests/vnt_managerservice.yaml
+++ b/manifests/vnt_managerservice.yaml
@@ -41,9 +41,9 @@ spec:
             - name: LOG_LEVEL
               value: "INFO"
             - name: WS_IP_PORT
-              value: 8761
+              value: "8761"
             - name: WS_E2E_PORT
-              value: 8762
+              value: "8762"
           readinessProbe:
             exec:
               command: ["/bin/grpc_health_probe", "-addr=:10080"]
diff --git a/src/common/type_checkers/Assertions.py b/src/common/type_checkers/Assertions.py
index 90b7d976b0f6fff9d478ce7b40188240a8eea2d6..3934c9d89568be90129bb766c61b55a532d2f0b3 100644
--- a/src/common/type_checkers/Assertions.py
+++ b/src/common/type_checkers/Assertions.py
@@ -48,6 +48,8 @@ def validate_device_driver_enum(message):
         'DEVICEDRIVER_GNMI_OPENCONFIG',
         'DEVICEDRIVER_OPTICAL_TFS',
         'DEVICEDRIVER_IETF_ACTN',
+        'DEVICEDRIVER_OC',
+        'DEVICEDRIVER_QKD',
     ]
 
 def validate_device_operational_status_enum(message):
@@ -58,6 +60,20 @@ def validate_device_operational_status_enum(message):
         'DEVICEOPERATIONALSTATUS_ENABLED'
     ]
 
+def validate_isolation_level_enum(message):
+    assert isinstance(message, str)
+    assert message in [
+        'NO_ISOLATION',
+        'PHYSICAL_ISOLATION',
+        'LOGICAL_ISOLATION',
+        'PROCESS_ISOLATION',
+        'PHYSICAL_MEMORY_ISOLATION',
+        'PHYSICAL_NETWORK_ISOLATION',
+        'VIRTUAL_RESOURCE_ISOLATION',
+        'NETWORK_FUNCTIONS_ISOLATION',
+        'SERVICE_ISOLATION',
+    ]
+
 def validate_kpi_sample_types_enum(message):
     assert isinstance(message, str)
     assert message in [
@@ -70,6 +86,16 @@ def validate_kpi_sample_types_enum(message):
         'KPISAMPLETYPE_LINK_USED_CAPACITY_GBPS',
     ]
 
+def validate_link_type_enum(message):
+    assert isinstance(message, str)
+    assert message in [
+        'LINKTYPE_UNKNOWN',
+        'LINKTYPE_COPPER',
+        'LINKTYPE_VIRTUAL_COPPER',
+        'LINKTYPE_OPTICAL',
+        'LINKTYPE_VIRTUAL_OPTICAL',
+    ]
+
 def validate_service_type_enum(message):
     assert isinstance(message, str)
     assert message in [
@@ -79,6 +105,8 @@ def validate_service_type_enum(message):
         'SERVICETYPE_TAPI_CONNECTIVITY_SERVICE',
         'SERVICETYPE_TE',
         'SERVICETYPE_E2E',
+        'SERVICETYPE_OPTICAL_CONNECTIVITY',
+        'SERVICETYPE_QKD',
     ]
 
 def validate_service_state_enum(message):
@@ -148,6 +176,22 @@ def validate_constraint_custom(message):
     assert 'constraint_value' in message
     assert isinstance(message['constraint_value'], str)
 
+def validate_constraint_schedule(message):
+    assert isinstance(message, dict)
+    assert len(message.keys()) == 2
+    assert 'start_timestamp' in message
+    assert isinstance(message['start_timestamp'], (int, float))
+    assert 'duration_days' in message
+    assert isinstance(message['duration_days'], (int, float))
+
+def validate_constraint_endpoint_priority(message):
+    assert isinstance(message, dict)
+    assert len(message.keys()) == 2
+    assert 'endpoint_id' in message
+    validate_endpoint_id(message['endpoint_id'])
+    assert 'priority' in message
+    assert isinstance(message['priority'], int)
+
 def validate_constraint_sla_capacity(message):
     assert isinstance(message, dict)
     assert len(message.keys()) == 1
@@ -172,16 +216,25 @@ def validate_constraint_sla_availability(message):
     assert isinstance(message['availability'], (int, float))
     assert message['availability'] >= 0 and message['availability'] <= 100
 
+def validate_constraint_sla_isolation(message):
+    assert isinstance(message, dict)
+    assert len(message.keys()) == 1
+    assert 'isolation_level' in message
+    assert isinstance(message['isolation_level'], list)
+    for isolation_level in message['isolation_level']:
+        validate_isolation_level_enum(isolation_level)
+
 CONSTRAINT_TYPE_TO_VALIDATOR = {
     'custom'            : validate_constraint_custom,
-    #'schedule'          : validate_constraint_schedule,
+    'schedule'          : validate_constraint_schedule,
     #'endpoint_location' : validate_constraint_endpoint_location,
-    #'endpoint_priority' : validate_constraint_endpoint_priority,
+    'endpoint_priority' : validate_constraint_endpoint_priority,
     'sla_capacity'      : validate_constraint_sla_capacity,
     'sla_latency'       : validate_constraint_sla_latency,
     'sla_availability'  : validate_constraint_sla_availability,
-    #'sla_isolation'     : validate_constraint_sla_isolation,
+    'sla_isolation'     : validate_constraint_sla_isolation,
     #'exclusions'        : validate_constraint_exclusions,
+    #'qos_profile'       : validate_constraint_qos_profile,
 }
 
 def validate_constraint(message):
@@ -479,7 +532,7 @@ def validate_device(message):
 
 def validate_link(message):
     assert isinstance(message, dict)
-    assert len(message.keys()) == 4
+    assert len(message.keys()) == 5
     assert 'link_id' in message
     validate_link_id(message['link_id'])
     assert 'name' in message
@@ -489,6 +542,8 @@ def validate_link(message):
     for endpoint_id in message['link_endpoint_ids']: validate_endpoint_id(endpoint_id)
     assert 'attributes' in message
     validate_link_attributes(message['attributes'])
+    assert 'link_type' in message
+    validate_link_type_enum(message['link_type'])
 
 def validate_connection(message):
     assert isinstance(message, dict)
diff --git a/src/e2e_orchestrator/.gitlab-ci.yml b/src/e2e_orchestrator/.gitlab-ci.yml
index ecc17f26119e40659d6191e88e26a4000c9d9ada..0930be486cce13706292a48c6e6e01c60228f061 100644
--- a/src/e2e_orchestrator/.gitlab-ci.yml
+++ b/src/e2e_orchestrator/.gitlab-ci.yml
@@ -13,9 +13,9 @@
 # limitations under the License.
 
 # build, tag and push the Docker image to the gitlab registry
-build e2eorchestrator:
+build e2e_orchestrator:
   variables:
-    IMAGE_NAME: 'e2eorchestrator' # name of the microservice
+    IMAGE_NAME: 'e2e_orchestrator' # name of the microservice
     IMAGE_TAG: 'latest' # tag of the container image (production, development, etc)
   stage: build
   before_script:
diff --git a/src/nbi/service/context_subscription/__init__.py b/src/nbi/service/context_subscription/__init__.py
index f0d8d7d4229b30d05a1c960d32fb337653be3706..d2ae85070eb5b5352db9690179b098cdb9781de0 100644
--- a/src/nbi/service/context_subscription/__init__.py
+++ b/src/nbi/service/context_subscription/__init__.py
@@ -34,7 +34,7 @@ vnt_manager_client: VNTManagerClient =  VNTManagerClient()
 context_client:     ContextClient =     ContextClient()   
 
 ALL_HOSTS = "0.0.0.0"
-WS_E2E_PORT = str(get_setting('WS_E2E_PORT'))
+WS_E2E_PORT = int(get_setting('WS_E2E_PORT', default='8762'))
 
 LOGGER = logging.getLogger(__name__)
 
diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml
index e7d96f298323f4698f5cf9ce89789788677d39f6..808aebf2173361e05fee5ed2806b9c7aa6362753 100644
--- a/src/tests/.gitlab-ci.yml
+++ b/src/tests/.gitlab-ci.yml
@@ -20,4 +20,4 @@ include:
   #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml'
   #- local: '/src/tests/ofc23/.gitlab-ci.yml'
   - local: '/src/tests/ofc24/.gitlab-ci.yml'
-  - local: '/src/tests/ecoc24/.gitlab-ci.yml'
+  #- local: '/src/tests/ecoc24/.gitlab-ci.yml'
diff --git a/src/vnt_manager/.gitlab-ci.yml b/src/vnt_manager/.gitlab-ci.yml
index b338f97ac8a517abbfbdc5112bd54d5d6545afd1..2566df2387776356b61609b51501b41c167b140a 100644
--- a/src/vnt_manager/.gitlab-ci.yml
+++ b/src/vnt_manager/.gitlab-ci.yml
@@ -13,9 +13,9 @@
 # limitations under the License.
 
 # build, tag and push the Docker image to the gitlab registry
-build vntmanager:
+build vnt_manager:
   variables:
-    IMAGE_NAME: 'vntmanager' # name of the microservice
+    IMAGE_NAME: 'vnt_manager' # name of the microservice
     IMAGE_TAG: 'latest' # tag of the container image (production, development, etc)
   stage: build
   before_script: