Bug #1617 CBCH implementation for osmo-bts-trx

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Antony Lemmens antony at funquality.be
Fri Apr 6 08:36:06 UTC 2018


Hello,
I'm currently working on a proof of concept for a foreign customer. We have
a Fairwaves UmTRX board and we would like to send Cell Broadcast message
(SMS-CB).
I have a full working osmocom chain (trx, bts-trx, bsc, stp, msc, hlr) that
woks fine for SMS sending by example.

I have made a fix in rsl.c because all SMSCB commands where rejected (see
at bottom of this message).

I have dig into the code and found the place where the SMS CB are queued
(rsl.c : bts_process_smscb_cmd) and the code to extract them as MAC blocks
(rsl.c : bts_cbch_get).

I have also found the handler of the scheduler (scheduler_trx.c
: tx_data_fn) where to put the block data.

I have read articles about the superframe mechanism but I do not figure out
how to advertise the CBCH functionality on the BCCH, nor how to adapt the
scheduler to enable the CB channel.


Is it someone also interrested in this and/or working on the Bug 1617?
Or is it someone that can me give a track to start the implementation?


Have a nice day,
Antony


-----------------------------------------------------------------------------------------------------------
Fix in rsl.c :
-----------------------------------------------------------------------------------------------------------
replaced :
        if (chan_nr_is_dchan(cch->chan_nr))
               return rsl_reject_unknown_lchan(msg);

       msg->lchan = lchan_lookup(trx, cch->chan_nr, "RSL rx CCHAN: ");
       if (!msg->lchan) {
               LOGP(DRSL, LOGL_ERROR, "Rx RSL %s for unknown lchan\n",
                       rsl_msg_name(cch->c.msg_type));
               return rsl_reject_unknown_lchan(msg);
      }

-----------------------------------------------------------------------------------------------------------
by:
if (chan_nr_is_dchan(cch->chan_nr))
        {
            printf("Message NOT for DCHAN\n");
            //return rsl_reject_unknown_lchan(msg);
        }
        else
        {
            printf("Message for DCHAN\n");

            // Only check channel validity if  it is a dedicated channel
call.
            msg->lchan = lchan_lookup(trx, cch->chan_nr, "RSL rx CCHAN: ");
            if (!msg->lchan) {
                    LOGP(DRSL, LOGL_ERROR, "Rx RSL %s for unknown lchan\n",
                            rsl_msg_name(cch->c.msg_type));
                    return rsl_reject_unknown_lchan(msg);
            }
        }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20180406/d8872e9c/attachment.htm>


More information about the OpenBSC mailing list