aboutsummaryrefslogtreecommitdiffstats
path: root/src/gsm_04_08.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-02-22 21:14:24 +0000
committerHarald Welte <laforge@gnumonks.org>2009-02-22 21:14:24 +0000
commitfe18d8fd895c21fdceb9d0e3d55bbecc18fc5447 (patch)
tree0a427e422a338949af48e32979225b3ba90e9ade /src/gsm_04_08.c
parent2f74aa413b8fa0de9140c5c61979d6912704b7df (diff)
PAGING RESPONSE could contain non-TMSI mobile identity such as IMSI
Diffstat (limited to 'src/gsm_04_08.c')
-rw-r--r--src/gsm_04_08.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index 01f103b83..9fdc10406 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -827,7 +827,14 @@ static int gsm48_rr_rx_pag_resp(struct msgb *msg)
mi_to_string(mi_string, sizeof(mi_string), &pr->mi[0], pr->mi_len);
DEBUGP(DRR, "PAGING RESPONSE: mi_type=0x%02x MI(%s)\n",
mi_type, mi_string);
- subscr = subscr_get_by_tmsi(mi_string);
+ switch (mi_type) {
+ case GSM_MI_TYPE_TMSI:
+ subscr = subscr_get_by_tmsi(mi_string);
+ break;
+ case GSM_MI_TYPE_IMSI:
+ subscr = subscr_get_by_imsi(mi_string);
+ break;
+ }
if (!subscr) {
DEBUGP(DRR, "<- Can't find any subscriber for this ID\n");