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 {
