gprs_bssgp: add utilities to send and parse BSSGP rim PDUs

At the moment libosmogb offers no convinient way to send RIM PDUs. Also
parsing an incoming RIM messages into destination, source routing
info and RIM container is not available.

Change-Id: I18134fd9938040d2facb6beee3732628b167ce8c
Related: SYS#5103
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index 4551427..6fdacce 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -675,6 +675,8 @@
 	nmp.nsei = nsei;
 	nmp.bvci = bvci;
 	nmp.tp = tp;
+	if (bssgp_parse_rim_pdu(&nmp.u.rim_pdu, msg) < 0)
+		return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg);
 	osmo_prim_init(&nmp.oph, SAP_BSSGP_RIM, prim, PRIM_OP_INDICATION, msg);
 	bssgp_prim_cb(&nmp.oph, NULL);
 
@@ -1111,7 +1113,7 @@
 	case BSSGP_PDUT_RAN_INFO_ACK:
 	case BSSGP_PDUT_RAN_INFO_ERROR:
 	case BSSGP_PDUT_RAN_INFO_APP_ERROR:
-		bssgp_rx_rim(msg, tp, bvci);
+		rc = bssgp_rx_rim(msg, tp, bvci);
 		break;
 
 	/* those only exist in the SGSN -> BSS direction */