abis_rsl: Add support for extended CBCH to rsl_sms_cb_command()

Now that OsmoBTS understands about extended CBCH, let's at least
update the BSC side function to allow for other code to generate
such messages.

Change-Id: I77a16b75ce311d63fb022475c8ff25fbbcee7f55
This commit is contained in:
Harald Welte 2019-05-21 23:25:30 +02:00
parent 46b1c81c19
commit ae46685a63
3 changed files with 5 additions and 3 deletions

View File

@ -90,7 +90,7 @@ int rsl_chan_ms_power_ctrl(struct gsm_lchan *lchan, unsigned int fpc, int dbm);
/* SMSCB functionality */ /* SMSCB functionality */
int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number,
struct rsl_ie_cb_cmd_type cb_command, struct rsl_ie_cb_cmd_type cb_command,
const uint8_t *data, int len); bool use_extended_cbch, const uint8_t *data, int len);
/* some Nokia specific stuff */ /* some Nokia specific stuff */
int rsl_nokia_si_begin(struct gsm_bts_trx *trx); int rsl_nokia_si_begin(struct gsm_bts_trx *trx);

View File

@ -2172,7 +2172,7 @@ int abis_rsl_rcvmsg(struct msgb *msg)
int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number, int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number,
struct rsl_ie_cb_cmd_type cb_command, struct rsl_ie_cb_cmd_type cb_command,
const uint8_t *data, int len) bool use_extended_cbch, const uint8_t *data, int len)
{ {
struct abis_rsl_dchan_hdr *dh; struct abis_rsl_dchan_hdr *dh;
struct msgb *cb_cmd; struct msgb *cb_cmd;
@ -2188,6 +2188,8 @@ int rsl_sms_cb_command(struct gsm_bts *bts, uint8_t chan_number,
msgb_tv_put(cb_cmd, RSL_IE_CB_CMD_TYPE, *(uint8_t*)&cb_command); msgb_tv_put(cb_cmd, RSL_IE_CB_CMD_TYPE, *(uint8_t*)&cb_command);
msgb_tlv_put(cb_cmd, RSL_IE_SMSCB_MSG, len, data); msgb_tlv_put(cb_cmd, RSL_IE_SMSCB_MSG, len, data);
if (use_extended_cbch)
msgb_tv_put(cb_cmd, RSL_IE_SMSCB_CHAN_INDICATOR, 0x01);
cb_cmd->dst = bts->c0->rsl_link; cb_cmd->dst = bts->c0->rsl_link;

View File

@ -4582,7 +4582,7 @@ DEFUN(smscb_cmd, smscb_cmd_cmd,
return CMD_WARNING; return CMD_WARNING;
} }
rsl_sms_cb_command(bts, RSL_CHAN_SDCCH4_ACCH, cb_cmd, buf, rc); rsl_sms_cb_command(bts, RSL_CHAN_SDCCH4_ACCH, cb_cmd, false, buf, rc);
return CMD_SUCCESS; return CMD_SUCCESS;
} }