diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-05-19 02:00:31 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2019-05-19 02:00:41 +0700 |
commit | fb625041601c525c23c96482250157dddb0941a4 (patch) | |
tree | 04f1f57746ccbcf8f1c20286c47ad1f9ca492c55 /ggsn | |
parent | d7030d268c4e61bcdad42364a7080635d32de140 (diff) |
osmo-ggsn: properly show subscriber's MSISDN in the VTY
Instead of printing subscriber's MSISDN as a hex-string, let's
attempt to decode it using gsm48_decode_bcd_number2().
Change-Id: I3f3a105dc8d0d582f2b9d8e1ff6c5785369e569b
Diffstat (limited to 'ggsn')
-rw-r--r-- | ggsn/ggsn_vty.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c index 214e2fa..c6dc0d9 100644 --- a/ggsn/ggsn_vty.c +++ b/ggsn/ggsn_vty.c @@ -27,6 +27,7 @@ #include <osmocom/core/utils.h> #include <osmocom/core/rate_ctr.h> #include <osmocom/gsm/apn.h> +#include <osmocom/gsm/gsm48_ie.h> #include <osmocom/gsm/protocol/gsm_04_08_gprs.h> #include <osmocom/vty/command.h> @@ -736,9 +737,14 @@ static void show_one_pdp(struct vty *vty, struct pdp_t *pdp) struct in46_addr eua46; char name_buf[256]; char *apn_name; + int rc; + + /* Attempt to decode MSISDN */ + rc = gsm48_decode_bcd_number2(name_buf, sizeof(name_buf), + pdp->msisdn.v, pdp->msisdn.l, 0); vty_out(vty, "IMSI: %s, NSAPI: %u, MSISDN: %s%s", imsi_gtp2str(&pdp->imsi), pdp->nsapi, - osmo_hexdump_nospc(pdp->msisdn.v, pdp->msisdn.l), VTY_NEWLINE); + rc ? "(NONE)" : name_buf, VTY_NEWLINE); vty_out(vty, " Control: %s:%08x ", print_gsnaddr(&pdp->gsnlc), pdp->teic_own); vty_out(vty, "<-> %s:%08x%s", print_gsnaddr(&pdp->gsnrc), pdp->teic_gn, VTY_NEWLINE); |