aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/oml.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-01-02 20:16:22 +0100
committerMax <msuraev@sysmocom.de>2017-01-08 11:03:39 +0000
commitc038cb790309c4970980d6811456c3ed6bc4d896 (patch)
treec681e18a06ce4894a2eea05e2a0bb6e48447fce6 /src/common/oml.c
parent94dd5060c82c174b0b0af25284593272252d5787 (diff)
Add Abis OML failure event reporting
Send 3GPP TS 12.21 § 8.8.2 Abis/OML failure event report. Change-Id: Ib1170edca2207752984a554d7a6a57c224f6d5f5 Related: OS#1615
Diffstat (limited to 'src/common/oml.c')
-rw-r--r--src/common/oml.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/common/oml.c b/src/common/oml.c
index 0700aa23..870ef3c7 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -1140,6 +1140,25 @@ int down_oml(struct gsm_bts *bts, struct msgb *msg)
return ret;
}
+/* 3GPP TS 12.21 § 8.8.2 */
+int oml_tx_failure_event_rep(struct gsm_abis_mo *mo, uint16_t cause_value,
+ const char *fmt, ...)
+{
+ struct msgb *nmsg;
+ va_list ap;
+
+ va_start(ap, fmt);
+ nmsg = abis_nm_fail_evt_rep(NM_EVT_PROC_FAIL, NM_SEVER_CRITICAL,
+ NM_PCAUSE_T_MANUF, cause_value, fmt, ap);
+ LOGP(DOML, LOGL_INFO, fmt, ap);
+ va_end(ap);
+
+ if (!nmsg)
+ return -ENOMEM;
+
+ return oml_mo_send_msg(mo, nmsg, NM_MT_FAILURE_EVENT_REP);
+}
+
int oml_init(void)
{
DEBUGP(DOML, "Initializing OML attribute definitions\n");