OpenBSC
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
November 2015
- 18 participants
- 52 discussions
17 Nov '15
This commit moves the stats specific code parts into stats_statsd.c
while keeping the generic parts in stats.c. The code in stats.c no
longer contains references to statsd symbols.
Note that the VTY code still needs to know about every stats reporter
backend.
Sponsored-by: On-Waves ehf
---
include/osmocom/core/stats.h | 16 +++--
src/Makefile.am | 2 +-
src/stats.c | 148 +++-------------------------------------
src/stats_statsd.c | 158 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 180 insertions(+), 144 deletions(-)
create mode 100644 src/stats_statsd.c
diff --git a/include/osmocom/core/stats.h b/include/osmocom/core/stats.h
index 39eae08..96f687e 100644
--- a/include/osmocom/core/stats.h
+++ b/include/osmocom/core/stats.h
@@ -38,8 +38,8 @@ enum osmo_stats_class {
};
enum osmo_stats_reporter_type {
- OSMO_STATS_REPORTER_STATSD,
OSMO_STATS_REPORTER_LOG,
+ OSMO_STATS_REPORTER_STATSD,
};
struct osmo_stats_reporter {
@@ -96,9 +96,6 @@ struct osmo_stats_reporter *osmo_stats_reporter_alloc(enum osmo_stats_reporter_t
const char *name);
void osmo_stats_reporter_free(struct osmo_stats_reporter *srep);
-struct osmo_stats_reporter *osmo_stats_reporter_create_statsd(const char *name);
-struct osmo_stats_reporter *osmo_stats_reporter_create_log(const char *name);
-
struct osmo_stats_reporter *osmo_stats_reporter_find(enum osmo_stats_reporter_type type,
const char *name);
@@ -111,3 +108,14 @@ int osmo_stats_reporter_set_max_class(struct osmo_stats_reporter *srep,
int osmo_stats_reporter_set_name_prefix(struct osmo_stats_reporter *srep, const char *prefix);
int osmo_stats_reporter_enable(struct osmo_stats_reporter *srep);
int osmo_stats_reporter_disable(struct osmo_stats_reporter *srep);
+
+/* reporter creation */
+struct osmo_stats_reporter *osmo_stats_reporter_create_log(const char *name);
+struct osmo_stats_reporter *osmo_stats_reporter_create_statsd(const char *name);
+
+/* helper functions for reporter implementations */
+int osmo_stats_reporter_send(struct osmo_stats_reporter *srep, const char *data,
+ int data_len);
+int osmo_stats_reporter_send_buffer(struct osmo_stats_reporter *srep);
+int osmo_stats_reporter_udp_open(struct osmo_stats_reporter *srep);
+int osmo_stats_reporter_udp_close(struct osmo_stats_reporter *srep);
diff --git a/src/Makefile.am b/src/Makefile.am
index 7aa6a78..00b97d0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,7 +15,7 @@ libosmocore_la_SOURCES = timer.c select.c signal.c msgb.c bits.c \
gsmtap_util.c crc16.c panic.c backtrace.c \
conv.c application.c rbtree.c strrb.c \
loggingrb.c crc8gen.c crc16gen.c crc32gen.c crc64gen.c \
- macaddr.c stat_item.c stats.c
+ macaddr.c stat_item.c stats.c stats_statsd.c
BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c
diff --git a/src/stats.c b/src/stats.c
index 16e2971..5547910 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -42,7 +42,7 @@
#include <osmocom/core/msgb.h>
#define STATS_DEFAULT_INTERVAL 5 /* secs */
-#define STATS_DEFAULT_STATSD_BUFLEN 256
+#define STATS_DEFAULT_BUFLEN 256
static LLIST_HEAD(osmo_stats_reporter_list);
static void *osmo_stats_ctx = NULL;
@@ -56,16 +56,6 @@ struct osmo_stats_config *osmo_stats_config = &s_stats_config;
static struct osmo_timer_list osmo_stats_timer;
-static int osmo_stats_reporter_statsd_open(struct osmo_stats_reporter *srep);
-static int osmo_stats_reporter_statsd_close(struct osmo_stats_reporter *srep);
-static int osmo_stats_reporter_statsd_send_counter(struct osmo_stats_reporter *srep,
- const struct rate_ctr_group *ctrg,
- const struct rate_ctr_desc *desc,
- int64_t value, int64_t delta);
-static int osmo_stats_reporter_statsd_send_item(struct osmo_stats_reporter *srep,
- const struct osmo_stat_item_group *statg,
- const struct osmo_stat_item_desc *desc, int value);
-
static int osmo_stats_reporter_log_send_counter(struct osmo_stats_reporter *srep,
const struct rate_ctr_group *ctrg,
const struct rate_ctr_desc *desc,
@@ -74,10 +64,6 @@ static int osmo_stats_reporter_log_send_item(struct osmo_stats_reporter *srep,
const struct osmo_stat_item_group *statg,
const struct osmo_stat_item_desc *desc, int value);
-static int osmo_stats_reporter_send(struct osmo_stats_reporter *srep, const char *data,
- int data_len);
-static int osmo_stats_reporter_send_buffer(struct osmo_stats_reporter *srep);
-
static int update_srep_config(struct osmo_stats_reporter *srep)
{
int rc = 0;
@@ -300,7 +286,7 @@ int osmo_stats_reporter_disable(struct osmo_stats_reporter *srep)
return update_srep_config(srep);
}
-static int osmo_stats_reporter_send(struct osmo_stats_reporter *srep, const char *data,
+int osmo_stats_reporter_send(struct osmo_stats_reporter *srep, const char *data,
int data_len)
{
int rc;
@@ -314,7 +300,7 @@ static int osmo_stats_reporter_send(struct osmo_stats_reporter *srep, const char
return rc;
}
-static int osmo_stats_reporter_send_buffer(struct osmo_stats_reporter *srep)
+int osmo_stats_reporter_send_buffer(struct osmo_stats_reporter *srep)
{
int rc;
@@ -394,31 +380,16 @@ static int osmo_stats_reporter_log_send_item(struct osmo_stats_reporter *srep,
desc->name, value, desc->unit);
}
-/*** statsd reporter ***/
-
-struct osmo_stats_reporter *osmo_stats_reporter_create_statsd(const char *name)
-{
- struct osmo_stats_reporter *srep;
- srep = osmo_stats_reporter_alloc(OSMO_STATS_REPORTER_STATSD, name);
-
- srep->have_net_config = 1;
-
- srep->open = osmo_stats_reporter_statsd_open;
- srep->close = osmo_stats_reporter_statsd_close;
- srep->send_counter = osmo_stats_reporter_statsd_send_counter;
- srep->send_item = osmo_stats_reporter_statsd_send_item;
-
- return srep;
-}
+/*** i/o helper functions ***/
-static int osmo_stats_reporter_statsd_open(struct osmo_stats_reporter *srep)
+int osmo_stats_reporter_udp_open(struct osmo_stats_reporter *srep)
{
int sock;
int rc;
- int buffer_size = STATS_DEFAULT_STATSD_BUFLEN;
+ int buffer_size = STATS_DEFAULT_BUFLEN;
- if (srep->fd != -1)
- osmo_stats_reporter_statsd_close(srep);
+ if (srep->fd != -1 && srep->close)
+ srep->close(srep);
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock == -1)
@@ -448,7 +419,7 @@ failed:
return rc;
}
-static int osmo_stats_reporter_statsd_close(struct osmo_stats_reporter *srep)
+int osmo_stats_reporter_udp_close(struct osmo_stats_reporter *srep)
{
int rc;
if (srep->fd == -1)
@@ -463,107 +434,6 @@ static int osmo_stats_reporter_statsd_close(struct osmo_stats_reporter *srep)
return rc == -1 ? -errno : 0;
}
-static int osmo_stats_reporter_statsd_send(struct osmo_stats_reporter *srep,
- const char *name1, unsigned int index1, const char *name2, int value,
- const char *unit)
-{
- char *buf;
- int buf_size;
- int nchars, rc = 0;
- char *fmt = NULL;
- char *prefix = srep->name_prefix;
- int old_len = msgb_length(srep->buffer);
-
- if (prefix) {
- if (name1) {
- if (index1 != 0)
- fmt = "%1$s.%2$s.%6$u.%3$s:%4$d|%5$s";
- else
- fmt = "%1$s.%2$s.%3$s:%4$d|%5$s";
- } else {
- fmt = "%1$s.%2$0.0s%3$s:%4$d|%5$s";
- }
- } else {
- prefix = "";
- if (name1) {
- if (index1 != 0)
- fmt = "%1$s%2$s.%6$u.%3$s:%4$d|%5$s";
- else
- fmt = "%1$s%2$s.%3$s:%4$d|%5$s";
- } else {
- fmt = "%1$s%2$0.0s%3$s:%4$d|%5$s";
- }
- }
-
- if (srep->agg_enabled) {
- if (msgb_length(srep->buffer) > 0 &&
- msgb_tailroom(srep->buffer) > 0)
- {
- msgb_put_u8(srep->buffer, '\n');
- }
- }
-
- buf = (char *)msgb_put(srep->buffer, 0);
- buf_size = msgb_tailroom(srep->buffer);
-
- nchars = snprintf(buf, buf_size, fmt,
- prefix, name1, name2,
- value, unit, index1);
-
- if (nchars >= buf_size) {
- /* Truncated */
- /* Restore original buffer (without trailing LF) */
- msgb_trim(srep->buffer, old_len);
- /* Send it */
- rc = osmo_stats_reporter_send_buffer(srep);
-
- /* Try again */
- buf = (char *)msgb_put(srep->buffer, 0);
- buf_size = msgb_tailroom(srep->buffer);
-
- nchars = snprintf(buf, buf_size, fmt,
- prefix, name1, name2,
- value, unit, index1);
-
- if (nchars >= buf_size)
- return -EMSGSIZE;
- }
-
- if (nchars > 0)
- msgb_trim(srep->buffer, msgb_length(srep->buffer) + nchars);
-
- if (!srep->agg_enabled)
- rc = osmo_stats_reporter_send_buffer(srep);
-
- return rc;
-}
-
-static int osmo_stats_reporter_statsd_send_counter(struct osmo_stats_reporter *srep,
- const struct rate_ctr_group *ctrg,
- const struct rate_ctr_desc *desc,
- int64_t value, int64_t delta)
-{
- if (ctrg)
- return osmo_stats_reporter_statsd_send(srep,
- ctrg->desc->group_name_prefix,
- ctrg->idx,
- desc->name, delta, "c");
- else
- return osmo_stats_reporter_statsd_send(srep,
- NULL, 0,
- desc->name, delta, "c");
-}
-
-static int osmo_stats_reporter_statsd_send_item(struct osmo_stats_reporter *srep,
- const struct osmo_stat_item_group *statg,
- const struct osmo_stat_item_desc *desc, int value)
-{
- return osmo_stats_reporter_statsd_send(srep,
- statg->desc->group_name_prefix,
- statg->idx,
- desc->name, value, desc->unit);
-}
-
/*** generic rate counter support ***/
static int osmo_stats_reporter_send_counter(struct osmo_stats_reporter *srep,
diff --git a/src/stats_statsd.c b/src/stats_statsd.c
new file mode 100644
index 0000000..c76f8f6
--- /dev/null
+++ b/src/stats_statsd.c
@@ -0,0 +1,158 @@
+/*
+ * (C) 2015 by Sysmocom s.f.m.c. GmbH
+ *
+ * Author: Jacob Erlbeck <jerlbeck(a)sysmocom.de>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <osmocom/core/stats.h>
+
+#include <string.h>
+#include <stdint.h>
+#include <errno.h>
+
+#include <osmocom/core/utils.h>
+#include <osmocom/core/logging.h>
+#include <osmocom/core/rate_ctr.h>
+#include <osmocom/core/stat_item.h>
+#include <osmocom/core/msgb.h>
+
+static int osmo_stats_reporter_statsd_send_counter(struct osmo_stats_reporter *srep,
+ const struct rate_ctr_group *ctrg,
+ const struct rate_ctr_desc *desc,
+ int64_t value, int64_t delta);
+static int osmo_stats_reporter_statsd_send_item(struct osmo_stats_reporter *srep,
+ const struct osmo_stat_item_group *statg,
+ const struct osmo_stat_item_desc *desc, int value);
+
+struct osmo_stats_reporter *osmo_stats_reporter_create_statsd(const char *name)
+{
+ struct osmo_stats_reporter *srep;
+ srep = osmo_stats_reporter_alloc(OSMO_STATS_REPORTER_STATSD, name);
+
+ srep->have_net_config = 1;
+
+ srep->open = osmo_stats_reporter_udp_open;
+ srep->close = osmo_stats_reporter_udp_close;
+ srep->send_counter = osmo_stats_reporter_statsd_send_counter;
+ srep->send_item = osmo_stats_reporter_statsd_send_item;
+
+ return srep;
+}
+
+static int osmo_stats_reporter_statsd_send(struct osmo_stats_reporter *srep,
+ const char *name1, unsigned int index1, const char *name2, int value,
+ const char *unit)
+{
+ char *buf;
+ int buf_size;
+ int nchars, rc = 0;
+ char *fmt = NULL;
+ char *prefix = srep->name_prefix;
+ int old_len = msgb_length(srep->buffer);
+
+ if (prefix) {
+ if (name1) {
+ if (index1 != 0)
+ fmt = "%1$s.%2$s.%6$u.%3$s:%4$d|%5$s";
+ else
+ fmt = "%1$s.%2$s.%3$s:%4$d|%5$s";
+ } else {
+ fmt = "%1$s.%2$0.0s%3$s:%4$d|%5$s";
+ }
+ } else {
+ prefix = "";
+ if (name1) {
+ if (index1 != 0)
+ fmt = "%1$s%2$s.%6$u.%3$s:%4$d|%5$s";
+ else
+ fmt = "%1$s%2$s.%3$s:%4$d|%5$s";
+ } else {
+ fmt = "%1$s%2$0.0s%3$s:%4$d|%5$s";
+ }
+ }
+
+ if (srep->agg_enabled) {
+ if (msgb_length(srep->buffer) > 0 &&
+ msgb_tailroom(srep->buffer) > 0)
+ {
+ msgb_put_u8(srep->buffer, '\n');
+ }
+ }
+
+ buf = (char *)msgb_put(srep->buffer, 0);
+ buf_size = msgb_tailroom(srep->buffer);
+
+ nchars = snprintf(buf, buf_size, fmt,
+ prefix, name1, name2,
+ value, unit, index1);
+
+ if (nchars >= buf_size) {
+ /* Truncated */
+ /* Restore original buffer (without trailing LF) */
+ msgb_trim(srep->buffer, old_len);
+ /* Send it */
+ rc = osmo_stats_reporter_send_buffer(srep);
+
+ /* Try again */
+ buf = (char *)msgb_put(srep->buffer, 0);
+ buf_size = msgb_tailroom(srep->buffer);
+
+ nchars = snprintf(buf, buf_size, fmt,
+ prefix, name1, name2,
+ value, unit, index1);
+
+ if (nchars >= buf_size)
+ return -EMSGSIZE;
+ }
+
+ if (nchars > 0)
+ msgb_trim(srep->buffer, msgb_length(srep->buffer) + nchars);
+
+ if (!srep->agg_enabled)
+ rc = osmo_stats_reporter_send_buffer(srep);
+
+ return rc;
+}
+
+static int osmo_stats_reporter_statsd_send_counter(struct osmo_stats_reporter *srep,
+ const struct rate_ctr_group *ctrg,
+ const struct rate_ctr_desc *desc,
+ int64_t value, int64_t delta)
+{
+ if (ctrg)
+ return osmo_stats_reporter_statsd_send(srep,
+ ctrg->desc->group_name_prefix,
+ ctrg->idx,
+ desc->name, delta, "c");
+ else
+ return osmo_stats_reporter_statsd_send(srep,
+ NULL, 0,
+ desc->name, delta, "c");
+}
+
+static int osmo_stats_reporter_statsd_send_item(struct osmo_stats_reporter *srep,
+ const struct osmo_stat_item_group *statg,
+ const struct osmo_stat_item_desc *desc, int value)
+{
+ return osmo_stats_reporter_statsd_send(srep,
+ statg->desc->group_name_prefix,
+ statg->idx,
+ desc->name, value, desc->unit);
+}
--
1.9.1
1
4
These functions are currently part of openbsc but also needed by
other projects.
The function have been renamed as follows:
gprs_apn_to_str -> osmo_apn_to_str
gprs_str_to_apn -> osmo_apn_from_str
Sponsored-by: On-Waves ehf
---
include/osmocom/gsm/apn.h | 4 ++
src/gsm/apn.c | 76 +++++++++++++++++++++++++++++
src/gsm/libosmogsm.map | 2 +
tests/Makefile.am | 10 ++--
tests/gprs/gprs_test.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++
tests/gprs/gprs_test.ok | 1 +
tests/testsuite.at | 6 +++
7 files changed, 218 insertions(+), 3 deletions(-)
create mode 100644 tests/gprs/gprs_test.c
create mode 100644 tests/gprs/gprs_test.ok
diff --git a/include/osmocom/gsm/apn.h b/include/osmocom/gsm/apn.h
index d8d7399..9e3dca3 100644
--- a/include/osmocom/gsm/apn.h
+++ b/include/osmocom/gsm/apn.h
@@ -11,3 +11,7 @@
char *osmo_apn_qualify(unsigned int mcc, unsigned int mnc, const char *ni);
char *osmo_apn_qualify_from_imsi(const char *imsi,
const char *ni, int have_3dig_mnc);
+
+int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str);
+char * osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len);
+
diff --git a/src/gsm/apn.c b/src/gsm/apn.c
index 413130a..ef7190d 100644
--- a/src/gsm/apn.c
+++ b/src/gsm/apn.c
@@ -36,3 +36,79 @@ char *osmo_apn_qualify_from_imsi(const char *imsi,
}
return osmo_apn_qualify(atoi(cbuf), atoi(nbuf), ni);
}
+
+/**
+ * Convert an encoded APN into a dot-separated string.
+ *
+ * \param out_str the destination buffer (size must be >= max(app_enc_len,1))
+ * \param apn_enc the encoded APN
+ * \param apn_enc_len the length of the encoded APN
+ *
+ * \returns out_str on success and NULL otherwise
+ */
+char * osmo_apn_to_str(char *out_str, const uint8_t *apn_enc, size_t apn_enc_len)
+{
+ char *str = out_str;
+ size_t rest_chars = apn_enc_len;
+
+ while (rest_chars > 0 && apn_enc[0]) {
+ size_t label_size = apn_enc[0];
+ if (label_size + 1 > rest_chars)
+ return NULL;
+
+ memmove(str, apn_enc + 1, label_size);
+ str += label_size;
+ rest_chars -= label_size + 1;
+ apn_enc += label_size + 1;
+
+ if (rest_chars)
+ *(str++) = '.';
+ }
+ str[0] = '\0';
+
+ return out_str;
+}
+
+/**
+ * Convert a dot-separated string into an encoded APN.
+ *
+ * \param apn_enc the encoded APN
+ * \param max_apn_enc_len the size of the apn_enc buffer
+ * \param str the source string
+ *
+ * \returns out_str on success and NULL otherwise
+ */
+int osmo_apn_from_str(uint8_t *apn_enc, size_t max_apn_enc_len, const char *str)
+{
+ uint8_t *last_len_field;
+ int len;
+
+ /* Can we even write the length field to the output? */
+ if (max_apn_enc_len == 0)
+ return -1;
+
+ /* Remember where we need to put the length once we know it */
+ last_len_field = apn_enc;
+ len = 1;
+ apn_enc += 1;
+
+ while (str[0]) {
+ if (len >= max_apn_enc_len)
+ return -1;
+
+ if (str[0] == '.') {
+ *last_len_field = (apn_enc - last_len_field) - 1;
+ last_len_field = apn_enc;
+ } else {
+ *apn_enc = str[0];
+ }
+ apn_enc += 1;
+ str += 1;
+ len += 1;
+ }
+
+ *last_len_field = (apn_enc - last_len_field) - 1;
+
+ return len;
+}
+
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index 0c0d9f7..2aef050 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -269,6 +269,8 @@ ipa_send;
osmo_apn_qualify;
osmo_apn_qualify_from_imsi;
+osmo_apn_to_str;
+osmo_apn_from_str;
local: *;
};
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 223535f..4442355 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -6,7 +6,8 @@ check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \
conv/conv_test auth/milenage_test lapd/lapd_test \
gsm0808/gsm0808_test gsm0408/gsm0408_test \
gb/bssgp_fc_test gb/gprs_bssgp_test gb/gprs_ns_test \
- kasumi/kasumi_test logging/logging_test fr/fr_test \
+ gprs/gprs_test kasumi/kasumi_test \
+ logging/logging_test fr/fr_test \
loggingrb/loggingrb_test strrb/strrb_test \
vty/vty_test comp128/comp128_test utils/utils_test \
smscb/gsm0341_test stats/stats_test
@@ -45,6 +46,9 @@ gsm0808_gsm0808_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/
gsm0408_gsm0408_test_SOURCES = gsm0408/gsm0408_test.c
gsm0408_gsm0408_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+gprs_gprs_test_SOURCES = gprs/gprs_test.c
+gprs_gprs_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
lapd_lapd_test_SOURCES = lapd/lapd_test.c
lapd_lapd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
@@ -116,8 +120,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \
lapd/lapd_test.ok gsm0408/gsm0408_test.ok \
gsm0808/gsm0808_test.ok gb/bssgp_fc_tests.err \
gb/bssgp_fc_tests.ok gb/bssgp_fc_tests.sh \
- gb/gprs_bssgp_test.ok \
- gb/gprs_ns_test.ok kasumi/kasumi_test.ok \
+ gb/gprs_bssgp_test.ok gb/gprs_ns_test.ok \
+ gprs/gprs_test.ok kasumi/kasumi_test.ok \
msgfile/msgfile_test.ok msgfile/msgconfig.cfg \
logging/logging_test.ok logging/logging_test.err \
fr/fr_test.ok loggingrb/logging_test.ok \
diff --git a/tests/gprs/gprs_test.c b/tests/gprs/gprs_test.c
new file mode 100644
index 0000000..be80e5c
--- /dev/null
+++ b/tests/gprs/gprs_test.c
@@ -0,0 +1,122 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <inttypes.h>
+
+#include <osmocom/core/application.h>
+#include <osmocom/core/utils.h>
+#include <osmocom/core/logging.h>
+#include <osmocom/gsm/apn.h>
+
+static void apn_round_trip(const uint8_t *input, size_t len, const char *wanted_output)
+{
+ char output[len ? len : 1];
+ uint8_t encoded[len + 50];
+ char *out_str;
+ int enc_len;
+
+ /* decode and verify we have what we want */
+ out_str = osmo_apn_to_str(output, input, len);
+ OSMO_ASSERT(out_str);
+ OSMO_ASSERT(out_str == &output[0]);
+ OSMO_ASSERT(strlen(out_str) == strlen(wanted_output));
+ OSMO_ASSERT(strcmp(out_str, wanted_output) == 0);
+
+ /* encode and verify it */
+ if (len != 0) {
+ enc_len = osmo_apn_from_str(encoded, ARRAY_SIZE(encoded), wanted_output);
+ OSMO_ASSERT(enc_len == len);
+ OSMO_ASSERT(memcmp(encoded, input, enc_len) == 0);
+ } else {
+ enc_len = osmo_apn_from_str(encoded, 0, wanted_output);
+ OSMO_ASSERT(enc_len == -1);
+ }
+}
+
+static void test_gsm_03_03_apn(void)
+{
+
+ {
+ /* test invalid writes */
+ const uint8_t ref[10] = { 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF };
+ uint8_t output[10];
+ int enc_len;
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 0, "");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref, output, ARRAY_SIZE(ref)) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 0, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref, output, ARRAY_SIZE(ref)) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 1, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref + 1, output + 1, ARRAY_SIZE(ref) - 1) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 2, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref + 2, output + 2, ARRAY_SIZE(ref) - 2) == 0);
+
+ memcpy(output, ref, ARRAY_SIZE(output));
+ enc_len = osmo_apn_from_str(output, 3, "foo");
+ OSMO_ASSERT(enc_len == -1);
+ OSMO_ASSERT(memcmp(ref + 3, output + 3, ARRAY_SIZE(ref) - 3) == 0);
+ }
+
+ {
+ /* single empty label */
+ uint8_t input[] = { 0x0 };
+ const char *output = "";
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ }
+
+ {
+ /* no label */
+ uint8_t input[] = { };
+ const char *output = "";
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ }
+
+ {
+ /* single label with A */
+ uint8_t input[] = { 0x1, 65 };
+ const char *output = "A";
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ OSMO_ASSERT(osmo_apn_to_str(NULL, input, ARRAY_SIZE(input) - 1) == NULL);
+ }
+
+ {
+ uint8_t input[] = { 0x3, 65, 66, 67, 0x2, 90, 122 };
+ const char *output = "ABC.Zz";
+ char tmp[strlen(output) + 1];
+ apn_round_trip(input, ARRAY_SIZE(input), output);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 1) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 2) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 4) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 5) == NULL);
+ OSMO_ASSERT(osmo_apn_to_str(tmp, input, ARRAY_SIZE(input) - 6) == NULL);
+ }
+}
+
+const struct log_info_cat default_categories[] = {
+};
+
+static struct log_info info = {
+ .cat = default_categories,
+ .num_cat = ARRAY_SIZE(default_categories),
+};
+
+int main(int argc, char **argv)
+{
+ osmo_init_logging(&info);
+
+ test_gsm_03_03_apn();
+
+ printf("Done.\n");
+ return EXIT_SUCCESS;
+}
diff --git a/tests/gprs/gprs_test.ok b/tests/gprs/gprs_test.ok
new file mode 100644
index 0000000..619c561
--- /dev/null
+++ b/tests/gprs/gprs_test.ok
@@ -0,0 +1 @@
+Done.
diff --git a/tests/testsuite.at b/tests/testsuite.at
index a542798..85c3e8b 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -84,6 +84,12 @@ cat $abs_srcdir/gsm0408/gsm0408_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/gsm0408/gsm0408_test], [0], [expout], [ignore])
AT_CLEANUP
+AT_SETUP([gprs])
+AT_KEYWORDS([gprs])
+cat $abs_srcdir/gprs/gprs_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/gprs/gprs_test], [0], [expout], [ignore])
+AT_CLEANUP
+
AT_SETUP([logging])
AT_KEYWORDS([logging])
cat $abs_srcdir/logging/logging_test.ok > expout
--
1.9.1
1
0
Hi,Can someone inform us if the VTY configuration commands to change parameters e.g. cell id, location area code, MS power etc. that are run on OpenBSC VTY telnet interface take effect on next restart of the OpenBSC session or during the same session? If former is the case, is there any way to dynamically change Cell ID, LAC, MS TX power etc i.e. without restarting the OpenBSC session?
Regards,
Amber & Sarosh
2
2
I can talk all day about atomic commits, but chunks of gtphub have transformed
twice over (that's me figuring out how to map and resolve GTP data elements),
so that half the patches are obsoleted by later ones, in a hard-to-rebase way.
So here is a joint patch of gtphub for review. If anyone requests it, I will
gladly separate it into a handful of patches adding each subsection / family of
API at a time, to better show where each part reaches. Just ask...
Many thanks for any reviews!
~Neels
Neels Hofmeyr (1):
Add GTP hub (code bomb).
openbsc/.gitignore | 2 +
openbsc/configure.ac | 1 +
openbsc/include/openbsc/Makefile.am | 1 +
openbsc/include/openbsc/debug.h | 1 +
openbsc/include/openbsc/gtphub.h | 345 +++++
openbsc/include/openbsc/vty.h | 1 +
openbsc/src/gprs/Makefile.am | 6 +
openbsc/src/gprs/gtphub.c | 1794 +++++++++++++++++++++++
openbsc/src/gprs/gtphub_main.c | 283 ++++
openbsc/src/gprs/gtphub_sep.c | 26 +
openbsc/src/gprs/gtphub_vty.c | 258 ++++
openbsc/tests/Makefile.am | 2 +-
openbsc/tests/gtphub/Makefile.am | 20 +
openbsc/tests/gtphub/gtphub_nc_test.gtphub.conf | 5 +
openbsc/tests/gtphub/gtphub_nc_test.ok | 7 +
openbsc/tests/gtphub/gtphub_nc_test.sh | 85 ++
openbsc/tests/gtphub/gtphub_test.c | 675 +++++++++
openbsc/tests/gtphub/gtphub_test.ok | 3 +
openbsc/tests/gtphub/hex2bin.py | 13 +
openbsc/tests/testsuite.at | 12 +
20 files changed, 3539 insertions(+), 1 deletion(-)
create mode 100644 openbsc/include/openbsc/gtphub.h
create mode 100644 openbsc/src/gprs/gtphub.c
create mode 100644 openbsc/src/gprs/gtphub_main.c
create mode 100644 openbsc/src/gprs/gtphub_sep.c
create mode 100644 openbsc/src/gprs/gtphub_vty.c
create mode 100644 openbsc/tests/gtphub/Makefile.am
create mode 100644 openbsc/tests/gtphub/gtphub_nc_test.gtphub.conf
create mode 100644 openbsc/tests/gtphub/gtphub_nc_test.ok
create mode 100755 openbsc/tests/gtphub/gtphub_nc_test.sh
create mode 100644 openbsc/tests/gtphub/gtphub_test.c
create mode 100644 openbsc/tests/gtphub/gtphub_test.ok
create mode 100755 openbsc/tests/gtphub/hex2bin.py
--
2.1.4
2
8
Hi OpenBSC,
I have just merged the gtphub branch to master. The request to do that has
been standing for a while, to let Jenkins run the tests etc., but there
were still quite volatile parts of the code until now.
The last few days, I have successfully tested gtphub in a mock network,
using a web capable phone, a sysmoBTS running an SGSN on-board, and a
gtphub and OpenGGSN on my laptop. It works: I can browse the net!
@Andreas: since our last discussion, I have incorporated all of your
comments. It *does* make sense after all. A peer may request gtphub from
any port, and by sequence number tracking, the response will go back to
that port and IP. Requests with unknown sequence number will be routed
according to the header's TEI, which means that gtphub will send Requests
always to the default port (a proxy with a specific port may be
configured, though). Another thanks for your input!
GGSN resolution by DNS (GRX C ares) is taking a shortcut: hoping that the
peer will try again, after a DNS request has first been fired, gtphub will
simply not respond. Once a GGSN has been resolved and sits in the cache,
Requests are served immediately. In this way, I avoided a mechanism to
queue incoming Requests (until DNS is done, so that other messages are not
blocked in the meantime), which would have been the proper way to do this,
but would add quite a bit of complexity that is really only needed for the
very first resolution of a given GGSN... According to spec, an SGSN will
resend Requests a number of times, so this should actually be sufficient,
I guess.
Some small bits are still outright missing, as you may notice from the
various TODO comments. But all the main parts are implemented and tested.
Probably a number of bugs still need to be found.
Some infrastructural things are also missing. Coming up is the debian
build, and soon to follow: rate control.
Thanks for any reviews!
(I intend to employ proper peer review for gtphub from this point on...)
~Neels
1
0
[PATCH] convert literal APN name to protocol encoded version before use
by Andreas Schultz 16 Nov '15
by Andreas Schultz 16 Nov '15
16 Nov '15
The definition of the APN field format in GTPv1 is hidden in a chain
of documents.
3GPP TS 29.060 (the GTPv1-C specification) Section 7.7.30:
> The Access Point Name contains a logical name (see 3GPP TS 23.060 [4]).
> It is coded as in the value part defined in 3GPP TS 24.008
3GPP TS 24.008 Section 10.5.6.1:
> The value part is defined in 3GPP TS 23.003.
3GPP TS 23.003 Section 9.1:
> The APN consists of one or more labels. Each label is coded as a one
> octet length field followed by that number of octets coded as 8 bit
> ASCII characters
This converts a literal APN (e.g. Label1.Label2.Label3) to a structured
field (e.g. \006Label1\006Label2\006Label3)
Signed-off-by: Andreas Schultz <aschultz(a)tpip.net>
---
sgsnemu/sgsnemu.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index 5b56751..832bd97 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -231,6 +231,7 @@ int process_options(int argc, char **argv)
char *type;
char *mcc;
char *mnc;
+ char *tok, *apn;
char *lac;
int lac_d;
char *rest;
@@ -534,10 +535,19 @@ int process_options(int argc, char **argv)
printf("Invalid APN\n");
return -1;
}
- options.apn.l = strlen(args_info.apn_arg);
- strncpy((char *)options.apn.v, args_info.apn_arg,
- sizeof(options.apn.v));
- options.apn.v[sizeof(options.apn.v) - 1] = 0;
+ options.apn.l = strlen(args_info.apn_arg) + 1;
+
+ apn = (char *)options.apn.v;
+ for (tok = strtok(args_info.apn_arg, ".");
+ tok != NULL;
+ tok = strtok(NULL, ".")) {
+ size_t len = strlen(tok);
+
+ *apn++ = (char)len;
+ strncpy(apn, tok, len);
+ apn += len;
+ }
+
printf("Using APN: %s\n", args_info.apn_arg);
/* selmode */
--
2.5.0
4
4
I am trying to insert some code to openBSC, and after studying the GSM
network, I decided to test with SMS payload without changing the headers,
the best place for it is in the MSC before the SMS is stored in the SMSC,
can anyone direct me to the source file for it, I've tried to look in
Libsmocore and Openbsc source files but with no success.
1
0
Dear all,
as far as I understand, the TCP socket interface between osmo-bts and
OpenBSC only existed in a particular branch/fork of OpenBTS created by
Fairwaves, and it was created at a point where no public release of
OpenBTS included any GPRS support.
As the world has moved on (OpenBTS including their own GRPS code with
something of a unified PCU, SGSN and GGSN; Fairwaves using OsmoBTS), I'm
wondering how much sense it makes to still keep this code in the
osmo-pcu repository.
Particularly, it doesn't seem to make sense to keep it as the compile
default. A default should be applicable to most users / configurations
of a software, shouldn't it?
Any input on thi is appreciated.
My argument would be to drop that code. If not, then at least make it
the non-default case. Or even compile both an osmo-pcu-osmobts and an
osmo-pcu-openbts binary by the default makefile target and do away with
any compile-time switching between the two.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
2
1
Hi,
I am working on getting libosmocom package into Fedora, there is
review request in [1].
During the packaging I found following minor issues:
- Incorrect FSF addresses in source code, e.g. there is written in the
sources:
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
But the correct address is (as taken from the
https://www.gnu.org/licenses/gpl-2.0.html)
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- exit call in the library: /usr/lib64/libosmovty.so.3.0.0 exit(a)GLIBC_2.2.5
libraries shouldn't generally call exit.
thanks & regards
Jaroslav
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1279527
3
4
From: Holger Hans Peter Freyther <holger(a)moiji-mobile.com>
Extend the ul/dl counting to count the usual messages on the
Gb interface. Add counters for the attach, routing area update,
pdp context activation and deactivation procedures. Update the
test result with the new counters.
---
openbsc/include/openbsc/gb_proxy.h | 15 +
openbsc/src/gprs/gb_proxy.c | 42 +++
openbsc/src/gprs/gb_proxy_peer.c | 16 +
openbsc/tests/gbproxy/gbproxy_test.ok | 576 ++++++++++++++++++++++++++++++++++
4 files changed, 649 insertions(+)
diff --git a/openbsc/include/openbsc/gb_proxy.h b/openbsc/include/openbsc/gb_proxy.h
index ff35a39..153d962 100644
--- a/openbsc/include/openbsc/gb_proxy.h
+++ b/openbsc/include/openbsc/gb_proxy.h
@@ -48,8 +48,23 @@ enum gbproxy_peer_ctr {
GBPROX_PEER_CTR_PATCH_ERR,
GBPROX_PEER_CTR_ATTACH_REQS,
GBPROX_PEER_CTR_ATTACH_REJS,
+ GBPROX_PEER_CTR_ATTACH_ACKS,
+ GBPROX_PEER_CTR_ATTACH_COMPLS,
+ GBPROX_PEER_CTR_RA_UPD_REQS,
+ GBPROX_PEER_CTR_RA_UPD_REJS,
+ GBPROX_PEER_CTR_RA_UPD_ACKS,
+ GBPROX_PEER_CTR_RA_UPD_COMPLS,
+ GBPROX_PEER_CTR_GMM_STATUS,
+ GBPROX_PEER_CTR_DETACH_REQS,
+ GBPROX_PEER_CTR_DETACH_ACKS,
+ GBPROX_PEER_CTR_PDP_ACT_REQS,
+ GBPROX_PEER_CTR_PDP_ACT_REJS,
+ GBPROX_PEER_CTR_PDP_ACT_ACKS,
+ GBPROX_PEER_CTR_PDP_DEACT_REQS,
+ GBPROX_PEER_CTR_PDP_DEACT_ACKS,
GBPROX_PEER_CTR_TLLI_UNKNOWN,
GBPROX_PEER_CTR_TLLI_CACHE_SIZE,
+ GBPROX_PEER_CTR_LAST,
};
enum gbproxy_keep_mode {
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index 8cdf9a4..5e6c0b4 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -593,6 +593,27 @@ static int gbprox_process_bssgp_ul(struct gbproxy_config *cfg,
case GSM48_MT_GMM_ATTACH_REQ:
rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_ATTACH_REQS]);
break;
+ case GSM48_MT_GMM_DETACH_REQ:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_DETACH_REQS]);
+ break;
+ case GSM48_MT_GMM_ATTACH_COMPL:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_ATTACH_COMPLS]);
+ break;
+ case GSM48_MT_GMM_RA_UPD_REQ:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_RA_UPD_REQS]);
+ break;
+ case GSM48_MT_GMM_RA_UPD_COMPL:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_RA_UPD_COMPLS]);
+ break;
+ case GSM48_MT_GMM_STATUS:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_GMM_STATUS]);
+ break;
+ case GSM48_MT_GSM_ACT_PDP_REQ:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_PDP_ACT_REQS]);
+ break;
+ case GSM48_MT_GSM_DEACT_PDP_REQ:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_PDP_DEACT_REQS]);
+ break;
default:
break;
@@ -678,9 +699,30 @@ static void gbprox_process_bssgp_dl(struct gbproxy_config *cfg,
if (parse_ctx.g48_hdr) {
switch (parse_ctx.g48_hdr->msg_type) {
+ case GSM48_MT_GMM_ATTACH_ACK:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_ATTACH_ACKS]);
+ break;
case GSM48_MT_GMM_ATTACH_REJ:
rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_ATTACH_REJS]);
break;
+ case GSM48_MT_GMM_DETACH_ACK:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_DETACH_ACKS]);
+ break;
+ case GSM48_MT_GMM_RA_UPD_ACK:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_RA_UPD_ACKS]);
+ break;
+ case GSM48_MT_GMM_RA_UPD_REJ:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_RA_UPD_REJS]);
+ break;
+ case GSM48_MT_GSM_ACT_PDP_ACK:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_PDP_ACT_ACKS]);
+ break;
+ case GSM48_MT_GSM_ACT_PDP_REJ:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_PDP_ACT_REJS]);
+ break;
+ case GSM48_MT_GSM_DEACT_PDP_ACK:
+ rate_ctr_inc(&peer->ctrg->ctr[GBPROX_PEER_CTR_PDP_DEACT_ACKS]);
+ break;
default:
break;
diff --git a/openbsc/src/gprs/gb_proxy_peer.c b/openbsc/src/gprs/gb_proxy_peer.c
index b65fc17..3018bbf 100644
--- a/openbsc/src/gprs/gb_proxy_peer.c
+++ b/openbsc/src/gprs/gb_proxy_peer.c
@@ -51,10 +51,26 @@ static const struct rate_ctr_desc peer_ctr_description[] = {
{ "mod-err", "Patch error: other " },
{ "attach-reqs", "Attach Request count " },
{ "attach-rejs", "Attach Reject count " },
+ { "attach-acks", "Attach Accept count " },
+ { "attach-cpls", "Attach Completed count " },
+ { "ra-upd-reqs", "RoutingArea Update Request count" },
+ { "ra-upd-rejs", "RoutingArea Update Reject count " },
+ { "ra-upd-acks", "RoutingArea Update Accept count " },
+ { "ra-upd-cpls", "RoutingArea Update Compltd count" },
+ { "gmm-status", "GMM Status count " },
+ { "detach-reqs", "Detach Request count " },
+ { "detach-acks", "Detach Accept count " },
+ { "pdp-act-reqs", "PDP Activation Request count " },
+ { "pdp-act-rejs", "PDP Activation Reject count " },
+ { "pdp-act-acks", "PDP Activation Accept count " },
+ { "pdp-deact-reqs","PDP Deactivation Request count " },
+ { "pdp-deact-acks","PDP Deactivation Accept count " },
{ "tlli-unknown", "TLLI from SGSN unknown " },
{ "tlli-cache", "TLLI cache size " },
};
+osmo_static_assert(ARRAY_SIZE(peer_ctr_description) == GBPROX_PEER_CTR_LAST, everything_described);
+
static const struct rate_ctr_group_desc peer_ctrg_desc = {
.group_name_prefix = "gbproxy.peer",
.group_description = "GBProxy Peer Statistics",
diff --git a/openbsc/tests/gbproxy/gbproxy_test.ok b/openbsc/tests/gbproxy/gbproxy_test.ok
index bbb6820..0ef976f 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.ok
+++ b/openbsc/tests/gbproxy/gbproxy_test.ok
@@ -1670,6 +1670,7 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/efe2b700 -> 8000dead/efe2b700, IMSI 12131415161718, AGE 0
@@ -1688,6 +1689,8 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/efe2b700 -> 8000dead/efe2b700, IMSI 12131415161718, AGE 0
@@ -1706,6 +1709,8 @@ result (GMM INFO) = 70
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -1726,6 +1731,8 @@ result (ATTACH REQUEST) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 8000beef, IMSI (none), AGE 0
@@ -1745,6 +1752,8 @@ result (IDENT REQUEST) = 27
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 8000beef, IMSI (none), AGE 0
@@ -1764,6 +1773,8 @@ result (IDENT RESPONSE) = 44
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 8000beef, IMSI 12199999961718, AGE 0
@@ -1783,6 +1794,8 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000beef/efe2b700 -> 8000beef/efe2b700, IMSI 12199999961718, AGE 0
@@ -1801,6 +1814,8 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000beef/efe2b700 -> 8000beef/efe2b700, IMSI 12199999961718, AGE 0
@@ -1819,6 +1834,8 @@ result (GMM INFO) = 70
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12199999961718, AGE 0
@@ -2086,6 +2103,9 @@ Peers:
RAID patched (SGSN): 2
APN patched : 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ PDP Activation Request count : 3
TLLI from SGSN unknown : 1
TLLI cache size : 1
TLLI-Cache: 1
@@ -2120,6 +2140,11 @@ Peers:
RAID patched (SGSN): 2
APN patched : 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
+ PDP Activation Request count : 3
TLLI from SGSN unknown : 1
TLLI-Cache: 0
--- RA update ---
@@ -2166,6 +2191,13 @@ Peers:
RAID patched (SGSN): 3
APN patched : 4
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
+ PDP Activation Request count : 4
TLLI from SGSN unknown : 1
TLLI cache size : 1
TLLI-Cache: 1
@@ -2189,6 +2221,13 @@ Peers:
RAID patched (SGSN): 3
APN patched : 4
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
+ PDP Activation Request count : 4
TLLI from SGSN unknown : 1
TLLI-Cache: 0
--- Bad cases ---
@@ -2240,6 +2279,13 @@ Peers:
RAID patched (SGSN): 3
APN patched : 4
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
+ PDP Activation Request count : 5
TLLI from SGSN unknown : 1
TLLI cache size : 2
TLLI-Cache: 2
@@ -2442,6 +2488,7 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -2465,6 +2512,8 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -2488,6 +2537,8 @@ Peers:
TLLI patched (SGSN): 3
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -2512,6 +2563,9 @@ Peers:
TLLI patched (SGSN): 3
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -2572,6 +2626,9 @@ Peers:
TLLI patched (SGSN): 5
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -2608,6 +2665,11 @@ Peers:
TLLI patched (SGSN): 6
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01/c0dead02 -> efe2b700/e0987654, IMSI 12131415161718, AGE 0
@@ -2644,6 +2706,11 @@ Peers:
TLLI patched (SGSN): 7
P-TMSI patched (SGSN): 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01/c0dead03 -> efe2b700/e0543210, IMSI 12131415161718, AGE 0
@@ -2680,6 +2747,12 @@ Peers:
TLLI patched (SGSN): 8
P-TMSI patched (SGSN): 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead03 -> e0543210, IMSI 12131415161718, AGE 0
@@ -2704,6 +2777,12 @@ Peers:
TLLI patched (SGSN): 8
P-TMSI patched (SGSN): 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead03 -> e0543210, IMSI 12131415161718, AGE 0
@@ -2728,6 +2807,12 @@ Peers:
TLLI patched (SGSN): 8
P-TMSI patched (SGSN): 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead03 -> e0543210, IMSI 12131415161718, AGE 0
@@ -2752,6 +2837,12 @@ Peers:
TLLI patched (SGSN): 9
P-TMSI patched (SGSN): 3
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead03 -> e0543210, IMSI 12131415161718, AGE 0
@@ -2776,6 +2867,12 @@ Peers:
TLLI patched (SGSN): 9
P-TMSI patched (SGSN): 4
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ PDP Activation Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead03 -> e0543210, IMSI 12131415161718, AGE 0
@@ -2868,6 +2965,13 @@ Peers:
P-TMSI patched (BSS ): 1
P-TMSI patched (SGSN): 4
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ Detach Request count : 1
+ PDP Activation Request count : 1
TLLI from SGSN unknown : 2
TLLI cache size : 1
TLLI-Cache: 1
@@ -2894,6 +2998,14 @@ Peers:
P-TMSI patched (BSS ): 1
P-TMSI patched (SGSN): 4
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 2
+ RoutingArea Update Accept count : 2
+ RoutingArea Update Compltd count: 1
+ Detach Request count : 1
+ Detach Accept count : 1
+ PDP Activation Request count : 1
TLLI from SGSN unknown : 2
TLLI-Cache: 0
Gbproxy global:
@@ -3096,6 +3208,7 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -3119,6 +3232,7 @@ Peers:
TLLI patched (SGSN): 3
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 2
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -3142,6 +3256,8 @@ Peers:
TLLI patched (SGSN): 3
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 2
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -3165,6 +3281,8 @@ Peers:
TLLI patched (SGSN): 4
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 2
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3188,6 +3306,9 @@ Peers:
TLLI patched (SGSN): 4
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 2
+ Attach Completed count : 1
+ Detach Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3211,6 +3332,10 @@ Peers:
TLLI patched (SGSN): 5
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 2
+ Attach Completed count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI-Cache: 0
Gbproxy global:
=== test_gbproxy_imsi_acquisition ===
@@ -3429,6 +3554,7 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -3452,6 +3578,8 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0
@@ -3475,6 +3603,8 @@ Peers:
TLLI patched (SGSN): 3
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3534,6 +3664,8 @@ Peers:
TLLI patched (SGSN): 5
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3557,6 +3689,8 @@ Peers:
TLLI patched (SGSN): 5
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3580,6 +3714,8 @@ Peers:
TLLI patched (SGSN): 6
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3603,6 +3739,8 @@ Peers:
TLLI patched (SGSN): 6
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3626,6 +3764,8 @@ Peers:
TLLI patched (SGSN): 7
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3695,6 +3835,9 @@ Peers:
TLLI patched (SGSN): 8
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ Detach Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -3718,6 +3861,10 @@ Peers:
TLLI patched (SGSN): 9
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI-Cache: 0
PROCESSING RA UPD REQ from 0x01020304:1111
00 00 10 02 01 80 00 de ad 00 00 04 08 88 00 f1 99 00 63 60 70 80 00 80 0e 00 3e 01 c0 15 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 96 3e 97
@@ -3751,6 +3898,11 @@ Peers:
TLLI patched (SGSN): 9
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead -> 78dead02, IMSI 12131415161718, AGE 0
@@ -3774,6 +3926,12 @@ Peers:
TLLI patched (SGSN): 10
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead03 -> 78dead02/efe2b700, IMSI 12131415161718, AGE 0
@@ -3797,6 +3955,12 @@ Peers:
TLLI patched (SGSN): 10
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead03 -> 78dead02/efe2b700, IMSI 12131415161718, AGE 0
@@ -3820,6 +3984,12 @@ Peers:
TLLI patched (SGSN): 11
P-TMSI patched (SGSN): 2
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 2
+ Detach Accept count : 2
TLLI-Cache: 0
PROCESSING ATTACH REQUEST from 0x01020304:1111
00 00 10 02 01 80 00 de ad 00 00 04 08 88 00 f1 99 00 63 60 12 34 00 80 0e 00 34 01 c0 21 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 44 b6 bb
@@ -3865,6 +4035,12 @@ Peers:
TLLI patched (SGSN): 11
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 3
+ Detach Accept count : 2
TLLI-Cache: 0
PROCESSING DETACH REQ (unknown TLLI) from 0x01020304:1111
00 00 10 02 01 80 00 be ef 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 15 01 c0 2d 08 05 01 18 05 f4 ef e2 b7 00 19 03 b9 97 cb 0d 30 0d
@@ -3886,6 +4062,12 @@ Peers:
TLLI patched (SGSN): 11
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 1
+ RoutingArea Update Accept count : 1
+ Detach Request count : 4
+ Detach Accept count : 2
TLLI-Cache: 0
PROCESSING RA UPD REQ from 0x01020304:1111
00 00 10 02 01 80 00 de ad 00 00 04 08 88 00 f1 99 00 63 60 70 80 00 80 0e 00 3e 01 c0 31 08 08 10 11 22 33 40 50 60 1d 19 13 42 33 57 2b f7 c8 48 02 13 48 50 c8 48 02 14 48 50 c8 48 02 17 49 10 c8 48 02 00 19 8b b2 92 17 16 27 07 04 31 02 e5 e0 32 02 20 00 d8 cf d8
@@ -3931,6 +4113,12 @@ Peers:
TLLI patched (SGSN): 11
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 1
+ Attach Completed count : 1
+ RoutingArea Update Request count: 3
+ RoutingArea Update Accept count : 1
+ Detach Request count : 5
+ Detach Accept count : 2
TLLI-Cache: 0
Gbproxy global:
Invalid Routing Area Identifier : 1
@@ -4264,6 +4452,7 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4287,6 +4476,8 @@ Peers:
TLLI patched (SGSN): 2
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 8000dead/c0dead01 -> 78dead00/efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4310,6 +4501,8 @@ Peers:
TLLI patched (SGSN): 3
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4369,6 +4562,8 @@ Peers:
TLLI patched (SGSN): 5
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4392,6 +4587,8 @@ Peers:
TLLI patched (SGSN): 5
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4415,6 +4612,8 @@ Peers:
TLLI patched (SGSN): 6
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4438,6 +4637,8 @@ Peers:
TLLI patched (SGSN): 6
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4461,6 +4662,8 @@ Peers:
TLLI patched (SGSN): 7
P-TMSI patched (SGSN): 1
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -4486,6 +4689,8 @@ Peers:
TLLI patched (SGSN): 7
P-TMSI patched (SGSN): 1
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 78dead02, IMSI (none), AGE 0, STORED 1, IMSI acquisition in progress, SGSN NSEI 65535
@@ -4510,6 +4715,8 @@ Peers:
TLLI patched (SGSN): 7
P-TMSI patched (SGSN): 1
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 78dead02, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4534,6 +4741,8 @@ Peers:
TLLI patched (SGSN): 8
P-TMSI patched (SGSN): 1
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 78dead02, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4558,6 +4767,8 @@ Peers:
TLLI patched (SGSN): 8
P-TMSI patched (SGSN): 1
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef -> 78dead02, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4582,6 +4793,8 @@ Peers:
TLLI patched (SGSN): 9
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef/c0dead03 -> 78dead02/e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4606,6 +4819,8 @@ Peers:
TLLI patched (SGSN): 9
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI 8000beef/c0dead03 -> 78dead02/e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4630,6 +4845,8 @@ Peers:
TLLI patched (SGSN): 10
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4690,6 +4907,8 @@ Peers:
TLLI patched (SGSN): 12
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4714,6 +4933,8 @@ Peers:
TLLI patched (SGSN): 12
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4738,6 +4959,8 @@ Peers:
TLLI patched (SGSN): 13
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4762,6 +4985,8 @@ Peers:
TLLI patched (SGSN): 13
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4786,6 +5011,8 @@ Peers:
TLLI patched (SGSN): 14
P-TMSI patched (SGSN): 2
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4812,6 +5039,8 @@ Peers:
TLLI patched (SGSN): 14
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 3
TLLI-Cache: 3
TLLI 8000feed -> 78dead04, IMSI (none), AGE 0, STORED 1, IMSI acquisition in progress, SGSN NSEI 65535
@@ -4837,6 +5066,8 @@ Peers:
TLLI patched (SGSN): 14
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 3
TLLI-Cache: 3
TLLI 8000feed -> 78dead04, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4862,6 +5093,8 @@ Peers:
TLLI patched (SGSN): 15
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 3
TLLI-Cache: 3
TLLI 8000feed -> 78dead04, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4887,6 +5120,8 @@ Peers:
TLLI patched (SGSN): 15
P-TMSI patched (SGSN): 2
Attach Request count : 3
+ Attach Accept count : 2
+ Attach Completed count : 2
TLLI cache size : 3
TLLI-Cache: 3
TLLI 8000feed -> 78dead04, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4912,6 +5147,8 @@ Peers:
TLLI patched (SGSN): 16
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 2
TLLI cache size : 3
TLLI-Cache: 3
TLLI 8000feed/c0dead05 -> 78dead04/efe2b700, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4937,6 +5174,8 @@ Peers:
TLLI patched (SGSN): 16
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
TLLI cache size : 3
TLLI-Cache: 3
TLLI 8000feed/c0dead05 -> 78dead04/efe2b700, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4962,6 +5201,8 @@ Peers:
TLLI patched (SGSN): 17
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
TLLI cache size : 3
TLLI-Cache: 3
TLLI c0dead05 -> efe2b700, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -4989,6 +5230,9 @@ Peers:
TLLI patched (SGSN): 17
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 1
TLLI cache size : 3
TLLI-Cache: 3
TLLI c0dead01 -> efe2b700, IMSI 12131415161718, AGE 0, SGSN NSEI 256
@@ -5014,6 +5258,10 @@ Peers:
TLLI patched (SGSN): 18
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead05 -> efe2b700, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -5041,6 +5289,10 @@ Peers:
P-TMSI patched (BSS ): 1
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 2
+ Detach Accept count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI c0dead03 -> e0987654, IMSI 12199999961718, AGE 0, IMSI matches, SGSN NSEI 258
@@ -5066,6 +5318,10 @@ Peers:
P-TMSI patched (BSS ): 1
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 2
+ Detach Accept count : 2
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead05 -> efe2b700, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -5092,6 +5348,10 @@ Peers:
P-TMSI patched (BSS ): 1
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 3
+ Detach Accept count : 2
TLLI cache size : 1
TLLI-Cache: 1
TLLI c0dead05 -> efe2b700, IMSI 12199999962728, AGE 0, IMSI matches, SGSN NSEI 258
@@ -5116,6 +5376,10 @@ Peers:
P-TMSI patched (BSS ): 1
P-TMSI patched (SGSN): 3
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 3
+ Detach Accept count : 3
TLLI-Cache: 0
Gbproxy global:
Invalid BVC Identifier : 1
@@ -5322,6 +5586,7 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5340,6 +5605,8 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5358,6 +5625,8 @@ result (GMM INFO) = 70
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5376,6 +5645,9 @@ result (DETACH REQ) = 48
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ Detach Request count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5394,6 +5666,10 @@ result (DETACH ACC) = 71
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 1
+ Attach Accept count : 1
+ Attach Completed count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5412,6 +5688,10 @@ result (ATTACH REQUEST) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 1
+ Attach Completed count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -5430,6 +5710,10 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5448,6 +5732,10 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5466,6 +5754,10 @@ result (DETACH REQ (re-attach)) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5484,6 +5776,10 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 2
+ Attach Accept count : 2
+ Attach Completed count : 2
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5502,6 +5798,10 @@ result (ATTACH REQUEST) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 3
+ Attach Accept count : 2
+ Attach Completed count : 2
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -5520,6 +5820,10 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 2
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5538,6 +5842,10 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5556,6 +5864,10 @@ result (DETACH REQ) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5574,6 +5886,10 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 3
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5592,6 +5908,10 @@ result (ATTACH REQUEST (IMSI)) = 82
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 4
+ Attach Accept count : 3
+ Attach Completed count : 3
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -5610,6 +5930,10 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 4
+ Attach Accept count : 4
+ Attach Completed count : 3
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5628,6 +5952,10 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 4
+ Attach Accept count : 4
+ Attach Completed count : 4
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5646,6 +5974,10 @@ result (DETACH REQ) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 4
+ Attach Accept count : 4
+ Attach Completed count : 4
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5664,6 +5996,10 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 4
+ Attach Accept count : 4
+ Attach Completed count : 4
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5682,6 +6018,10 @@ result (ATTACH REQUEST) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 5
+ Attach Accept count : 4
+ Attach Completed count : 4
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -5700,6 +6040,10 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 5
+ Attach Accept count : 5
+ Attach Completed count : 4
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5718,6 +6062,10 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 5
+ Attach Accept count : 5
+ Attach Completed count : 5
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5748,6 +6096,12 @@ result (RA UDP REJ) = 72
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 5
+ Attach Accept count : 5
+ Attach Completed count : 5
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5766,6 +6120,12 @@ result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 6
+ Attach Accept count : 5
+ Attach Completed count : 5
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 2
TLLI-Cache: 2
TLLI afe2b700 -> afe2b700, IMSI (none), AGE 0, STORED 1, IMSI acquisition in progress
@@ -5785,6 +6145,12 @@ result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 6
+ Attach Accept count : 5
+ Attach Completed count : 5
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -5803,6 +6169,12 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 6
+ Attach Accept count : 6
+ Attach Completed count : 5
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5821,6 +6193,12 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 6
+ Attach Accept count : 6
+ Attach Completed count : 6
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -5839,6 +6217,12 @@ result (DETACH REQ) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 6
+ Attach Accept count : 6
+ Attach Completed count : 6
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5857,6 +6241,12 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 6
+ Attach Accept count : 6
+ Attach Completed count : 6
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5875,6 +6265,12 @@ result (ATTACH REQUEST (local TLLI)) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 7
+ Attach Accept count : 6
+ Attach Completed count : 6
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5893,6 +6289,12 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 7
+ Attach Accept count : 7
+ Attach Completed count : 6
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5911,6 +6313,12 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 7
+ Attach Accept count : 7
+ Attach Completed count : 7
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5929,6 +6337,12 @@ result (DETACH REQ (re-attach)) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 7
+ Attach Accept count : 7
+ Attach Completed count : 7
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -5947,6 +6361,12 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 7
+ Attach Accept count : 7
+ Attach Completed count : 7
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -5965,6 +6385,12 @@ result (ATTACH REQUEST) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 8
+ Attach Accept count : 7
+ Attach Completed count : 7
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -5983,6 +6409,12 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 8
+ Attach Accept count : 8
+ Attach Completed count : 7
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6001,6 +6433,12 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 8
+ Attach Accept count : 8
+ Attach Completed count : 8
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6019,6 +6457,12 @@ result (GMM INFO) = 70
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 8
+ Attach Accept count : 8
+ Attach Completed count : 8
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -6037,6 +6481,12 @@ result (ATTACH REQUEST (unexpected, IMSI)) = 82
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 9
+ Attach Accept count : 8
+ Attach Completed count : 8
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -6055,6 +6505,12 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 9
+ Attach Accept count : 9
+ Attach Completed count : 8
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6073,6 +6529,12 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 9
+ Attach Accept count : 9
+ Attach Completed count : 9
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6091,6 +6553,12 @@ result (DETACH REQ) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 9
+ Attach Accept count : 9
+ Attach Completed count : 9
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -6109,6 +6577,12 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 9
+ Attach Accept count : 9
+ Attach Completed count : 9
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -6127,6 +6601,12 @@ result (ATTACH REQUEST) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 10
+ Attach Accept count : 9
+ Attach Completed count : 9
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -6145,6 +6625,12 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 10
+ Attach Accept count : 10
+ Attach Completed count : 9
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6163,6 +6649,12 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 10
+ Attach Accept count : 10
+ Attach Completed count : 10
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6181,6 +6673,12 @@ result (GMM INFO) = 70
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 10
+ Attach Accept count : 10
+ Attach Completed count : 10
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -6199,6 +6697,12 @@ result (ATTACH REQUEST (unexpected)) = 79
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 11
+ Attach Accept count : 10
+ Attach Completed count : 10
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -6217,6 +6721,12 @@ result (ATTACH ACCEPT) = 92
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 11
+ Attach Accept count : 11
+ Attach Completed count : 10
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6235,6 +6745,12 @@ result (ATTACH COMPLETE) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 11
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700/efe2b700 -> afe2b700/efe2b700, IMSI 12131415161718, AGE 0
@@ -6253,6 +6769,12 @@ result (DETACH REQ) = 73
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 11
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI efe2b700 -> efe2b700, IMSI 12131415161718, AGE 0
@@ -6271,6 +6793,12 @@ result (DETACH ACC) = 35
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 11
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -6289,6 +6817,12 @@ result (ATTACH REQUEST) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 12
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI (none), AGE 0, STORED 1, IMSI acquisition in progress
@@ -6307,6 +6841,12 @@ result (IDENT RESPONSE) = 0
Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 12
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0
@@ -6326,6 +6866,12 @@ Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 12
Attach Reject count : 1
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
@@ -6345,6 +6891,12 @@ Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 13
Attach Reject count : 1
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 1
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI (none), AGE 0, STORED 1, IMSI acquisition in progress
@@ -6364,6 +6916,12 @@ Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 13
Attach Reject count : 1
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
TLLI-Cache: 0
PROCESSING ATTACH REQUEST from 0x01020304:1111
00 00 10 02 01 af e2 b7 00 00 00 04 08 88 11 22 33 40 50 60 12 34 00 80 0e 00 34 01 c0 99 08 01 02 f5 e0 21 08 02 05 f4 fb c5 46 79 11 22 33 40 50 60 19 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 88 49 82
@@ -6381,6 +6939,12 @@ Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 14
Attach Reject count : 1
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI (none), AGE 0, STORED 1, IMSI acquisition in progress
@@ -6400,6 +6964,12 @@ Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 14
Attach Reject count : 1
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI afe2b700 -> afe2b700, IMSI 12131415161718, AGE 0, STORED 1, IMSI acquisition in progress
@@ -6423,6 +6993,12 @@ Peers:
NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
Attach Request count : 14
Attach Reject count : 1
+ Attach Accept count : 11
+ Attach Completed count : 11
+ RoutingArea Update Request count: 1
+ RoutingArea Update Reject count : 1
+ Detach Request count : 2
+ Detach Accept count : 1
TLLI cache size : 1
TLLI-Cache: 1
TLLI 00000000, IMSI 12131415161718, AGE 0, DE-REGISTERED
--
2.6.0
1
0