mid-call: Introduce a timeout to switch from grace to rf off.
diff --git a/openbsc/src/bsc/osmo_bsc_vty.c b/openbsc/src/bsc/osmo_bsc_vty.c
index 6e24e15..980dfa4 100644
--- a/openbsc/src/bsc/osmo_bsc_vty.c
+++ b/openbsc/src/bsc/osmo_bsc_vty.c
@@ -71,6 +71,7 @@
 	vty_out(vty, "  timeout-pong %d%s", data->pong_timeout, VTY_NEWLINE);
 	if (data->ussd_grace_txt)
 		vty_out(vty, "bsc-grace-text %s%s", data->ussd_grace_txt, VTY_NEWLINE);
+	vty_out(vty, " bsc-grace-timeout %d%s", data->ussd_grace_timeout, VTY_NEWLINE);
 
 	if (data->audio_length != 0) {
 		int i;
@@ -261,6 +262,17 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_net_msc_grace_timeout,
+      cfg_net_msc_grace_timeout_cmd,
+      "bsc-grace-timeout NR",
+      "Switch from Grace to Off in NR seconds.\n" "Timeout in seconds\n")
+{
+	struct osmo_msc_data *data = osmo_msc_data(vty);
+	data->ussd_grace_timeout = atoi(argv[0]);
+	return CMD_SUCCESS;
+}
+
+
 int bsc_vty_init_extra(void)
 {
 	install_element(GSMNET_NODE, &cfg_net_msc_cmd);
@@ -277,6 +289,7 @@
 	install_element(MSC_NODE, &cfg_net_msc_ping_time_cmd);
 	install_element(MSC_NODE, &cfg_net_msc_pong_time_cmd);
 	install_element(MSC_NODE, &cfg_net_msc_grace_ussd_cmd);
+	install_element(MSC_NODE, &cfg_net_msc_grace_timeout_cmd);
 
 	return 0;
 }