aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2015-07-21 11:40:08 +0300
committerIvan Kluchnikov <kluchnikovi@gmail.com>2015-07-22 21:32:10 +0300
commit85439534961c34f620117979d658bdbb760bafb3 (patch)
tree1e3aaa5d50a689d03590c8533d3a1b8a5c5ddf1b /openbsc/include/openbsc
parent3cc7d2b50d8e6d8834135adbb984c90500cacaae (diff)
sub: Add the ability to set prefix for randomly generated extensions
Prefix is added before randomly generated extension. Prefix is useful in case of "accept-all" authentication mode is used and routing based on number prefix is used. Added optional configuration parameter "extension-prefix".
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r--openbsc/include/openbsc/db.h4
-rw-r--r--openbsc/include/openbsc/gsm_data.h1
2 files changed, 3 insertions, 2 deletions
diff --git a/openbsc/include/openbsc/db.h b/openbsc/include/openbsc/db.h
index 6699a8600..acaf62a99 100644
--- a/openbsc/include/openbsc/db.h
+++ b/openbsc/include/openbsc/db.h
@@ -35,13 +35,13 @@ int db_prepare(void);
int db_fini(void);
/* subscriber management */
-struct gsm_subscriber *db_create_subscriber(const char *imsi);
+struct gsm_subscriber *db_create_subscriber(const char *imsi, uint64_t prefix);
struct gsm_subscriber *db_get_subscriber(enum gsm_subscriber_field field,
const char *subscr);
int db_sync_subscriber(struct gsm_subscriber *subscriber);
int db_subscriber_expire(void *priv, void (*callback)(void *priv, long long unsigned int id));
int db_subscriber_alloc_tmsi(struct gsm_subscriber *subscriber);
-int db_subscriber_alloc_exten(struct gsm_subscriber *subscriber);
+int db_subscriber_alloc_exten(struct gsm_subscriber *subscriber, uint64_t prefix);
int db_subscriber_alloc_token(struct gsm_subscriber *subscriber, uint32_t* token);
int db_subscriber_assoc_imei(struct gsm_subscriber *subscriber, char *imei);
int db_subscriber_delete(struct gsm_subscriber *subscriber);
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index 6f7c8dd2a..b67b8c6b9 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -280,6 +280,7 @@ struct gsm_network {
int create_subscriber;
struct gsm_subscriber_group *subscr_group;
struct gsm_sms_queue *sms_queue;
+ uint64_t exten_prefix;
/* control interface */
struct ctrl_handle *ctrl;