diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2013-11-04 18:13:22 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-11-05 15:46:30 +0100 |
commit | 08571b158835df3db09cc94686a8fe62d1845cc9 (patch) | |
tree | c7a9cae2d106504bb1efed653f77ee089a9ef4b8 /src/common | |
parent | 9ef742f5e751c1d5fdfae14aa663e6056e6cac6f (diff) |
sysmobts: Do a RF mute when Radio Carrier is locked
Currently a Change Administrative State Request is just applied
unconditionally to the object's state object and then acknowledged.
This patch implements the special handling of setting the Radio
Carriers state to LOCK or UNLOCK. This is done by passing the
appropriate mute command to the L1 layer. Always all radio channels
are affected, it is not possible to lock single radio channels.
On success, an ACK is sent back to the bsc with the new state (based
on the state passed in the callback by the L1 layer). If something
went wrong or the firmware doesn't support RF mute, a NACK
(REQ_NOT_GRANTED) is sent instead.
Note that a NACK for such a request hasn't been sent by the BTS to
the BSC yet, so (albeit it's spec conformant to do so) the BSC must
be prepared to handle this correctly.
Ticket: OW#976
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/oml.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/common/oml.c b/src/common/oml.c index 1c38c666..bf174b5f 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -299,6 +299,11 @@ int oml_mo_statechg_ack(struct gsm_abis_mo *mo) return oml_mo_send_msg(mo, msg, NM_MT_CHG_ADM_STATE_ACK); } +int oml_mo_statechg_nack(struct gsm_abis_mo *mo, uint8_t nack_cause) +{ + return oml_mo_fom_ack_nack(mo, NM_MT_CHG_ADM_STATE, nack_cause); +} + int oml_mo_opstart_ack(struct gsm_abis_mo *mo) { return oml_mo_fom_ack_nack(mo, NM_MT_OPSTART, 0); |