AW: patch: 8_paging

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Andreas.Eversberg Andreas.Eversberg at versatel.de
Sat May 23 08:20:33 UTC 2009


here is the problem: we don't know about the called bts, if
- the subscriber detaches after paging was started and the current_bts pointer inside subscriber is NULL.
- the lchan is not set because paging expires.

we can use the network pointer instead of the bts pointer for paging callback function. the gsm_network is required when paging result is received. all transactions (call instances) are linked in a list in gsm_network. (see patch 13) even if paging expires, the transactions in this list with the same subscriber must be released. (MO out of order)

but it is more complex: the subscriber will not be NULL, because it is "used" by the transactions. the use-counter of subscriber is increased for every transaction created and decreased on release of that transaction. if there is a call process for the paged subscriber, the subscr is set when paging response is received. we need at least a pointer to the network to access the transactions.

we can keep paging callback function without bts (or network) pointer, but then we need a network pointer in gsm_subscriber to process the network's paging result.

-----Ursprüngliche Nachricht-----
Von: openbsc-bounces at lists.gnumonks.org [mailto:openbsc-bounces at lists.gnumonks.org] Im Auftrag von Andreas.Eversberg
Gesendet: Samstag, 23. Mai 2009 09:47
An: Harald Welte
Cc: openbsc at lists.gnumonks.org
Betreff: AW: patch: 8_paging

i use the calling party's BTS, because the subscriber database does not contain the current BTS number of the subscriber last seen. (or detached)

i agree that the subscriber gives us information about the paged bts and we can resolve the gsm_network from that also.
 

-----Ursprüngliche Nachricht-----
Von: Harald Welte [mailto:laforge at gnumonks.org]
Gesendet: Samstag, 23. Mai 2009 08:30
An: Andreas.Eversberg
Cc: openbsc at lists.gnumonks.org
Betreff: Re: patch: 8_paging

Hi again,

On Sat, May 23, 2009 at 02:23:11PM +0800, Harald Welte wrote:
 
> On Thu, May 21, 2009 at 02:27:36PM +0200, Andreas.Eversberg wrote:
> > Paging refers to a BTS. To page a mobile phone, the current location 
> > is required. If paging succeeds or expires, the BTS structure is 
> > also given to the callback function (cbfn).
> > 
> > Because paging refers to a BTS, the cbfn (callback function) must 
> > include a pointer to bts.
> 
> The paging response includes a lchan pointer, which can be resolved to 
> the physical channel / timeslot and to the trx and finally to the BTS.
> Is this not sufficient?

Ah, ok, in the case we do not successfully allocate a lchan, then that's obviously NULL.

Still, when you call paging_request() you actually pass on a number of parameters, including:

1) the BTS on which you want to page (whcih, indeed, is currently the
   BTS of the calling party rather than the called party).  So this parameter
   is likely to get removed soon.

2) The subscriber that was called.  This should be used by paging_request()
   to resolve the BTS that this subscriber was last seen/registered to.

3) a reference to the call, which is treated as an opaque pointer that
   is passed back as a reference when calling the call-back function.  So
   if the bts of the calling or called party needs to be known, it should
   probably be referenced from that data structure.

Or am I missing something?

-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)





More information about the OpenBSC mailing list