[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.
diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c
index b855213..ae46186 100644
--- a/openbsc/src/paging.c
+++ b/openbsc/src/paging.c
@@ -93,11 +93,15 @@
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);
}