aboutsummaryrefslogtreecommitdiffstats
path: root/include
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 /include
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 'include')
-rw-r--r--include/osmocom/msc/gsm_data.h3
-rw-r--r--include/osmocom/msc/transaction.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h
index 54026f697..579697e29 100644
--- a/include/osmocom/msc/gsm_data.h
+++ b/include/osmocom/msc/gsm_data.h
@@ -332,6 +332,9 @@ struct gsm_network {
/* Periodic location update default value */
uint8_t t3212;
+ /* Global MNCC guard timer value */
+ int mncc_guard_timeout;
+
struct {
struct mgcp_client_conf conf;
struct mgcp_client *client;
diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h
index 4ffb468bb..b7d7971fe 100644
--- a/include/osmocom/msc/transaction.h
+++ b/include/osmocom/msc/transaction.h
@@ -69,6 +69,7 @@ struct gsm_trans {
int Tcurrent; /* current CC timer */
int T308_second; /* used to send release again */
struct osmo_timer_list timer;
+ struct osmo_timer_list timer_guard;
struct gsm_mncc msg; /* stores setup/disconnect/release message */
} cc;
struct {