path: root/openbsc/src
diff options
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-05-09 13:18:03 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-16 15:32:32 +0100
commit35c5d6962a4bd8772fb501f7f659cfde6291f207 (patch)
treee0eda186cc1eb95e072ed54e07582887c7cd3aeb /openbsc/src
parentc31f8d26331819e1f1ebcddc67f29bad1aafb586 (diff)
LU counters: count completion and failure, not messages sent
From a human admin viewpoint it doesn't make sense to count the messages sent: When we use TMSIs, we first send a LU Accept with a new TMSI, and then expect the MS to respond with a TMSI Realloc Complete message. When that fails to come through, the LU actually ends in failure, even though a LU Accept was sent. In 3G, if a UE sends an Iu Release during LU (e.g. user enables flight mode), we cancel the LU without sending any reply at all, so nothing would be counted. Instead, count Location Updating results, i.e. completion and failures.
Diffstat (limited to 'openbsc/src')
2 files changed, 4 insertions, 8 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 6e120943b..bd1f96367 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -197,7 +197,7 @@ void gsm0408_clear_request(struct gsm_subscriber_connection *conn, uint32_t caus
* Cancel any outstanding location updating request
* operation taking place on the subscriber connection.
- //release_loc_updating_req(conn, 1);
+ loc_updating_failure(conn, 0);
/* We might need to cancel the paging response or such. */
if (conn->sec_operation && conn->sec_operation->cb) {
@@ -251,8 +251,6 @@ int gsm0408_loc_upd_rej(struct gsm_subscriber_connection *conn, uint8_t cause)
struct msgb *msg;
- rate_ctr_inc(&conn->network->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_RESP_REJECT]);
msg = gsm48_create_loc_upd_rej(cause);
if (!msg) {
LOGP(DMM, LOGL_ERROR, "Failed to create msg for LOCATION UPDATING REJECT.\n");
@@ -307,8 +305,6 @@ static int gsm0408_loc_upd_acc(struct gsm_subscriber_connection *conn,
- rate_ctr_inc(&conn->network->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_RESP_ACCEPT]);
return gsm48_conn_sendmsg(msg, conn, NULL);
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index 60a3666e9..804b5c70c 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -691,9 +691,9 @@ DEFUN(show_stats,
vty_out(vty, "IMSI Detach Indications : %lu%s",
- vty_out(vty, "Location Update Response: %lu accept, %lu reject%s",
- net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_RESP_ACCEPT].current,
- net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_RESP_REJECT].current,
+ vty_out(vty, "Location Updating Results: %lu completed, %lu failed%s",
+ net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_COMPLETED].current,
+ net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_FAILED].current,
vty_out(vty, "Handover : %lu attempted, %lu no_channel, %lu timeout, "
"%lu completed, %lu failed%s",