aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/rsl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/rsl.c')
-rw-r--r--src/common/rsl.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 9e9cbb62..be1861cb 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -401,7 +401,11 @@ static int rsl_rx_paging_cmd(struct gsm_bts_trx *trx, struct msgb *msg)
rc = paging_add_identity(btsb->paging_state, paging_group,
identity_lv, chan_needed);
if (rc < 0) {
- /* FIXME: notfiy the BSC somehow ?*/
+ /* FIXME: notfiy the BSC on other errors? */
+ if (rc == -ENOSPC && trx)
+ oml_tx_failure_event_rep(&trx->mo,
+ OSMO_EVT_MIN_PAG_TAB_FULL,
+ "BTS paging table is full\n");
}
pcu_tx_pag_req(identity_lv, chan_needed);
@@ -1649,6 +1653,11 @@ static int rsl_rx_ipac_XXcx(struct msgb *msg)
LOGP(DRSL, LOGL_ERROR,
"%s IPAC Failed to create RTP/RTCP sockets\n",
gsm_lchan_name(lchan));
+ oml_tx_failure_event_rep(&lchan->ts->trx->mo,
+ OSMO_EVT_CRIT_RTP_TOUT,
+ "%s IPAC Failed to create "
+ "RTP/RTCP sockets\n",
+ gsm_lchan_name(lchan));
return tx_ipac_XXcx_nack(lchan, RSL_ERR_RES_UNAVAIL,
inc_ip_port, dch->c.msg_type);
}
@@ -1688,6 +1697,11 @@ static int rsl_rx_ipac_XXcx(struct msgb *msg)
LOGP(DRSL, LOGL_ERROR,
"%s IPAC Failed to bind RTP/RTCP sockets\n",
gsm_lchan_name(lchan));
+ oml_tx_failure_event_rep(&lchan->ts->trx->mo,
+ OSMO_EVT_CRIT_RTP_TOUT,
+ "%s IPAC Failed to bind "
+ "RTP/RTCP sockets\n",
+ gsm_lchan_name(lchan));
osmo_rtp_socket_free(lchan->abis_ip.rtp_socket);
lchan->abis_ip.rtp_socket = NULL;
msgb_queue_flush(&lchan->dl_tch_queue);