aboutsummaryrefslogtreecommitdiffstats
path: root/src/hlr_vty_subscr.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-11-20 02:36:35 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2019-11-27 03:19:06 +0100
commit07e1602d2dd13d0884ccd623d9f7955b921fa702 (patch)
tree02a08050da1f6a69bbae0b1571abc8cc6a7c205e /src/hlr_vty_subscr.c
parentabdfdb8a4a58d36e8ac8e54736589df753225da7 (diff)
db v4: add column last_lu_seen_ps
Location Updating procedures from both CS and PS overwrite the same last_lu_seen field of a subscriber. For upcoming D-GSM it will be important to distinguish those, because only CS attaches qualify for MSISDN lookup. Add column last_lu_seen_ps, and upon PS LU, do not overwrite last_lu_seen, so that last_lu_seen now only reflects CS LU. In the VTY, dump both LU dates distinctively. Change-Id: Id7fc50567211a0870ac0524f6dee94d4513781ba
Diffstat (limited to 'src/hlr_vty_subscr.c')
-rw-r--r--src/hlr_vty_subscr.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c
index d2c4c81..b561636 100644
--- a/src/hlr_vty_subscr.c
+++ b/src/hlr_vty_subscr.c
@@ -47,12 +47,20 @@ get_datestr(const time_t *t, char *datebuf)
return s;
}
+static void dump_last_lu_seen(struct vty *vty, const char *domain_label, time_t last_lu_seen)
+{
+ char datebuf[26]; /* for ctime_r(3) */
+ if (!last_lu_seen)
+ return;
+ vty_out(vty, " last LU seen on %s: %s UTC%s", domain_label, get_datestr(&last_lu_seen, datebuf),
+ VTY_NEWLINE);
+}
+
static void subscr_dump_full_vty(struct vty *vty, struct hlr_subscriber *subscr)
{
int rc;
struct osmo_sub_auth_data aud2g;
struct osmo_sub_auth_data aud3g;
- char datebuf[26]; /* for ctime_r(3) */
vty_out(vty, " ID: %"PRIu64"%s", subscr->id, VTY_NEWLINE);
@@ -87,8 +95,8 @@ static void subscr_dump_full_vty(struct vty *vty, struct hlr_subscriber *subscr)
vty_out(vty, " PS disabled%s", VTY_NEWLINE);
if (subscr->ms_purged_ps)
vty_out(vty, " PS purged%s", VTY_NEWLINE);
- if (subscr->last_lu_seen)
- vty_out(vty, " last LU seen: %s UTC%s", get_datestr(&subscr->last_lu_seen, datebuf), VTY_NEWLINE);
+ dump_last_lu_seen(vty, "CS", subscr->last_lu_seen);
+ dump_last_lu_seen(vty, "PS", subscr->last_lu_seen_ps);
if (!*subscr->imsi)
return;