diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2014-09-05 14:32:36 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2014-10-27 10:50:36 +0100 |
commit | 78ecaf0561bfed3f09ce9c180434da59e71202bd (patch) | |
tree | e90c99ff795d14d96ff37c358179a9e5581bbcab /openbsc/src/gprs/gprs_sgsn.c | |
parent | 99985b5ea8e2d69d1e63a9423fbe40b872b0c0f5 (diff) |
sgsn: Send detach(re-attach) instead of gmm status if TLLI unknown
The osmo-sgsn sends Status messages (or nothing in case of non
GMM/GSM) when the TLLI is unknown. This prevents the MS from
reconnecting.
This patch adds the initiation of an MT detach procedure to force a
re-attach to set up a valid LLE context if an LLE or an MM context
cannot be found. Since this can also be triggered by non-GMM SAPI
messages, a GPRS application callback sgsn_force_reattach_oldmsg is
added which in turn calls the GMM layer to generate the GSM 04.08
specific messages.
Note that the MS can be left in REGISTERED state after initially
wanting to detach itself, since it will receive a Detach Req
(re-attach) when sending a DEACT PDP CTX REQ after the SGSN or
gbproxy (P-TMSI patching enabled) has been restarted. This same
behaviour has been observed with another SGSN.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/src/gprs/gprs_sgsn.c')
-rw-r--r-- | openbsc/src/gprs/gprs_sgsn.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gprs_sgsn.c b/openbsc/src/gprs/gprs_sgsn.c index 75f8ae5f0..15f475394 100644 --- a/openbsc/src/gprs/gprs_sgsn.c +++ b/openbsc/src/gprs/gprs_sgsn.c @@ -445,3 +445,9 @@ int drop_all_pdp_for_ggsn(struct sgsn_ggsn_ctx *ggsn) return num; } + +int sgsn_force_reattach_oldmsg(struct msgb *oldmsg) +{ + return gsm0408_gprs_force_reattach(oldmsg, NULL); +} + |