diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-11-20 02:36:35 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2019-11-27 03:19:06 +0100 |
commit | 07e1602d2dd13d0884ccd623d9f7955b921fa702 (patch) | |
tree | 02a08050da1f6a69bbae0b1571abc8cc6a7c205e /src/hlr_vty_subscr.c | |
parent | abdfdb8a4a58d36e8ac8e54736589df753225da7 (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.c | 14 |
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; |