From 04866d42792f59b334a13e836237947222b41127 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Tue, 31 Mar 2009 04:35:19 +0200 Subject: Proposal for a "channel request" interface... Reuqests for a subscriber a stored within the gsm_subscriber datastructure and it will keep track how many channels are allocated for this user and of which type to decide on policy... e.g. attempt to submit SMS during a phone call and not doing paging but a simple (immediate) assignment of the channel... --- openbsc/include/openbsc/gsm_subscriber.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'openbsc/include/openbsc/gsm_subscriber.h') diff --git a/openbsc/include/openbsc/gsm_subscriber.h b/openbsc/include/openbsc/gsm_subscriber.h index 1ca79e2ae..f787aebd5 100644 --- a/openbsc/include/openbsc/gsm_subscriber.h +++ b/openbsc/include/openbsc/gsm_subscriber.h @@ -31,6 +31,9 @@ struct gsm_subscriber { u_int8_t classmark2[3]; u_int8_t classmark3_len; u_int8_t classmark3[14]; + + /* pending requests */ + struct llist_head requests; }; enum gsm_subscriber_field { @@ -51,6 +54,9 @@ struct gsm_subscriber *subscr_get_by_imsi(const char *imsi); struct gsm_subscriber *subscr_get_by_extension(const char *ext); int subscr_update(struct gsm_subscriber *s, struct gsm_bts *bts, int reason); void subscr_put_channel(struct gsm_lchan *lchan); +void subscr_get_channel(struct gsm_subscriber *subscr, + struct gsm_network *network, int type, + gsm_cbfn *cbfn, void *param); /* internal */ struct gsm_subscriber *subscr_alloc(void); -- cgit v1.2.3