SGSN: Don't indicate GERAN in Iu mode PDP CTX ACT REQ to GGSN

Change-Id: Ifd9ff4342de342475609bad0257a23c50290e23b
diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c
index 001e611..cd10931 100644
--- a/src/gprs/sgsn_libgtp.c
+++ b/src/gprs/sgsn_libgtp.c
@@ -247,12 +247,8 @@
 	memcpy(pdp->gsnlu.v, &sgsn->cfg.gtp_listenaddr.sin_addr,
 		sizeof(sgsn->cfg.gtp_listenaddr.sin_addr));
 
-	/* Assume we are a GERAN system */
-	pdp->rattype.l = 1;
-	pdp->rattype.v[0] = 2;
-	pdp->rattype_given = 1;
-
-	/* Include RAI and ULI all the time */
+	/* Routing Area Identifier with LAC and RAC fixed values, as
+	 * requested in 29.006 7.3.1 */
 	pdp->rai_given = 1;
 	pdp->rai.l = 6;
 	raid = mmctx->ra;
@@ -260,10 +256,24 @@
 	raid.rac = 0xFF;
 	gsm48_construct_ra(pdp->rai.v, &raid);
 
-	pdp->userloc_given = 1;
-	pdp->userloc.l = 8;
-	pdp->userloc.v[0] = 0; /* CGI for GERAN */
-	bssgp_create_cell_id(&pdp->userloc.v[1], &mmctx->ra, mmctx->gb.cell_id);
+	pdp->rattype.l = 1;
+	pdp->rattype_given = 1;
+
+	switch (mmctx->ran_type) {
+	case MM_CTX_T_GERAN_Gb:
+	case MM_CTX_T_GERAN_Iu:
+		pdp->rattype.v[0] = 2;
+		/* User Location Information */
+		pdp->userloc_given = 1;
+		pdp->userloc.l = 8;
+		pdp->userloc.v[0] = 0; /* CGI for GERAN */
+		bssgp_create_cell_id(&pdp->userloc.v[1], &mmctx->ra, mmctx->gb.cell_id);
+		break;
+	case MM_CTX_T_UTRAN_Iu:
+		pdp->rattype.v[0] = 1;
+		/* FIXME: Optional User Location Information with SAI */
+		break;
+	}
 
 	/* include the IMEI(SV) */
 	pdp->imeisv_given = 1;