summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2011-08-10 00:48:10 +0200
committerHarald Welte <laforge@gnumonks.org>2011-08-10 10:51:02 +0200
commit2962c20f73b0a80f0c31cbaf7bbd600a24aecf94 (patch)
treec24a4a5b868f3516f5e3b322d7f662a539b94c04
parentcd98656315c4e81816866823920fc1951f0c2a0b (diff)
NOKIA: Resend SABM on unknown TEI from LAPD
-rw-r--r--openbsc/src/libbsc/bts_nokia_site.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/bts_nokia_site.c b/openbsc/src/libbsc/bts_nokia_site.c
index 6d14bddaf..b5bc2fec0 100644
--- a/openbsc/src/libbsc/bts_nokia_site.c
+++ b/openbsc/src/libbsc/bts_nokia_site.c
@@ -84,7 +84,7 @@ static int shutdown_om(struct gsm_bts *bts)
Attention: this has to be adapted for mISDN
*/
-static void start_sabm_in_line(struct e1inp_line *line, int start, int sapi)
+void start_sabm_in_line(struct e1inp_line *line, int start, int sapi)
{
struct e1inp_sign_link *link;
int i;
@@ -162,6 +162,13 @@ static int inp_sig_cb(unsigned int subsys, unsigned int signal,
break;
}
break;
+ case S_INP_TEI_UNKNOWN:
+ /* We are receiving LAPD frames with one TEI that we do not
+ * seem to know, likely that we (the BSC) stopped working
+ * and lost our local states. However, the BTS is already
+ * configured, we try to take over the RSL links. */
+ start_sabm_in_line(isd->line, 1, SAPI_RSL);
+ break;
}
return 0;