diff options
author | Pablo Neira Ayuso <pablo@gnumonks.org> | 2011-08-10 00:48:10 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-08-10 10:51:02 +0200 |
commit | 2962c20f73b0a80f0c31cbaf7bbd600a24aecf94 (patch) | |
tree | c24a4a5b868f3516f5e3b322d7f662a539b94c04 /openbsc/src/libbsc/bts_nokia_site.c | |
parent | cd98656315c4e81816866823920fc1951f0c2a0b (diff) |
NOKIA: Resend SABM on unknown TEI from LAPD
Diffstat (limited to 'openbsc/src/libbsc/bts_nokia_site.c')
-rw-r--r-- | openbsc/src/libbsc/bts_nokia_site.c | 9 |
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; |