asterisk: Allow configuring a domain servername instead of IP address

Change-Id: I23afdc8b70132dbd947c280f6e5aadbc84849f01
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 {