diff --git a/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn b/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn
index 9680275d453990c569aa1410e78710835f02f7f4..fe9060efec4bb23e4ef7c20031e53d62e8ba56b6 100644
--- a/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_Diameter_Templates.ttcn
@@ -21,7 +21,7 @@ module AtsImsIot_Diameter_Templates {
     import from LibDiameter_Types_Gx_AVPs all;
     import from LibDiameter_Types_Rx_AVPs all;
     import from LibDiameter_Types_CxDx_AVPs all;
-    import from LibDiameter_Types_S6a_AVPs {type Cancellation_Type_AVP, Cancellation_Type_Code};
+    import from LibDiameter_Types_S6a_AVPs {type Cancellation_Type_AVP, Cancellation_Type_Code, Subscription_Data_AVP};
     import from LibDiameter_Types_S9_AVPs all;
 
     group DiameterHeaderFields {
@@ -387,6 +387,13 @@ module AtsImsIot_Diameter_Templates {
                 final_unit_action := *
              }
             
+			template User_Equipment_Info_AVP mw_userEquipmentInfo_IMEI:=
+			{
+				aVP_Header := mw_aVP_Header_any_Code(458/*c_User_Equipment_Info_code*/),
+		        user_Equipment_Info_Type := {aVP_Header := ?/*459*/, aVP_Data   := IMEISV_E/*0*/ },
+                user_Equipment_Info_Value := ?
+			}
+            
         } //end group GxHeaderFields
         
         group S6aHeaderFields{
@@ -396,6 +403,10 @@ module AtsImsIot_Diameter_Templates {
                 cancellation_Type   := p_cancellation_Type
             } // End of template m_cancellationType
             
+            template Subscription_Data_AVP mw_subscriptionData_emergencyInfo:= {
+				aVP_Header := mw_aVP_Header_any_Code(c_subscription_Data_AVP_Code),
+				emergency_Info := ?
+            }
         } //end group S6aHeaderFields
         
         
@@ -1004,6 +1015,38 @@ module AtsImsIot_Diameter_Templates {
                     }
                 }
 
+				template CCR_MSG mw_CCR_SubscriberIMSI_qosInformation_class5_ES(CC_Request_Ty_Type p_avpData) modifies mw_CCR_basic := {
+					cCR_Body :={
+						cC_Request_Type        := mw_cC_Request_Type(p_avpData),
+						subscription_Id        := {*,mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E))},
+						iP_CAN_Type            := ?,
+						rat_Type               := ?,
+						called_Station_Id      := ?,
+						pDN_Connection_ID      := *,
+						framed_IP_Address      := ?,
+						//framed_IPv6_Prefix     := *,
+						//bearer_Usage           := mw_bearer_Usage(IMS_SIGNALLING_E),
+						qoS_Information        := mw_qoS_Information,
+						default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
+					}
+				}
+				template CCR_MSG mw_CCR_SubscriberIMEI_qosInformation_class5_ES(CC_Request_Ty_Type p_avpData) modifies mw_CCR_basic := {
+					cCR_Body :={
+						cC_Request_Type        := mw_cC_Request_Type(p_avpData),
+						//subscription_Id        := {*,mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E))},
+						user_Equipment_Info    := mw_userEquipmentInfo_IMEI,
+						iP_CAN_Type            := ?,
+						rat_Type               := ?,
+						called_Station_Id      := ?,
+						pDN_Connection_ID      := *,
+						framed_IP_Address      := ?,
+						//framed_IPv6_Prefix     := *,
+						//bearer_Usage           := mw_bearer_Usage(IMS_SIGNALLING_E),
+						qoS_Information        := mw_qoS_Information,
+						default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
+					}
+				}
+				
                 template RAR_MSG mw_RAR_ChargingRuleInstall(template Charging_Rule_Install_AVP p_Charging_Rule_Install) modifies mw_RAR_Gx_basic := {
                     rAR_Body :={
                         charging_Rule_Install := {p_Charging_Rule_Install}
@@ -1161,6 +1204,13 @@ module AtsImsIot_Diameter_Templates {
                         ula_Flags := ?
                     }
                 }
+				template ULA_MSG mw_ULA_subsdata_flags modifies mw_ULA_resultCode_flags := {
+					uLA_Body :={
+						//result_Code := mw_resultCode(mw_resultCode_diameterSuccess),
+						//ula_Flags := ?
+						subscription_Data :=mw_subscriptionData_emergencyInfo
+					}
+				}
                 
             }// end group S6aRequestMessageTemplates
         }//end group S6aMessageTemplates
diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
index b5f160e2ba24305b61e2682aca386699a6b706d1..03c8ec316ed1e0d3e35856bb42246fe03b04f627 100644
--- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn
@@ -79,8 +79,8 @@ module AtsImsIot_Emergency {
 						// test body
 						// Check that user A starts initial network attachment
 						f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2)
-						f_mtc_check_TP_S6A_HSS_ULA_01 ( vc_vxlte_monitor_components.s6a);        // Check (ULA – Event 3) 
-						f_mtc_check_TP_GX_PCRF_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
+						f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a);        // Check (ULA – Event 3) 
+						f_mtc_check_TP_GX_PCRF_ECO_CCA_01 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
         
 						// postamble
 						f_mtc_userRadioEnabled ( v_ueA, false, true );
@@ -93,11 +93,55 @@ module AtsImsIot_Emergency {
 						//log...
 						setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
 					}
-				} // End of TC TC_VxLTE_INT_ATT_01
+				} // End of TC TC_VoLTE_ECO_INT_ATT_01
             } // End of group UENetworkAttachmentWithUSIM
 
             group UENetworkAttachmentWithoutUSIM {
+				/**
+				 * @desc    Emergency Network Attachment and Establishment of the Emergency Bearer without USIM.
+				 * On successful emergency attachment, the UE/IVS should discover the P-CSCF IP address.
+				 * The EPC will create the Emergency Bearers which will allow communication only between the UE and the P-CSCF
+				 * and allowed forwarding towards E-CSCF
+				 * @see TS 124 229 [2], clause 9.2.1 and L.2.2.6; TS 129 212 [7], clauses 4.5.15 and 4a.5.12; 
+				 * TS 129 272 [8], clause 5.2.1.1 (MME shall proceed even if Update Location fails)
+				 * 
+				 */
+				testcase TC_VoLTE_ECO_INT_ATT_02 ( ) runs on ImsTestCoordinator system IotSystemInterface {
+
+					var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A );
+					var ImsUserInfo v_userInfoA    := f_getImUser ( PX_EUT_A );
+
+					f_setVxLteMonIterfacesAvailability();
+					//Check required monitor interfaces due to TD
+					if (f_checkVxLteRequiredMonitorInterface({PX_DIAMETER_GX_INTERFACENAME,PX_DIAMETER_S6A_INTERFACENAME})){
+						f_cf_createVxLteMonitor();    
 
+						// map/connect component ports
+						f_cf_adapter_up ( );
+						f_cf_user_up ( v_ueA );
+						f_cf_VxLteMonitor_Up();
+
+						// preamble
+						f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
+
+						// test body
+						// Check that user A starts initial network attachment
+						f_mtc_check_TP_S6A_MME_ULR_01 ( vc_vxlte_monitor_components.s6a, true ); // Check (ULR – Event 2)
+						f_mtc_check_TP_S6A_HSS_ECO_ULA_01 ( vc_vxlte_monitor_components.s6a);        // Check (ULA – Event 3) 
+						f_mtc_check_TP_GX_PCRF_ECO_CCA_02 ( vc_vxlte_monitor_components.gx); // Check (CCR, CCA – Events 4, 5)
+
+						// postamble
+						f_mtc_userRadioEnabled ( v_ueA, false, true );
+
+						//unmap/disconnect component ports
+						f_cf_user_down ( v_ueA );
+						f_cf_VxLteMonitor_Down();
+						f_cf_adapter_down ( );
+					}else{
+						//log...
+						setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
+					}
+				} // End of TC TC_VoLTE_ECO_INT_ATT_02
             } // End of group UENetworkAttachmentWithoutUSIM
 
         } // End of group NetworkAttachment
diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn
index 7596bc0d4586027312dc4f03354d17bda475fb8c..779e6a0264892125058bcb0e6784d062b5f0263a 100644
--- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GX.ttcn
@@ -463,7 +463,8 @@ group g_PGW {
         }
     } // End of function f_mtc_check_TP_GX_PGW_RAA_04
 
-
+	group ES{
+	} //end group ES
 } // end group g_PGW
 
 group g_PCRF {
@@ -1106,7 +1107,190 @@ group g_PCRF {
         }
     } // End of function f_mtc_check_TP_GX_PCRF_RAR_04
 
+    group ES{
 
+		/**
+		 * Starts monitor component behavior for TP_GX_PCRF_ECO_CCA_01
+		 * @param p_monitorCompRef Reference to monitor component
+		 * <pre>
+		 Test objective  "Verify that IUT when receives CC-Request for PCC Rules containing IMSI for emergency services sends a CC-Answer in case of attachment procedure."
+        
+        Reference 
+            "TS 129 212 [9], clauses 4.5.15.2.1"
+        
+        Config Id CF_VoLTE_INT_ES
+        
+        PICS Selection NONE
+        
+        Initial conditions with {
+            the UE_A entity isNotAttachedTo the EPC_A and
+            the UE_A entity isNotRegisteredTo the IMS_A
+        }
+        
+        Expected behaviour
+            ensure that {
+                when {
+                    the EPC_PGW_A entity sends an CCR containing
+                        CC_Request_Type_AVP indicating value INITIAL_REQUEST
+                        Subscription_Id_AVP containing
+                            Subscription_Id_Type_AVP
+                                indicating value END_USER_IMSI;,
+                        IP_CAN_Type_AVP indicating value RestrictedToEmergencyServices,
+                        RAT_Type_AVP,
+                        Called_Station_Id_AVP indicating value "Emergency_APN"
+                        Framed_IP_Address_AVP
+                        "or" Framed_IP6_IP_Address_AVP
+                        QoS_Information_AVP
+                        Default_EPS_Bearer_QoS_AVP containing
+                            QoS_Class_Identifier_AVP
+                                indicating value '5'
+                            Allocation_Retention_Priority_AVP containing
+                                Priority_Level_AVP
+                                Pre_emption_Capablity_AVP
+                                Pre_emption_Vulnerability_AVP;;;
+                    to the EPC_PCRF_A entity
+                }
+                then {
+                    the EPC_PCRF_A entity sends the CCA containing
+                        Result_Code_AVP
+                            indicating value DIAMETER_SUCCESS;
+                    to the EPC_PGW_A entity
+                }
+            }
+		 * </pre>
+		 * @see TS 103 653-1 clause 7.7
+		 */
+		function f_mtc_check_TP_GX_PCRF_ECO_CCA_01(
+			DiameterInterfaceMonitor p_monitorCompRef,
+			in boolean p_checkMessage := false,
+			in boolean p_forward_to_mtc := false
+		) runs on ImsTestCoordinator {
+			if (isvalue(p_monitorCompRef)){
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_SubscriberIMSI_qosInformation_class5_ES(INITIAL_REQUEST_E) }
+						},
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_01 - CCR",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+            
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_resultCode }
+						},
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_01 - CCA",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+			}
+		} // End of function f_mtc_check_TP_GX_PCRF_ECO_CCA_01
+		
+		/**
+		 * Starts monitor component behavior for TP_GX_PCRF_ECO_CCA_02
+		 * @param p_monitorCompRef Reference to monitor component
+		 * <pre>
+		 Test objective  "Verify that IUT when receives CC-Request for PCC Rules containing IMEI for emergency services sends a CC-Answer in case of attachment procedure."
+        
+        Reference 
+            "TS 129 212 [9], clauses 4.5.15.2.1"
+        
+        Config Id CF_VxLTE_INT
+        
+        PICS Selection NONE
+        
+        Initial conditions with {
+            the UE_A entity isNotAttachedTo the EPC_A and
+            the UE_A entity isNotRegisteredTo the IMS_A
+        }
+        
+        Expected behaviour
+            ensure that {
+                when {
+                    the EPC_PGW_A entity sends an CCR containing
+                        CC_Request_Type_AVP indicating value INITIAL_REQUEST,
+                        User_Equipment_Info_AVP containing
+                             User_Equipment_Info_Type_AVP indicating value IMEISV
+                             User_Equipment_Info_Value_AVP;,
+                        IP_CAN_Type_AVP indicating value RestrictedToEmergencyServices,
+                        RAT_Type_AVP,
+                        Called_Station_Id_AVP indicating value "Emergency_APN"
+                        Framed_IP_Address_AVP
+                        "or" Framed_IP6_IP_Address_AVP
+                        QoS_Information_AVP
+                        Default_EPS_Bearer_QoS_AVP containing
+                            QoS_Class_Identifier_AVP
+                                indicating value '5'
+                            Allocation_Retention_Priority_AVP containing
+                                Priority_Level_AVP
+                                Pre_emption_Capablity_AVP
+                                Pre_emption_Vulnerability_AVP;;;
+                    to the EPC_PCRF_A entity
+                }
+                then {
+                    the EPC_PCRF_A entity sends the CCA containing
+                        Result_Code_AVP
+                            indicating value DIAMETER_SUCCESS;
+                    to the EPC_PGW_A entity
+                }
+            }
+		 * </pre>
+		 * @see TS 103 653-1 clause 7.7
+		 */
+		function f_mtc_check_TP_GX_PCRF_ECO_CCA_02(
+			DiameterInterfaceMonitor p_monitorCompRef,
+			in boolean p_checkMessage := false,
+			in boolean p_forward_to_mtc := false
+		) runs on ImsTestCoordinator {
+			if (isvalue(p_monitorCompRef)){
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_SubscriberIMEI_qosInformation_class5_ES(INITIAL_REQUEST_E) }
+						},
+						{
+							DIAMETER_MSG:{ cCR_MSG := mw_CCR_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_02 - CCR",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+    
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_resultCode }
+						},
+						{
+							DIAMETER_MSG:{ cCA_MSG := mw_CCA_basic }
+						},
+						{0, omit},
+						"TP_RX_PCRF_ECO_CCA_02 - CCA",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+			}
+		} // End of function f_mtc_check_TP_GX_PCRF_ECO_CCA_02
+    } //end group ES
 } // end group g_PCRF
 
 
diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_S6A.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_S6A.ttcn
index ebfc870fb79f194fc152f096f38f60e1d81dd008..f8a1a1af1352e94b12c0d9ec2adc1a75566257f4 100644
--- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_S6A.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_S6A.ttcn
@@ -97,6 +97,8 @@ group g_HSS {
             );
             p_monitorCompRef.done;
         }
+        
+
     } // End of function f_mtc_check_TP_S6A_HSS_AIA_01
     
     /**
@@ -371,7 +373,84 @@ group g_HSS {
         }
     } // End of function f_mtc_check_TP_S6A_HSS_ULA_02
 
-
+	group ES{
+		/**
+		 * Starts monitor component behavior for TP_S6A_HSS_ECO_ULA_01
+		 * @param p_monitorCompRef Reference to monitor component
+		 * <pre>
+		 *Test objective  "Verify that IUT after receipt of UL-Request sends UL-Answer containing Emergency-Info AVP."
+         *
+         *Reference 
+         *   "TS 129 272 [10], clause 5.2.1.1.2"
+        
+         *Config Id CF_VxLTE_INT_ES
+        
+         *PICS Selection NONE
+        
+         *Initial conditions with {
+         *   the UE_A entity isNotAttachedTo the EPC_A and
+         *   the UE_A entity isNotRegisteredTo the IMS_A
+         *}
+         *
+         *Expected behaviour
+         *   ensure that {
+         *       when {
+         *           the EPC_MME_A entity sends a ULR
+         *           to the IMS_HSS_A entity
+         *       }
+         *       then {
+         *           the IMS_HSS_A entity sends the ULA containing
+         *               Subscription_Data_AVP containing
+         *                   Emergency_Info_AVP indicating value PDN_GW;,
+         *               Result_Code_AVP
+         *                   indicating value DIAMETER_SUCCESS
+         *               ULA_Flags_AVP;
+         *           to the EPC_MME_A entity
+         *       }
+         *   } 
+		 * </pre>
+		 */
+		function f_mtc_check_TP_S6A_HSS_ECO_ULA_01(
+			DiameterInterfaceMonitor p_monitorCompRef,
+			in boolean p_checkMessage := false,
+			in boolean p_forward_to_mtc := false
+		) runs on ImsTestCoordinator {
+			if (isvalue(p_monitorCompRef)){
+//				p_monitorCompRef.start (
+//					f_Iot_Diameter_receive(
+//						{
+//							DIAMETER_MSG:{ uLR_MSG := mw_ULR_userName }
+//						},
+//						{
+//							DIAMETER_MSG:{ uLR_MSG := mw_ULR_basic }
+//						},
+//						{0, omit},
+//						"TP_S6A_HSS_ULA_01 - ULR",
+//						p_forward_to_mtc,
+//						p_checkMessage 
+//					)
+//				);
+//				p_monitorCompRef.done;
+            
+				p_monitorCompRef.start (
+					f_Iot_Diameter_receive(
+						{
+							DIAMETER_MSG:{ uLA_MSG := mw_ULA_subsdata_flags }
+						},
+						{
+							DIAMETER_MSG:{ uLA_MSG := mw_ULA_basic }
+						},
+						{0, omit},
+						"TP_S6A_HSS_ECO_ULA_01 - ULA",
+						p_forward_to_mtc,
+						p_checkMessage 
+					)
+				);
+				p_monitorCompRef.done;
+			}
+		} // End of function f_mtc_check_TP_S6A_HSS_ECO_ULA_01
+		    
+	}// end group ES
 } // end group g_HSS
 
 group g_MME {
@@ -675,6 +754,9 @@ group g_MME {
         }
     } // End of function f_mtc_check_TP_S6A_MME_ULR_02
 
+  group ES{
+	    
+  }// end group ES
 
 } // end group g_MME
 
diff --git a/ttcn/AtsImsIot/AtsImsIot_TestSystem.ttcn b/ttcn/AtsImsIot/AtsImsIot_TestSystem.ttcn
index 011bf0a9ef61cadf4c2604711af7d8b65532f126..41150fed1caf297158c11bd327378e649539dcbf 100644
--- a/ttcn/AtsImsIot/AtsImsIot_TestSystem.ttcn
+++ b/ttcn/AtsImsIot/AtsImsIot_TestSystem.ttcn
@@ -124,6 +124,7 @@ module AtsImsIot_TestSystem {
 			SipInterfaceMonitor gmB 	optional,
 			SipInterfaceMonitor mmB_PSAP  optional,// MmMx interface at IBCF to PSAP
 			SipInterfaceMonitor mwEB      optional,// Mw interface at E-CSCF/IBCF 
+			SipInterfaceMonitor mlE_LRF   optional,// Ml interface at E-CSCF/LRF
 			SipInterfaceMonitor mwS_PSAP  optional,// MwMmMx interface at E,SCSCF to PSAP
 			SipInterfaceMonitor ic      optional,
 			SipInterfaceMonitor mwPI    optional,// Mw interface at P-CSCF/I-CSCF or P-CSCF/S-CSCF if I-CSCF not used
diff --git a/ttcn/LibIot/LibIot_TypesAndValues.ttcn b/ttcn/LibIot/LibIot_TypesAndValues.ttcn
index f8a5c88963a2cbf0e558d8ba91a79e66e771ce01..6cb6f32821bab8c0daffcd8b12029b69552fbe2e 100644
--- a/ttcn/LibIot/LibIot_TypesAndValues.ttcn
+++ b/ttcn/LibIot/LibIot_TypesAndValues.ttcn
@@ -102,6 +102,7 @@ module LibIot_TypesAndValues {
         MonitorInterfaceInfo gmB     optional,
         MonitorInterfaceInfo mmB_PSAP optional,// Mm interface at IBCF to PSAP
 		MonitorInterfaceInfo mwEB     optional,// Mw interface at ECSCF to IBCF
+		MonitorInterfaceInfo mlE_LRF  optional, //Ml interface at ECSCF to LRF
         MonitorInterfaceInfo mwS_PSAP optional,// Mw interface at SCSCF to PSAP
         MonitorInterfaceInfo ic     optional,
         MonitorInterfaceInfo mwPI     optional,// Mw interface at P-CSCF/I-CSCF or P-CSCF/S-CSCF if I-CSCF not used
diff --git a/ttcn/LibIot/LibIot_VxLTE_Functions.ttcn b/ttcn/LibIot/LibIot_VxLTE_Functions.ttcn
index 2de6b27bb88c24628bd72a7641efe37ae3d36ede..a785056424c5ab1f78350af020a8622820f5bc79 100644
--- a/ttcn/LibIot/LibIot_VxLTE_Functions.ttcn
+++ b/ttcn/LibIot/LibIot_VxLTE_Functions.ttcn
@@ -60,6 +60,9 @@ module LibIot_VxLTE_Functions     {
 			if (PX_SIP_MW_EB_MONITORENABLED == true){
 				vc_MonIntfList.mwEB := valueof(m_MonIntf_Sip_Mw_EB);
 			}
+			if (PX_SIP_ML_E_LRF_MONITORENABLED == true){
+				vc_MonIntfList.mlE_LRF := valueof(m_MonIntf_Sip_Ml_E_LRF);
+			}
 			if (PX_SIP_MW_S_PSAP_MONITORENABLED == true){
 			    vc_MonIntfList.mwS_PSAP := valueof(m_MonIntf_Sip_MwS_PSAP);
 		    }
@@ -136,6 +139,9 @@ module LibIot_VxLTE_Functions     {
 			if (isvalue(vc_MonIntfList.mwEB)){
 				vc_vxlte_monitor_components.mwEB := f_cf_create_monitor_sip ( vc_MonIntfList.mwEB);
 			}
+			if (isvalue(vc_MonIntfList.mlE_LRF)){
+				vc_vxlte_monitor_components.mlE_LRF := f_cf_create_monitor_sip ( vc_MonIntfList.mlE_LRF);
+			}
 			if (isvalue(vc_MonIntfList.mwS_PSAP)){
 				vc_vxlte_monitor_components.mwS_PSAP := f_cf_create_monitor_sip ( vc_MonIntfList.mwS_PSAP);
 			}
@@ -241,6 +247,15 @@ module LibIot_VxLTE_Functions     {
 														)
 													 )));
 			}
+			if (isvalue(vc_MonIntfList.mlE_LRF)){
+				f_cf_monitor_up_sip(vc_vxlte_monitor_components.mlE_LRF);
+				vc_vxlte_monitor_components.mlE_LRF.start(f_cf_setFilter(
+														valueof (m_SetFilterReq(
+																	e_sip,
+																	{vc_MonIntfList.mlE_LRF.interfaceInfo}
+														)
+													 )));
+			}
 			if (isvalue(vc_MonIntfList.mwS_PSAP)){
 			    f_cf_monitor_up_sip(vc_vxlte_monitor_components.mwS_PSAP);
 			    vc_vxlte_monitor_components.mwS_PSAP.start(f_cf_setFilter(
@@ -429,6 +444,9 @@ module LibIot_VxLTE_Functions     {
 			if (isvalue(vc_MonIntfList.mwEB)){
 				f_cf_monitor_down_sip(vc_vxlte_monitor_components.mwEB);
 			}
+			if (isvalue(vc_MonIntfList.mlE_LRF)){
+				f_cf_monitor_down_sip(vc_vxlte_monitor_components.mlE_LRF);
+			}
 			if (isvalue(vc_MonIntfList.mwS_PSAP)){
 				f_cf_monitor_down_sip(vc_vxlte_monitor_components.mwS_PSAP);
 			}
@@ -521,11 +539,12 @@ module LibIot_VxLTE_Functions     {
 
 //            if (vc_vxlte_monitor_components.gmA.vc_interfacename) {return true;}
             if ((isvalue(vc_MonIntfList.gmA))  and (vc_MonIntfList.gmA.interfaceName==p_interfaceName)){ return true;}
-            //if ((isvalue(vc_MonIntfList.gmB))  and (vc_MonIntfList.gmB.interfaceName==p_interfaceName)){ return true;}
+            if ((isvalue(vc_MonIntfList.gmB))  and (vc_MonIntfList.gmB.interfaceName==p_interfaceName)){ return true;}
 
             if ((isvalue(vc_MonIntfList.mmB_PSAP)) and (vc_MonIntfList.mmB_PSAP.interfaceName==p_interfaceName)){ return true;}
 			if ((isvalue(vc_MonIntfList.mwEB)) and (vc_MonIntfList.mwEB.interfaceName==p_interfaceName)){ return true;}
-			if ((isvalue(vc_MonIntfList.mwS_PSAP)) and (vc_MonIntfList.mwS_PSAP.interfaceName==p_interfaceName)){ return true;}
+			if ((isvalue(vc_MonIntfList.mlE_LRF)) and (vc_MonIntfList.mlE_LRF.interfaceName==p_interfaceName)){ return true;}
+            if ((isvalue(vc_MonIntfList.mwS_PSAP)) and (vc_MonIntfList.mwS_PSAP.interfaceName==p_interfaceName)){ return true;}
             if ((isvalue(vc_MonIntfList.ic))   and (vc_MonIntfList.ic.interfaceName==p_interfaceName)){ return true;}
 
             if ((isvalue(vc_MonIntfList.mwPI)) and (vc_MonIntfList.mwPI.interfaceName==p_interfaceName)){ return true;}
@@ -568,7 +587,7 @@ module LibIot_VxLTE_Functions     {
         
         var InterfaceAvailableList v_VxLTE_MonIntf_Available;
         var InterfaceAvailable v_InterfaceAvailable;
-        var SipInterfaceMonitor v_gmA, v_gmB, v_mmBPSAP, v_mwEB, v_mwSPSAP, v_ic, v_mwPI, v_mwPS, v_mwPE, v_mwSI, v_mwPB, v_mwIB, v_mwIE, v_isc;
+        var SipInterfaceMonitor v_gmA, v_gmB, v_mmBPSAP, v_mwEB, v_mlE_LRF, v_mwSPSAP, v_ic, v_mwPI, v_mwPS, v_mwPE, v_mwSI, v_mwPB, v_mwIB, v_mwIE, v_isc;
         var DiameterInterfaceMonitor v_cxIH, v_cxSH, v_gx, v_rx, v_s6a, v_s9, v_sh;
         
         if (PX_SIP_GMA_MONITORENABLED == true){
@@ -601,6 +620,14 @@ module LibIot_VxLTE_Functions     {
 			v_mwEB := f_cf_create_monitor_sip (  valueof(m_MonIntf_Sip_Mw_EB)/*PX_SIP_MW_PI_INTERFACENAME*/ );
 			f_cf_monitor_up_sip(v_mwEB);
 		}
+		if (PX_SIP_ML_E_LRF_MONITORENABLED == true){
+    
+			v_InterfaceAvailable.interfaceName := PX_SIP_ML_E_LRF_INTERFACENAME; 
+			v_InterfaceAvailable.available := PX_SIP_ML_E_LRF_MONITORENABLED;
+			v_VxLTE_MonIntf_Available := f_update_MonitorInterfaceList(v_VxLTE_MonIntf_Available,v_InterfaceAvailable);
+			v_mlE_LRF := f_cf_create_monitor_sip (  valueof(m_MonIntf_Sip_Ml_E_LRF)/*PX_SIP_MW_PI_INTERFACENAME*/ );
+			f_cf_monitor_up_sip(v_mlE_LRF);
+		}
 		if (PX_SIP_MW_S_PSAP_MONITORENABLED == true){
     
 		    v_InterfaceAvailable.interfaceName := PX_SIP_MW_S_PSAP_INTERFACENAME; 
diff --git a/ttcn/LibIot/LibIot_VxLTE_PIXITS.ttcn b/ttcn/LibIot/LibIot_VxLTE_PIXITS.ttcn
index 934c366ac59e99f507eb0c14c8e344fc939afaab..f240415dc63edd5a7bce7fef69bdc8fe11817fe0 100644
--- a/ttcn/LibIot/LibIot_VxLTE_PIXITS.ttcn
+++ b/ttcn/LibIot/LibIot_VxLTE_PIXITS.ttcn
@@ -54,6 +54,7 @@ module LibIot_VxLTE_PIXITS     {
             group Mw{
                 modulepar charstring    PX_SIP_MM_B_PSAP_INTERFACENAME  := "Mm IBCF PSAP";              //Mm interface between IBCF and PSAP
 				modulepar charstring    PX_SIP_MW_EB_INTERFACENAME      := "Mw ECSCF IBCF";             //Mw interface between ECSCF and IBCF
+				modulepar charstring    PX_SIP_ML_E_LRF_INTERFACENAME   := "Ml ECSCF LRF";              //Ml interface between ECSCF and LRF
                 modulepar charstring    PX_SIP_MW_S_PSAP_INTERFACENAME  := "Mw SCSCF PSAP";             //Mw interface between S-CSCF and PSAP
                 modulepar charstring    PX_SIP_MW_PI_INTERFACENAME  := "Mw PI";                  //Mw interface between P-CSCF and I-CSCF
                 modulepar charstring    PX_SIP_MW_PS_INTERFACENAME  := "Mw PS";                  //Mw interface between P-CSCF and S-CSCF
@@ -72,10 +73,13 @@ module LibIot_VxLTE_PIXITS     {
                 modulepar integer       PX_SIP_MW_S_CSCF_PORT       := 5090;                     //Mw Port number of S-CSCF
                 modulepar charstring    PX_SIP_MW_E_CSCF_IPADDR     := "fe80::21a:a0ff:fe07:98"; //Mw IP address of E-CSCF
                 modulepar integer       PX_SIP_MW_E_CSCF_PORT       := 5095;                     //Mw Port number of E-CSCF
+				modulepar charstring    PX_SIP_ML_LRF_IPADDR        := "fe80::21a:a0ff:fe07:98"; //Mw IP address of E-CSCF
+				modulepar integer       PX_SIP_ML_LRF_PORT          := 5095;                     //Mw Port number of E-CSCF
                 modulepar charstring    PX_SIP_MW_IBCF_IPADDR       := "fe80::21a:a0ff:fe07:98"; //Mw IP address of IBCF
                 modulepar integer       PX_SIP_MW_IBCF_PORT         := 5050;                     //Mw Port number of IBCF
 				modulepar boolean       PX_SIP_MM_B_PSAP_MONITORENABLED := true; //true - Monitor enabled for PSAP connection only
-				modulepar boolean       PX_SIP_MW_EB_MONITORENABLED := true; //true - Monitor enabled for PE connection only
+				modulepar boolean       PX_SIP_MW_EB_MONITORENABLED := true; //true - Monitor enabled for EB connection only
+				modulepar boolean       PX_SIP_ML_E_LRF_MONITORENABLED := true; //true - Monitor enabled for E-LRF connection only
                 modulepar boolean       PX_SIP_MW_S_PSAP_MONITORENABLED := true; //true - Monitor enabled for PSAP connection only
                 modulepar boolean       PX_SIP_MW_PI_MONITORENABLED := true; //true - Monitor enabled for PI connection only
                 modulepar boolean       PX_SIP_MW_PS_MONITORENABLED := true; //true - Monitor enabled for PS connection only
diff --git a/ttcn/LibIot/LibIot_VxLTE_Templates.ttcn b/ttcn/LibIot/LibIot_VxLTE_Templates.ttcn
index 12cc045fc916531f4d7754c8dc8b961eba5e8ec2..357cc67540409fddc75ce1da4b93571db84c9dca 100644
--- a/ttcn/LibIot/LibIot_VxLTE_Templates.ttcn
+++ b/ttcn/LibIot/LibIot_VxLTE_Templates.ttcn
@@ -124,12 +124,12 @@ module LibIot_VxLTE_Templates     {
                     interfaceInfo   := {
                         IpInterfaceInfo := {
                             {
-                                domainName :=   "pcscf.ims.domain",
+                                domainName :=   "ibcf.ims.domain",
                                 IpAddress   := PX_SIP_MW_IBCF_IPADDR,
                                 portNumbers := {PX_SIP_MW_IBCF_PORT}
                             },
                             {
-                                domainName :=   "icscf.ims.domain",
+                                domainName :=   "psap.ims.domain",
                                 IpAddress   := PX_SIP_MW_PSAP_IPADDR,
                                 portNumbers := {PX_SIP_MW_PSAP_PORT}
                             }
@@ -143,18 +143,37 @@ module LibIot_VxLTE_Templates     {
 					interfaceInfo   := {
 						IpInterfaceInfo := {
 							{
-								domainName :=   "pcscf.ims.domain",
+								domainName :=   "ecscf.ims.domain",
 								IpAddress   := PX_SIP_MW_E_CSCF_IPADDR,
 								portNumbers := {PX_SIP_MW_E_CSCF_PORT}
 							},
 							{
-								domainName :=   "icscf.ims.domain",
+								domainName :=   "ibcf.ims.domain",
 								IpAddress   := PX_SIP_MW_IBCF_IPADDR,
 								portNumbers := {PX_SIP_MW_IBCF_PORT}
 							}
 						}
 					}
 				};
+                
+				template    MonitorInterfaceInfo    m_MonIntf_Sip_Ml_E_LRF:=
+				{
+					interfaceName   := PX_SIP_ML_E_LRF_INTERFACENAME,
+					interfaceInfo   := {
+						IpInterfaceInfo := {
+							{
+								domainName :=   "ecscf.ims.domain",
+								IpAddress   := PX_SIP_MW_E_CSCF_IPADDR,
+								portNumbers := {PX_SIP_MW_E_CSCF_PORT}
+							},
+							{
+								domainName :=   "lrf.ims.domain",
+								IpAddress   := PX_SIP_ML_LRF_IPADDR,
+								portNumbers := {PX_SIP_ML_LRF_PORT}
+							}
+						}
+					}
+				};
 				
 				template    MonitorInterfaceInfo    m_MonIntf_Sip_MwS_PSAP:= 
 				{
@@ -162,12 +181,12 @@ module LibIot_VxLTE_Templates     {
 					interfaceInfo   := {
 						IpInterfaceInfo := {
 							{
-								domainName :=   "pcscf.ims.domain",
+								domainName :=   "scscf.ims.domain",
 								IpAddress   := PX_SIP_MW_S_CSCF_IPADDR,
 								portNumbers := {PX_SIP_MW_S_CSCF_PORT}
 							},
 							{
-								domainName :=   "icscf.ims.domain",
+								domainName :=   "psap.ims.domain",
 								IpAddress   := PX_SIP_MW_PSAP_IPADDR,
 								portNumbers := {PX_SIP_MW_PSAP_PORT}
 							}