diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2013-02-05 09:06:49 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2013-03-11 11:47:41 +0100 |
commit | 294fd1b650e4482775fdd604288fc928e66ef81c (patch) | |
tree | 506a480f0f000d7cea082e104d39cc5873164a5c /src/osmo-bts-sysmo/oml.c | |
parent | 19f212951af720bc5ad415d8347838f3ac222442 (diff) |
Added radio link timeout procedure according to TS 05.08 Chapter 5.2
Chapter 5.2 applies to MS procedure, but 5.3 (BSS procedure) defines no
exact criterion, so I decided to use the procedure equivalent to MS.
The criterion is based on a counter S, which is initialized to a preset
RADIO_LINK_TIMEOUT, which can be configured via VTY. Whenever a received
SACCH block is bad, S is counted down by one. If SACCH block is
successfully decoded, S is counted up by two, but never above initial
RADIO_LINK_TIMEOUT value. If S reaches 0, an RSL Connection Failure
Indication with cause RF Radio Link Failure is sent to BSC, which then
aborts channel.
Use link timeout value from BSC via OML attribute.
How to test:
- Set "debug" for "meas" logging.
- Start silent call to an attached mobile.
- Remove battery from mobile or shield mobile.
- Watch S count down.
Diffstat (limited to 'src/osmo-bts-sysmo/oml.c')
-rw-r--r-- | src/osmo-bts-sysmo/oml.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 9e2ac8ee..da3b95b5 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -718,6 +718,7 @@ static int mph_send_activate_req(struct gsm_lchan *lchan, int sapi, int dir) int lchan_activate(struct gsm_lchan *lchan) { + struct gsm_bts_role_bts *btsb = lchan->ts->trx->bts->role; struct femtol1_hdl *fl1h = trx_femtol1_hdl(lchan->ts->trx); const struct lchan_sapis *s4l = &sapis_for_lchan[lchan->type]; unsigned int i; @@ -740,6 +741,8 @@ int lchan_activate(struct gsm_lchan *lchan) lchan_init_lapdm(lchan); + lchan->s = btsb->radio_link_timeout; + return 0; } |