aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2019-07-09 00:34:29 +0700
committerfixeria <axilirator@gmail.com>2019-07-09 07:14:09 +0000
commit09ce3dcbdf75a92a70d5944361976a6dbb6ef7e5 (patch)
tree4b9aa2afdab6f0152f7fb1b0154c8e5239bf9706
parentd14422a2366812218ab20b77b0e8fc5fd5246589 (diff)
libmsc/msc_vty.c: print subscriber expiration time
-rw-r--r--src/libmsc/msc_vty.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index 8a976cb43..c75cd0eed 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -791,6 +791,8 @@ static void vty_dump_one_conn(struct vty *vty, const struct msub *msub,
static void vty_dump_one_subscr(struct vty *vty, struct vlr_subscr *vsub,
int offset, uint8_t dump_flags)
{
+ struct gsm_network *net;
+ struct timespec now;
char buf[128];
if (vsub->name[0] != '\0') {
@@ -863,6 +865,21 @@ static void vty_dump_one_subscr(struct vty *vty, struct vlr_subscr *vsub,
VTY_NEWLINE);
}
+ /* XXX move t3212 into struct vlr_instance? */
+ net = vsub->vlr->user_ctx;
+ if (!net->t3212) {
+ MSC_VTY_DUMP(vty, offset, "Expires: never (T3212 is disabled)%s",
+ VTY_NEWLINE);
+ } else if (vsub->expire_lu == VLR_SUBSCRIBER_NO_EXPIRATION) {
+ MSC_VTY_DUMP(vty, offset, "Expires: never%s",
+ VTY_NEWLINE);
+ } else if (osmo_clock_gettime(CLOCK_MONOTONIC, &now) == 0) {
+ MSC_VTY_DUMP(vty, offset, "Expires: in %ld min %ld sec%s",
+ (vsub->expire_lu - now.tv_sec) / 60,
+ (vsub->expire_lu - now.tv_sec) % 60,
+ VTY_NEWLINE);
+ }
+
MSC_VTY_DUMP(vty, offset, "Paging: %s paging for %d requests%s",
vsub->cs.is_paging ? "is" : "not",
llist_count(&vsub->cs.requests),