aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/msc_vty.c
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2018-10-10 17:00:49 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2018-10-24 10:27:39 +0200
commit9ca7b31cbf78511208c2060b9a8e38ad3a0f4aae (patch)
treeb4c363d2202a5a2f08429d46bdf0b9e15e3976e5 /src/libmsc/msc_vty.c
parentf6400737f9f6f7d326030862fd6cbc7cab25b8f0 (diff)
gsm_04_08_cc: Add global guard timer for MNCC
The external MNCC handler may hang indefinitely in cases where the remote end of the MNCC ceases to work properly. Add a global guard timer to make sure the call reaches ACTIVE state. Change-Id: I7375d1e17cd746aac4eadfe1e587e82cf1630d3d Related: OS#3599
Diffstat (limited to 'src/libmsc/msc_vty.c')
-rw-r--r--src/libmsc/msc_vty.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index fe6ae8883..a16cec894 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -333,6 +333,16 @@ DEFUN(cfg_msc, cfg_msc_cmd,
return CMD_SUCCESS;
}
+DEFUN(cfg_msc_mncc_guard_timeout,
+ cfg_msc_mncc_guard_timeout_cmd,
+ "mncc-guard-timeout <0-255>",
+ "Set global guard timer for mncc interface activity\n"
+ "guard timer value (sec.)")
+{
+ gsmnet->mncc_guard_timeout = atoi(argv[0]);
+ return CMD_SUCCESS;
+}
+
DEFUN(cfg_msc_assign_tmsi, cfg_msc_assign_tmsi_cmd,
"assign-tmsi",
"Assign TMSI during Location Updating.\n")
@@ -421,6 +431,8 @@ DEFUN(cfg_msc_emergency_msisdn, cfg_msc_emergency_msisdn_cmd,
static int config_write_msc(struct vty *vty)
{
vty_out(vty, "msc%s", VTY_NEWLINE);
+ vty_out(vty, " mncc-guard-timeout %i%s",
+ gsmnet->mncc_guard_timeout, VTY_NEWLINE);
vty_out(vty, " %sassign-tmsi%s",
gsmnet->vlr->cfg.assign_tmsi? "" : "no ", VTY_NEWLINE);
@@ -1415,6 +1427,7 @@ void msc_vty_init(struct gsm_network *msc_network)
install_element(CONFIG_NODE, &cfg_msc_cmd);
install_node(&msc_node, config_write_msc);
install_element(MSC_NODE, &cfg_msc_assign_tmsi_cmd);
+ install_element(MSC_NODE, &cfg_msc_mncc_guard_timeout_cmd);
install_element(MSC_NODE, &cfg_msc_no_assign_tmsi_cmd);
install_element(MSC_NODE, &cfg_msc_auth_tuple_max_reuse_count_cmd);
install_element(MSC_NODE, &cfg_msc_auth_tuple_reuse_on_error_cmd);