obtain and store subscriber identity
osmo-bsc doesn't per se get hold of the subscriber identity except during a Paging Command.
However, osmo-bsc passes through all the DTAP between BTS and MSC, and in fact we have a DTAP filter in place in osmo-bsc's code base, which does obtain the mobile identity from the passing DTAP.
Using that code, it is possible to obtain the subscriber's IMSI/TMSI identity for all connections, and note it in the subscriber_connection's bsc_subscr struct for all other code to benefit from.
This is mainly useful for analysis / logging; for example, a handover log currently shows only the MT subscriber's identity:
DHODEC DEBUG handover_decision_2.c:1129 (lchan 1.020 TCH/F) (subscr unknown) MEASUREMENT REPORT DHODEC DEBUG handover_decision_2.c:1134 (lchan 1.020 TCH/F) (subscr unknown) 0: arfcn=868 bsic=63 neigh_idx=0 rxlev=35 flags=0 DHODEC DEBUG handover_decision_2.c:1129 (lchan 1.030 TCH/F) (subscr IMSI:901700000014701) MEASUREMENT REPORT DHODEC DEBUG handover_decision_2.c:1134 (lchan 1.030 TCH/F) (subscr IMSI:901700000014701) 0: arfcn=868 bsic=63 neigh_idx=0 rxlev=60 flags=0
Another example is the meas_feed feature, which in its last working implementation discards measurement reports for unknown subscribers instead of sending them out. (That could be changed, but adding the subscriber identity would probably be better.)
#1 Updated by laforge almost 2 years ago
Makes sense. Please keep in mind that we also want (at some point) to introduce osmocom-specific
TLVs in 48.008 (BSSAP) message that allow OsmoMSC to inform OsmoBSC with the "subscriber name" (i.e. an
arbitrary string name that can be stored in the HLR with the subscriber for easier logging).
There's a ticket around for this.
just now I come across the BSSMAP Comon ID message. We already send it on IuCS, but not on the A-interface.
"3.1.30 Common ID
The purpose of the Common ID procedure is to inform the BSC about the IMSI of a user.
If the MS, the BSS and the MSC support DTM and as soon as the IMSI is available at the MSC, the MSC shall send the
COMMON ID message to the BSS."
So, instead of skimming the DTAP that passes the BSC towards the MSC, we should properly implement the Common ID message and handling to populate the IMSI.