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
This commit is contained in:
Philipp Maier 2016-11-02 12:05:44 +01:00 committed by Harald Welte
parent 38cba5aa79
commit 309425e105
1 changed files with 11 additions and 2 deletions

View File

@ -237,8 +237,17 @@ int rsl_bcch_info(struct gsm_bts_trx *trx, uint8_t type,
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;