-----Ursprüngliche Nachricht-----
Von: openbsc-bounces(a)lists.gnumonks.org [mailto:openbsc-bounces@lists.gnumonks.org] Im
Auftrag von Holger Freyther
I'm not sure what happens to IMSI ATTACHED/DETACHED
when doing handover, so
far the detach path was written in a way that even a sequence like:
new BTS ATTACHED
old BTS DETACHED
hi holger,
here is what happens:
BTS(new LAC) ATTACH -> DB = new LAC
BTS(old LAC) DETACH -> DB = 0
the mobile attaches to the new LAC, so the database stores the new LAC number. next, the
mobile detaches from the old LAC and the database stores 0 for 'not attached'. the
database now holds a wrong value.
to solve this, we may only allow detach, if the mobile is not already attached to a
different location area:
if (DB == old LAC) then DB = 0 else ignore!
so the mobile can only detach from a BTS with the location it is currently attached.
i checked the code yesterday. i saw that the subscriber is associated to a LAC and a bts
when attaching. when detaching, the association to the bts is removed, if not already
attached to a different one.
is this correct? as far as i know, the attached subscriber is associated to a LAC only. it
may silently change the BTS without location update, if the MCC/MNC/LAC is equal on this
BTS. when we page a mobile, we must do it on all BTS of that location area, as far as i
know. (see patch 27) if the mobile requests a channel, it chooses one of the BTS. i think
we must remove the "current_bts" pointer from the subscriber structure.
andreas