rsl: support for ericssons propritary SI13 format

Ericsson has introduced a propritary format to issue the S13 BCCH
information. Normally the system info type field for SI13 would
be encoded as 0x28. Ericsson encodes that field as 0x02 and ads
a bcch mapping parameter, (IEI=F2) This patch sets the BCCH mapping
to 0x00 (=BCCH Normal) statically (0xF200)

The new constands are added to libosmocore, see commit:
f0f9c8c29daaefbf9cff19177ade4a13ffb2e36c

Change-Id: Ie0900f9b810744172b3090ce1b0ef7b7a1132946
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
index 36487c7..b7f7a75 100644
--- a/openbsc/src/libbsc/abis_rsl.c
+++ b/openbsc/src/libbsc/abis_rsl.c
@@ -237,8 +237,17 @@
 	init_dchan_hdr(dh, RSL_MT_BCCH_INFO);
 	dh->chan_nr = RSL_CHAN_BCCH;
 
-	msgb_tv_put(msg, RSL_IE_SYSINFO_TYPE, type);
-	msgb_tlv_put(msg, RSL_IE_FULL_BCCH_INFO, len, data);
+	if (trx->bts->type == GSM_BTS_TYPE_RBS2000
+	    && type == RSL_SYSTEM_INFO_13) {
+		/* Ericsson proprietary encoding of SI13 */
+		msgb_tv_put(msg, RSL_IE_SYSINFO_TYPE, RSL_ERIC_SYSTEM_INFO_13);
+		msgb_tlv_put(msg, RSL_IE_FULL_BCCH_INFO, len, data);
+		msgb_tv_put(msg, RSL_IE_ERIC_BCCH_MAPPING, 0x00);
+	} else {
+		/* Normal encoding */
+		msgb_tv_put(msg, RSL_IE_SYSINFO_TYPE, type);
+		msgb_tlv_put(msg, RSL_IE_FULL_BCCH_INFO, len, data);
+	}
 
 	msg->dst = trx->rsl_link;