diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-08-21 14:55:57 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-09-28 05:14:25 +0200 |
commit | b28285d8e78acb1041c2f60fcc1ecb133a731adc (patch) | |
tree | bc39cf036af824e9ee45ea974fb7fa223df0309a | |
parent | 2223025e218263af6e1157ef1eeca1686cefe4b9 (diff) |
[paging] Implement paging by IMSI.
Try to page by IMSI when the TMSI is not set. This will be required
to properly support the MSC/BSSMAP.
-rw-r--r-- | openbsc/src/paging.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c index b8552133e..ae46186e8 100644 --- a/openbsc/src/paging.c +++ b/openbsc/src/paging.c @@ -93,11 +93,15 @@ static void page_ms(struct gsm_paging_request *request) unsigned int mi_len; unsigned int page_group; - DEBUGP(DPAG, "Going to send paging commands: '%s'\n", - request->subscr->imsi); + DEBUGP(DPAG, "Going to send paging commands: imsi: '%s' tmsi: '0x%x'\n", + request->subscr->imsi, request->subscr->tmsi); + + if (request->subscr->tmsi == GSM_RESERVED_TMSI) + mi_len = gsm48_generate_mid_from_imsi(mi, request->subscr->imsi); + else + mi_len = gsm48_generate_mid_from_tmsi(mi, request->subscr->tmsi); page_group = calculate_group(request->bts, request->subscr); - mi_len = gsm48_generate_mid_from_tmsi(mi, request->subscr->tmsi); rsl_paging_cmd(request->bts, page_group, mi_len, mi, request->chan_type); } |