From 66693935b6a7adad9ad7351e67acc525b302f866 Mon Sep 17 00:00:00 2001 From: Alexander Chemeris Date: Thu, 20 Aug 2015 20:50:11 -0400 Subject: utils: Support new fields in the v1 of meas_feed in meas_json. --- openbsc/src/utils/Makefile.am | 3 ++- openbsc/src/utils/meas_json.c | 25 ++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/openbsc/src/utils/Makefile.am b/openbsc/src/utils/Makefile.am index 89f2dfb3b..681d074c4 100644 --- a/openbsc/src/utils/Makefile.am +++ b/openbsc/src/utils/Makefile.am @@ -33,7 +33,8 @@ meas_vis_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) -lcdk -lncurses meas_vis_CFLAGS = $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) meas_json_SOURCES = meas_json.c -meas_json_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) +meas_json_LDADD = $(top_builddir)/src/libcommon/libcommon.a \ + $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) meas_json_CFLAGS = $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) osmo_meas_pcap2db_SOURCES = meas_pcap2db.c meas_db.c diff --git a/openbsc/src/utils/meas_json.c b/openbsc/src/utils/meas_json.c index 940e5e7ad..88d713be5 100644 --- a/openbsc/src/utils/meas_json.c +++ b/openbsc/src/utils/meas_json.c @@ -36,6 +36,8 @@ #include +#include +#include #include static void print_meas_rep_uni_json(struct gsm_meas_rep_unidir *mru) @@ -92,6 +94,14 @@ static void print_meas_rep_json(struct gsm_meas_rep *mr) printf("]"); } +static void print_chan_info_json(struct meas_feed_meas *mfm) +{ + printf("\"lchan_type\":\"%s\", \"pchan_type\":\"%s\", " + "\"bts_nr\":%d, \"trx_nr\":%d, \"ts_nr\":%d, \"ss_nr\":%d", + gsm_lchant_name(mfm->lchan_type), gsm_pchan_name(mfm->pchan_type), + mfm->bts_nr, mfm->trx_nr, mfm->ts_nr, mfm->ss_nr); +} + static void print_meas_feed_json(struct meas_feed_meas *mfm) { time_t now = time(NULL); @@ -100,9 +110,18 @@ static void print_meas_feed_json(struct meas_feed_meas *mfm) printf("\"time\":%ld, \"imsi\":\"%s\", \"name\":\"%s\", \"scenario\":\"%s\", ", now, mfm->imsi, mfm->name, mfm->scenario); - printf("\"meas_rep\":{"); - print_meas_rep_json(&mfm->mr); - printf("}"); + switch (mfm->hdr.version) { + case 1: + printf("\"chan_info\":{"); + print_chan_info_json(mfm); + printf("}, "); + /* no break, fall to version 0 */ + case 0: + printf("\"meas_rep\":{"); + print_meas_rep_json(&mfm->mr); + printf("}"); + break; + } printf("}\n"); -- cgit v1.2.3