aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/oml.c
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2013-11-04 18:13:22 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-11-05 15:46:30 +0100
commit08571b158835df3db09cc94686a8fe62d1845cc9 (patch)
treec7a9cae2d106504bb1efed653f77ee089a9ef4b8 /src/common/oml.c
parent9ef742f5e751c1d5fdfae14aa663e6056e6cac6f (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/oml.c')
-rw-r--r--src/common/oml.c5
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);