hlr: f_perform_UL: add CnDomain parameter

Make it possible to do CS location update, not only PS. This is needed
for upcoming D-GSM related tests.

Related: SYS#4618
Change-Id: Idd699f054c9242614b9bea066428293f8b2da9c2
diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn
index 4caa88e..b59f86e 100644
--- a/hlr/HLR_Tests.ttcn
+++ b/hlr/HLR_Tests.ttcn
@@ -447,7 +447,8 @@
 }
 
 function f_perform_UL(hexstring imsi, template hexstring msisdn,
-			template (omit) integer exp_err_cause := omit)
+			template (omit) integer exp_err_cause := omit,
+			GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS)
 runs on HLR_ConnHdlr return GSUP_PDU {
 	var GSUP_PDU ret;
 	timer T := 3.0;
@@ -457,7 +458,7 @@
 		exp_fail := true;
 	}
 
-	GSUP.send(valueof(ts_GSUP_UL_REQ(imsi)));
+	GSUP.send(valueof(ts_GSUP_UL_REQ(imsi, dom)));
 	T.start;
 	alt {
 	[exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, exp_err_cause)) -> value ret {
diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index 880a6ad..0f36d4d 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -495,9 +495,9 @@
 	tr_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT, {
 			tr_GSUP_IE_IMSI(imsi), *, tr_GSUP_IE(OSMO_GSUP_AUTH_TUPLE_IE), * });
 
-template (value) GSUP_PDU ts_GSUP_UL_REQ(hexstring imsi) :=
+template (value) GSUP_PDU ts_GSUP_UL_REQ(hexstring imsi, GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS) :=
 	ts_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST, {
-			valueof(ts_GSUP_IE_IMSI(imsi)) });
+			valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_CnDomain(dom)) });
 
 template GSUP_PDU tr_GSUP_UL_REQ(template hexstring imsi) :=
 	tr_GSUP_IMSI(OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST, imsi);