question about 'lai & lac' paging

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/.

Harald Welte laforge at gnumonks.org
Sat Jan 6 10:20:37 UTC 2018


Hi Stefan,

On Fri, Jan 05, 2018 at 06:04:59PM +0100, Stefan Sperling wrote:

> I am trying to fix issue OS#2754 "Paging on LAI not working".
> But the second test fails. It looks as if the MSC expects a response
> which is not delivered. I am unsure if the test has wrong expectations
> or if osmo-bsc is not sending a required response?

It's not a "response", but the BSC converts the (single) BSSMAP PAGING
into 0-N (typically 1-N) "RSL PAGING CMD" towards the BTSs.

The TTCN-3 tests always simulate the entire surrounding of the program
in a fixture.  So for the BSC tests, it doesn't just simulate the MSC,
but simulates the MSC and BTSs (and soon also the MGW) to be able to
control all external interfaces.

The cell identifier list included in the BSSMAP paging tells the BSC which
BTSs it should start to page.

The current code (AFAIR)

a) doesn't understand the concept of the list but only looks at the first element?
b) doesn't understand a lot of the different address formats (CGI, CI, ...)

> Test case TC_paging_imsi_nochan_lai finished. Verdict: fail reason:
> Timeout expecting { msg_disc := { msg_group := RSL_MDISC_CCHAN (6),
> transparent := false }, msg_type := RSL_MT_PAGING_CMD (21), ies := { {
> iei := ?, body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_PCH_AGCH (18)
> }, tn := ? } } }, { iei := ?, body := { paging_group := ? } }, { iei :=
> ?, body := { ms_identity := { len := ?, payload := ? } } }, * } }   

This means that one one of the BTSs where we expect the RSL PAGING it didn't arrive.

> Any hints how to proceed?

you can verify the test correctness by monitoring the RSL link and
checking which of the BTSs (if any) get the RSL PAGING CMD and which
not, and whether that reflects the LAC/CI values configured in
osmo-bsc.cfg.

Regarding your patch:  I think it falls quite a bit short.

>  	switch (cell_ident) {
> +	case CELL_IDENT_LAI_AND_LAC:
> +		if (data_length != 6) {
> +			LOGP(DMSC, LOGL_ERROR, "Paging IMSI %s: Cell Identifier List for BSS (0x%x)"
> +			     " has invalid length: %u, paging entire BSS anyway (%s)\n",
> +			     mi_string, CELL_IDENT_BSS, data_length, osmo_hexdump(data, data_length));
> +		}
> +		lac = osmo_load16be(&data[4]);
> +		break;

please don't just use magic numbers like 6 + 4 but actually define
structs or otherwise parse the data.  Also, a LAI includes MCC+MNC, so
you must verify if all parameters match.

Also, as indicated, the existing code does not traverse the cell
identification list yet, does it?

-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)



More information about the OpenBSC mailing list