diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-11-22 18:25:02 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-11-26 00:02:12 +0100 |
commit | 625b6e4dab63405a12a1c24bf3c9f1c5ce936f6f (patch) | |
tree | 17b0f0e964f314696a93ec6136feb85725138cdb | |
parent | d283db496fa75e9bb228b138b6bd3eef079ba673 (diff) |
mid-call: Introduce a timeout to switch from grace to rf off.
-rw-r--r-- | openbsc/include/openbsc/osmo_msc_data.h | 1 | ||||
-rw-r--r-- | openbsc/src/bsc/osmo_bsc_vty.c | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/osmo_msc_data.h b/openbsc/include/openbsc/osmo_msc_data.h index 59f92b3eb..8cfe683e7 100644 --- a/openbsc/include/openbsc/osmo_msc_data.h +++ b/openbsc/include/openbsc/osmo_msc_data.h @@ -61,6 +61,7 @@ struct osmo_msc_data { /* rf ctl related bits */ char *ussd_grace_txt; + int ussd_grace_timeout; struct osmo_bsc_rf *rf_ctl; /* ussd welcome text */ diff --git a/openbsc/src/bsc/osmo_bsc_vty.c b/openbsc/src/bsc/osmo_bsc_vty.c index 6e24e1523..980dfa44b 100644 --- a/openbsc/src/bsc/osmo_bsc_vty.c +++ b/openbsc/src/bsc/osmo_bsc_vty.c @@ -71,6 +71,7 @@ static int config_write_msc(struct vty *vty) 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 @@ DEFUN(cfg_net_msc_grace_ussd, 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 @@ int bsc_vty_init_extra(void) 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; } |