gsup: send RAT type on LU

At 36c3, osmo-hlr was run with a patch that records the RAN type of attached
subscribers. Even though this is not in osmo-hlr master, it is nice information
to send along.

Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274
diff --git a/src/sgsn/gprs_subscriber.c b/src/sgsn/gprs_subscriber.c
index 484c7ef..c23b332 100644
--- a/src/sgsn/gprs_subscriber.c
+++ b/src/sgsn/gprs_subscriber.c
@@ -812,7 +812,7 @@
 	return gprs_subscr_tx_gsup_message(subscr, &gsup_msg);
 }
 
-int gprs_subscr_location_update(struct gprs_subscr *subscr)
+int gprs_subscr_location_update(struct gprs_subscr *subscr, enum sgsn_ran_type ran_type)
 {
 	struct osmo_gsup_message gsup_msg = {0};
 
@@ -820,6 +820,18 @@
 		"subscriber data is not available\n");
 
 	gsup_msg.message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST;
+
+	switch (ran_type) {
+	case MM_CTX_T_GERAN_Gb:
+		gsup_msg.current_rat_type = OSMO_RAT_GERAN_A;
+		break;
+	case MM_CTX_T_UTRAN_Iu:
+		gsup_msg.current_rat_type = OSMO_RAT_UTRAN_IU;
+		break;
+	default:
+		break;
+	}
+
 	return gprs_subscr_tx_gsup_message(subscr, &gsup_msg);
 }
 
@@ -884,7 +896,7 @@
 
 	subscr->flags |= GPRS_SUBSCRIBER_UPDATE_LOCATION_PENDING;
 
-	rc = gprs_subscr_location_update(subscr);
+	rc = gprs_subscr_location_update(subscr, mmctx->ran_type);
 	gprs_subscr_put(subscr);
 	return rc;
 }