aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openbsc/include/openbsc/gsm_data_shared.h14
-rw-r--r--openbsc/src/libbsc/chan_alloc.c1
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c8
3 files changed, 18 insertions, 5 deletions
diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h
index ba431da03..67f8e724c 100644
--- a/openbsc/include/openbsc/gsm_data_shared.h
+++ b/openbsc/include/openbsc/gsm_data_shared.h
@@ -166,6 +166,15 @@ enum lchan_csd_mode {
LCHAN_CSD_M_T_32000,
};
+/* State of the SAPIs in the lchan */
+enum lchan_sapi_state {
+ LCHAN_SAPI_S_NONE,
+ LCHAN_SAPI_S_REQ,
+ LCHAN_SAPI_S_ASSIGNED,
+ LCHAN_SAPI_S_REL,
+ LCHAN_SAPI_S_ERROR,
+};
+
struct gsm_lchan {
/* The TS that we're part of */
struct gsm_bts_trx_ts *ts;
@@ -195,7 +204,6 @@ struct gsm_lchan {
/* Established data link layer services */
uint8_t sapis[8];
- int sacch_deact;
struct {
uint32_t bound_ip;
@@ -235,6 +243,10 @@ struct gsm_lchan {
struct gsm_subscriber_connection *conn;
#else
+ /* Number of different GsmL1_Sapi_t used in osmo_bts_sysmo is 23.
+ * Currently we don't share these headers so this is a magic number. */
+ uint8_t sapis_dl[23];
+ uint8_t sapis_ul[23];
struct lapdm_channel lapdm_ch;
struct llist_head dl_tch_queue;
struct {
diff --git a/openbsc/src/libbsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c
index 411a6cbef..9b74329f4 100644
--- a/openbsc/src/libbsc/chan_alloc.c
+++ b/openbsc/src/libbsc/chan_alloc.c
@@ -344,7 +344,6 @@ void lchan_free(struct gsm_lchan *lchan)
lchan->conn = NULL;
}
- lchan->sacch_deact = 0;
/* FIXME: ts_free() the timeslot, if we're the last logical
* channel using it */
}
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 65e6fcc99..b9b364323 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -938,26 +938,28 @@ static int gsm48_rx_mm_imsi_detach_ind(struct gsm_subscriber_connection *conn, s
struct gsm_subscriber *subscr = NULL;
gsm48_mi_to_string(mi_string, sizeof(mi_string), idi->mi, idi->mi_len);
- DEBUGP(DMM, "IMSI DETACH INDICATION: mi_type=0x%02x MI(%s): ",
+ DEBUGP(DMM, "IMSI DETACH INDICATION: mi_type=0x%02x MI(%s)",
mi_type, mi_string);
osmo_counter_inc(bts->network->stats.loc_upd_type.detach);
switch (mi_type) {
case GSM_MI_TYPE_TMSI:
+ DEBUGPC(DMM, "\n");
subscr = subscr_get_by_tmsi(bts->network,
tmsi_from_string(mi_string));
break;
case GSM_MI_TYPE_IMSI:
+ DEBUGPC(DMM, "\n");
subscr = subscr_get_by_imsi(bts->network, mi_string);
break;
case GSM_MI_TYPE_IMEI:
case GSM_MI_TYPE_IMEISV:
/* no sim card... FIXME: what to do ? */
- DEBUGPC(DMM, "unimplemented mobile identity type\n");
+ DEBUGPC(DMM, ": unimplemented mobile identity type\n");
break;
default:
- DEBUGPC(DMM, "unknown mobile identity type\n");
+ DEBUGPC(DMM, ": unknown mobile identity type\n");
break;
}