aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-07-29 19:32:12 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-07-29 19:32:12 +0800
commitc00bf8f9307ea07ea0644dcf381c466d57dec59e (patch)
treeb434a57e57813d146a258dee226bb43816b9251d
parentd657c67c9c6a326f82965dc9d76fcb67ac173053 (diff)
osmo-grace: Introduce a global trace text to be send to subscribers
-rw-r--r--openbsc/include/openbsc/gsm_data.h1
-rw-r--r--openbsc/src/vty_interface.c20
2 files changed, 21 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index 1b5d6dc6c..eb9f0735e 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -698,6 +698,7 @@ struct gsm_network {
int ping_timeout;
int pong_timeout;
struct bsc_msc_rf *rf;
+ char *ussd_grace_txt;
};
#define SMS_HDR_SIZE 128
diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c
index 863430843..0b65298ad 100644
--- a/openbsc/src/vty_interface.c
+++ b/openbsc/src/vty_interface.c
@@ -528,6 +528,9 @@ static int config_write_net(struct vty *vty)
vty_out(vty, " msc ip-dscp %d%s", gsmnet->msc_ip_dscp, VTY_NEWLINE);
vty_out(vty, " timeout ping %d%s", gsmnet->ping_timeout, VTY_NEWLINE);
vty_out(vty, " timeout pong %d%s", gsmnet->pong_timeout, VTY_NEWLINE);
+ if (gsmnet->ussd_grace_txt)
+ vty_out(vty, " bsc-grace-text %s%s", gsmnet->ussd_grace_txt, VTY_NEWLINE);
+
return CMD_SUCCESS;
}
@@ -1443,6 +1446,22 @@ DEFUN(cfg_net_pong_time,
return CMD_SUCCESS;
}
+DEFUN(cfg_net_grace_ussd,
+ cfg_net_grace_ussd_cmd,
+ "bsc-grace-text .TEXT",
+ "Set the USSD notifcation to be send.\n" "Text to be sent\n")
+{
+ char *data = argv_concat(argv, argc, 1);
+ if (!data)
+ return CMD_WARNING;
+
+ if (gsmnet->ussd_grace_txt)
+ talloc_free(gsmnet->ussd_grace_txt);
+ gsmnet->ussd_grace_txt = talloc_strdup(gsmnet, data);
+ talloc_free(data);
+ return CMD_SUCCESS;
+}
+
#define DECLARE_TIMER(number, doc) \
DEFUN(cfg_net_T##number, \
cfg_net_T##number##_cmd, \
@@ -2265,6 +2284,7 @@ int bsc_vty_init(struct gsm_network *net)
install_element(GSMNET_NODE, &cfg_net_msc_prio_cmd);
install_element(GSMNET_NODE, &cfg_net_ping_time_cmd);
install_element(GSMNET_NODE, &cfg_net_pong_time_cmd);
+ install_element(GSMNET_NODE, &cfg_net_grace_ussd_cmd);
install_element(GSMNET_NODE, &cfg_bts_cmd);
install_node(&bts_node, config_write_bts);