diff --git a/asterisk/Asterisk_Tests.ttcn b/asterisk/Asterisk_Tests.ttcn
index 4ac7eaf..5a51d1d 100644
--- a/asterisk/Asterisk_Tests.ttcn
+++ b/asterisk/Asterisk_Tests.ttcn
@@ -37,6 +37,7 @@
 
 	charstring mp_local_ims_host := "127.0.0.3";
 	integer mp_local_ims_port := 5060;
+	charstring mp_ims_domain := "ims.mnc001.mcc238.3gppnetwork.org"
 	charstring mp_ims_imsi := "238010000090828";
 
 	/* Asterisk AMI: */
@@ -88,6 +89,7 @@
 	var template (value) IMS_CallPars cp := t_IMS_CallPars(mp_local_sip_host, 1234 + 2*idx);
 	var template (value) IMS_ConnHdlrPars pars := t_IMS_Pars(mp_local_ims_host,
 								 mp_local_ims_port,
+								 mp_ims_domain,
 								 mp_ims_imsi,
 								 cp := cp);
 	return valueof(pars);
@@ -393,7 +395,7 @@
 				      c_auth_res, c_auth_ck, c_auth_ik);
 
 	AMI_CLIENT.receive(tr_AMI_Event_Registry(f_sip_SipAddr_to_str(pars.subscr.local_sip_record),
-						 "sip:" & mp_local_ims_host,
+						 "sip:" & mp_ims_domain,
 						 "Registered"));
 
 	 /* TODO: test "Action: PJSIPUnregister" */
@@ -449,9 +451,9 @@
 	sip_pars.cp.calling := sip_pars.registrar_sip_record;
 	sip_pars.cp.called := valueof(ts_SipAddr(ts_HostPort(sip_pars.remote_sip_host),
 						 ts_UserInfo(c_ext_msisdn)));
-	ims_pars.subscr.cp.calling := valueof(ts_SipAddr(ts_HostPort(ims_pars.local_sip_host),
+	ims_pars.subscr.cp.calling := valueof(ts_SipAddr(ts_HostPort(ims_pars.realm),
 							 ts_UserInfo(ims_pars.subscr.msisdn)));
-	ims_pars.subscr.cp.called := valueof(ts_SipAddr(ts_HostPort(ims_pars.local_sip_host),
+	ims_pars.subscr.cp.called := valueof(ts_SipAddr(ts_HostPort(ims_pars.realm),
 							ts_UserInfo(c_ext_msisdn)));
 
 	vc_conn_ims := f_start_handler_IMS(refers(f_TC_ims_call_mo), ims_pars);
diff --git a/asterisk/IMS_ConnectionHandler.ttcn b/asterisk/IMS_ConnectionHandler.ttcn
index 3f0c380..a2f3dba 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -144,6 +144,7 @@
 
 template (value) IMS_ConnHdlrSubscrPars t_IMS_SubscrPars(charstring local_sip_host,
 						   uint16_t local_sip_port,
+						   charstring domain,
 						   charstring imsi,
 						   charstring msisdn := "90828",
 						   charstring display_name := "Anonymous",
@@ -166,19 +167,19 @@
 	ipsec_remote_spi_s := omit,
 	ipsec_remote_port_c := omit,
 	ipsec_remote_port_s := omit,
-	registrar_sip_record := ts_SipAddr(ts_HostPort(local_sip_host),
+	registrar_sip_record := ts_SipAddr(ts_HostPort(domain),
 					   ts_UserInfo(imsi),
 					   f_sip_str_quote(display_name)),
-	registrar_sip_call_id := hex2str(f_rnd_hexstring(15)) & "@" & local_sip_host,
+	registrar_sip_call_id := hex2str(f_rnd_hexstring(15)) & "@" & domain,
 	registrar_sip_seq_nr := f_sip_rand_seq_nr(),
-	local_sip_url_ext := ts_SipUrl(ts_HostPort(local_sip_host, local_sip_port),
+	local_sip_url_ext := ts_SipUrl(ts_HostPort(domain, local_sip_port),
 				       ts_UserInfo(imsi)),
-	local_sip_record := ts_SipAddr(ts_HostPort(local_sip_host),
+	local_sip_record := ts_SipAddr(ts_HostPort(domain),
 				       ts_UserInfo(imsi)),
 	local_contact := valueof(ts_Contact({
 					ts_ContactAddress(
 						ts_Addr_Union_SipUrl(ts_SipUrl(ts_HostPort(
-										 local_sip_host,
+										 domain,
 										 local_sip_port),
 								     ts_UserInfo(imsi))),
 						omit)
@@ -188,15 +189,16 @@
 
 template (value) IMS_ConnHdlrPars t_IMS_Pars(charstring local_sip_host,
 					uint16_t local_sip_port,
+					charstring domain,
 					charstring imsi,
 					template (omit) IMS_CallPars cp := omit) := {
 	t_guard := 30.0,
-	realm := local_sip_host,
+	realm := domain,
 	local_sip_host := local_sip_host,
 	local_sip_port := local_sip_port,
-	registrar_sip_req_uri := valueof(ts_SipUrlHost(local_sip_host)),
+	registrar_sip_req_uri := valueof(ts_SipUrlHost(domain)),
 	local_via := ts_Via_from(ts_HostPort(local_sip_host, local_sip_port)),
-	subscr := t_IMS_SubscrPars(local_sip_host, local_sip_port, imsi := imsi, cp := cp)
+	subscr := t_IMS_SubscrPars(local_sip_host, local_sip_port, domain := domain, imsi := imsi, cp := cp)
 }
 
 private altstep as_Tguard() runs on IMS_ConnHdlr {
