aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openbsc/src/osmo-bsc/osmo_bsc_bssap.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
index 495a31325..2fbcbe5ee 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c
@@ -133,13 +133,11 @@ static int bssmap_handle_paging(struct gsm_network *net,
return -1;
}
- if (TLVP_PRESENT(&tp, GSM0808_IE_TMSI)) {
- gsm48_mi_to_string(mi_string, sizeof(mi_string),
- TLVP_VAL(&tp, GSM0808_IE_TMSI), TLVP_LEN(&tp, GSM0808_IE_TMSI));
- tmsi = strtoul(mi_string, NULL, 10);
+ if (TLVP_PRESENT(&tp, GSM0808_IE_TMSI) &&
+ TLVP_LEN(&tp, GSM0808_IE_TMSI) == 4) {
+ tmsi = ntohl(*(uint32_t *) TLVP_VAL(&tp, GSM0808_IE_TMSI));
}
-
/*
* parse the IMSI
*/