On Wednesday 10 June 2009 16:51:47 Holger Freyther wrote:
I will start this work in a branch called holger/msc
and will seek for
feedback once I have something that is worthwhile to share.
Just a quick status update on the above named branch. First of all it exists
now and has the first bits of the abstraction...
The problems:
- We use gsm_subscriber and the db in places were we should not
(find_by_tmsi, find_by_imsi...)
- We do channel management in layer3 code were we should not
(lchan_put, lchan_auto_release)
What was done so far:
- Create libmsc.a
- Move db.c, telnet_interface.c there initially
- Move functionality of gsm_subscriber.c that uses a DB to the MSC
- Move high level part of paging response to MSC (the BSC part
needs to be that way but is a violation of the spec...)
- Move location updating request handling to msc_loc.c
What needs to be done:
- Move CC and SMS part to the MSC layer (I wait for harald to finish the
mncc stuff first to avoid a big merge catastrophe)
- Change paging to be internal to the BSC. When to stop/retire a paging
request? In one way the BSC is not supposed to look at the PAGING
RESPONSE (see 08.08), but I could not find a "stop" paging... so we will
have to tell the paging layer somehow to stop... without doing it too early
(that is what currently happens...)
The interface:
- BSC to MSC passes struct msgb* from gsm_04_08.c via a gsm layer3
callback that is stored in the gsm_network
- MSC to BSC work by sending a struct msgb* using the existing send
msg function.
please take a look and scream if you think it goes in the wrong direction...
z.