diff --git a/xos/models/venb.xproto b/xos/models/venb.xproto
index 591e9cb..6c92171 100644
--- a/xos/models/venb.xproto
+++ b/xos/models/venb.xproto
@@ -3,8 +3,8 @@
 
 message VENBService (Service){
     option verbose_name = "Virtual eNodeB Service";
-    required string login_user = 1 [help_text = "vENB VM login user", default = "ubuntu", max_length = 32, content_type = "stripped", null = False, db_index = False, blank = False];
-    required string login_password = 2 [help_text = "vENB VM login password", default = "cfguser", max_length = 32, content_type = "stripped", null = False, db_index = False, blank = False];
+    required string login_user = 1 [help_text = "vENB VM login user", default = "ng40", max_length = 32, content_type = "stripped", null = False, db_index = False, blank = False];
+    required string login_password = 2 [help_text = "vENB VM login password", default = "ng40", max_length = 32, content_type = "stripped", null = False, db_index = False, blank = False];
     required string tas_ip = 3 [help_text = "TAS IP address", default = "103.0.0.100", max_length = 32, null = False, db_index = False, blank = False];
     required string ntp_ip = 4 [help_text = "NTP server IP address", default = "193.0.0.222", max_length = 32, null = False, db_index = False, blank = False];
 }
diff --git a/xos/synchronizer/steps/roles/ng4t_config/defaults/main.yml b/xos/synchronizer/steps/roles/ng4t_config/defaults/main.yml
index 2b9f42e..d9b0fa9 100644
--- a/xos/synchronizer/steps/roles/ng4t_config/defaults/main.yml
+++ b/xos/synchronizer/steps/roles/ng4t_config/defaults/main.yml
@@ -13,5 +13,6 @@
 # limitations under the License.
 
 ---
-ng4t_license_src:  /opt/xos/synchronizers/venb/files/ng4t-license.txt
-ng4t_license_dest: /tmp/license.txt
\ No newline at end of file
+ng4t_license_src:  /opt/xos/synchronizers/venb/files/ng40-license
+ng4t_license_dest: /home/ng40/install/ng40-license
+ng4t_ipconfig_dest: /home/ng40/install/ipconfig
\ No newline at end of file
diff --git a/xos/synchronizer/steps/roles/ng4t_config/tasks/main.yml b/xos/synchronizer/steps/roles/ng4t_config/tasks/main.yml
index 42e1049..e37d0f6 100644
--- a/xos/synchronizer/steps/roles/ng4t_config/tasks/main.yml
+++ b/xos/synchronizer/steps/roles/ng4t_config/tasks/main.yml
@@ -13,9 +13,43 @@
 # limitations under the License.
 
 ---
+- name: Set SSH password
+  set_fact:
+    ansible_ssh_pass: "{{ password }}"
+
+- name: check s11_network interface
+  shell: ifconfig | grep -B1 "inet addr:{{ mme_s11_ip }}" | awk '$1!="inet" && $1!="--" {print $1}'
+  args:
+    executable: /bin/bash
+  register: mme_s11_interface
+
+- name: check s1u_network interface
+  shell: ifconfig | grep -B1 "inet addr:{{ enb1_s1u_ip }}" | awk '$1!="inet" && $1!="--" {print $1}'
+  args:
+    executable: /bin/bash
+  register: enb1_s1u_interface
+
+- name: check sgi_network interface
+  shell: ifconfig | grep -B1 "inet addr:{{ appserver_sgi_ip }}" | awk '$1!="inet" && $1!="--" {print $1}'
+  args:
+    executable: /bin/bash
+  register: appserver_sgi_interface
+
 - name: Copy license file
   copy:
     src: "{{ ng4t_license_src }}"
     dest: "{{ ng4t_license_dest }}"
-    owner: root
-    mode: 0644
+
+- name: Create ipconfig file
+  template:
+    src: ./templates/ipconfig.j2
+    dest: "{{ ng4t_ipconfig_dest }}"
+
+- name: Set instance to hosts file
+  shell: "echo 127.0.1.1       $(cat /etc/hostname) >> /etc/hosts"
+
+- name: Start install ng4t
+  sudo: no
+  shell: /home/ng40/install/ng40init
+  args:
+    executable: /bin/bash
diff --git a/xos/synchronizer/steps/roles/ng4t_config/templates/ipconfig.j2 b/xos/synchronizer/steps/roles/ng4t_config/templates/ipconfig.j2
new file mode 100644
index 0000000..ef2bb1b
--- /dev/null
+++ b/xos/synchronizer/steps/roles/ng4t_config/templates/ipconfig.j2
@@ -0,0 +1,27 @@
+# ENB network
+ENB1_S1U_DEV={{ enb1_s1u_interface.stdout }}
+ENB1_S1U_IP={{ enb1_s1u_ip }}
+ENB1_S1U_NET={{ enb1_s1u_netmask }}
+#ENB2_S1U_DEV=ens6:1
+#ENB2_S1U_IP=111.0.0.4
+#ENB2_S1U_NET=24
+
+# MME network
+MME_S11_DEV={{ mme_s11_interface.stdout }}
+MME_S11_IP={{ mme_s11_ip }}
+MME_S11_NET={{ mme_s11_netmask }}
+
+# SAEGW network
+SGW_S11_IP={{ spgw_s11_ip }}
+
+# Application Server network
+AS_DEV={{ appserver_sgi_interface.stdout }}
+AS_IP={{ appserver_sgi_ip }}
+AS_GW={{ appserver_sgi_gateway }}
+AS_NET={{ appserver_sgi_netmask }}
+
+# Control (ssh) network
+SSH_NG40_RAN={{ ssh_venb_ip }}
+SSH_NGIC_CP_IP={{ ssh_vspgwc_ip }}
+SSH_NGIC_DP_IP={{ ssh_vspgwu_ip }}
+SSH_NGIC_FPC_IP={{ fpc_management_ip }}
\ No newline at end of file
diff --git a/xos/synchronizer/steps/sync_venbserviceinstance.py b/xos/synchronizer/steps/sync_venbserviceinstance.py
index c0a4593..5d5cb6c 100644
--- a/xos/synchronizer/steps/sync_venbserviceinstance.py
+++ b/xos/synchronizer/steps/sync_venbserviceinstance.py
@@ -43,12 +43,18 @@
     def get_extra_attributes(self, o):
 
         fields = {}
-        fields['flat_ip'] = self.get_ip_address('flat_network', o, 'get_venb_flat_ip')
         service = self.get_service(o)
         fields['login_user'] = service.login_user
         fields['login_password'] = service.login_password
-        fields['tas_ip'] = service.tas_ip
-        fields['ntp_ip'] = service.ntp_ip
+        fields['venb_s1u_ip'] = self.get_ip_address('s1u_network', VENBServiceInstance, 'venb_s1u_ip')
+        fields['venb_s11_ip'] = self.get_ip_address('s11_network', VENBServiceInstance, 'venb_s11_ip')
+        fields['vspgwc_s11_ip'] = self.get_ip_address('s11_network', VSPGWCTenant, 'vspgwc_s11_ip')
+        fields['venb_sgi_ip'] = self.get_ip_address('sgi_network', VENBServiceInstance, 'venb_sgi_ip')
+        fields['vspgwu_sgi_ip'] = self.get_ip_address('sgi_network', VSPGWUTenant, 'vspgwu_sgi_ip')
+        fields['venb_management_ip'] = self.get_ip_address('management', VENBServiceInstance, 'venb_management_ip')
+        fields['vspgwc_management_ip'] = self.get_ip_address('management', VSPGWCTenant, 'vspgwc_management_ip')
+        fields['vspgwu_management_ip'] = self.get_ip_address('management', VSPGWUTenant, 'vspgwu_management_ip')
+
         return fields
 
     def get_ip_address(self, network_name, service_instance, parameter):
diff --git a/xos/synchronizer/steps/venbserviceinstance_playbook.yaml b/xos/synchronizer/steps/venbserviceinstance_playbook.yaml
index 4da768e..675fbe4 100644
--- a/xos/synchronizer/steps/venbserviceinstance_playbook.yaml
+++ b/xos/synchronizer/steps/venbserviceinstance_playbook.yaml
@@ -17,15 +17,23 @@
   gather_facts: False
   connection: ssh
   user: {{ login_user }}
-  # These are still the old variables; update for ng4T emulator
+  sudo: yes
+
   vars:
-    - ts_ip: {{ flat_ip }}
-    - ts_mask: "255.255.255.0"
-    - ts_gateway: "103.0.0.254"
-    - ts_host_name: "{{ instance_name }}"
-    - tas_ip: "{{ tas_ip }}"
-    - ntp_ip: "{{ ntp_ip }}"
     - password: "{{ login_password }}"
+    - enb1_s1u_ip: {{ venb_s1u_ip }}
+    - enb1_s1u_netmask: 24
+    - mme_s11_ip: {{ venb_s11_ip }}
+    - mme_s11_netmask: 24
+    - spgw_s11_ip: {{ vspgwc_s11_ip }}
+    - appserver_sgi_ip: {{ venb_sgi_ip }}
+    - appserver_sgi_gateway: {{ vspgwu_sgi_ip }}
+    - appserver_sgi_netmask: 24
+    - ssh_venb_ip: {{ venb_management_ip }}
+    - ssh_vspgwc_ip: {{ vspgwc_management_ip }}
+    - ssh_vspgwu_ip: {{ vspgwu_management_ip }}
+    - fpc_management_ip: ''
+
   roles:
     - ng4t_config
 
