aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gb_proxy.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-12 13:28:25 +0000
committerHarald Welte <laforge@gnumonks.org>2010-05-12 18:28:00 +0200
commitb778d2cf1638d706c7bf3bb3f754029e40d4bf54 (patch)
tree396bf73d6943cf8929858a16d444c65a2d8e1c78 /openbsc/src/gprs/gb_proxy.c
parent811c4979e6af534248d91d8c79a22cdcd7d36431 (diff)
NS / GB Proxy: Add Signal in case Tns-Alive expires too often
The Gb Proxy can then restart the RESET procedure.
Diffstat (limited to 'openbsc/src/gprs/gb_proxy.c')
-rw-r--r--openbsc/src/gprs/gb_proxy.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index eac8d2c59..d9639a445 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -488,6 +488,13 @@ int gbprox_signal(unsigned int subsys, unsigned int signal,
nsvc->remote_end_is_sgsn = 1;
}
+ if (signal == S_NS_ALIVE_EXP && nsvc->remote_end_is_sgsn) {
+ LOGP(DGPRS, LOGL_NOTICE, "Tns alive expired too often, "
+ "re-starting RESET procedure\n");
+ nsip_connect(nsvc->nsi, &nsvc->ip.bts_addr, nsvc->nsei,
+ nsvc->nsvci);
+ }
+
/* We currently only care about signals from the SGSN */
if (!nsvc->remote_end_is_sgsn)
return 0;