gprs_bssgp_pcu_rx_dl_ud(): fix: BSSGP_IE_IMSI is optional

Change-Id: I940d220a399166122f33e67a222dd572085e1401
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index b34659b..3ea3e59 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -118,7 +118,11 @@
 	/* read IMSI. if no IMSI exists, use first paging block (any paging),
 	 * because during attachment the IMSI might not be known, so the MS
 	 * will listen to all paging blocks. */
-	gsm48_mi_to_string(imsi, sizeof(imsi), TLVP_VAL(tp, BSSGP_IE_IMSI), TLVP_LEN(tp, BSSGP_IE_IMSI));
+	if (TLVP_PRESENT(tp, BSSGP_IE_IMSI))
+	{
+		gsm48_mi_to_string(imsi, sizeof(imsi), TLVP_VAL(tp, BSSGP_IE_IMSI),
+						       TLVP_LEN(tp, BSSGP_IE_IMSI));
+	}
 
 #if 0 /* Do not rely on this IE. TODO: make this configurable */
 	/* parse ms radio access capability */