diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-12-23 01:31:07 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-01-01 17:23:42 +0100 |
commit | 02d996605304d45d9144d735235f58294c6e0480 (patch) | |
tree | 11a1711be94deac6576f8932facad0dcd21b4bef /openbsc/src/bsc_hack.c | |
parent | ea057d9350014a871056e56f66208ffddd306659 (diff) |
MNCC: Introduce bsc_hack argument '-m' for enabling MNCC socket
Diffstat (limited to 'openbsc/src/bsc_hack.c')
-rw-r--r-- | openbsc/src/bsc_hack.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c index 8e19b1499..7f664238c 100644 --- a/openbsc/src/bsc_hack.c +++ b/openbsc/src/bsc_hack.c @@ -48,6 +48,7 @@ static const char *database_name = "hlr.sqlite3"; static const char *config_file = "openbsc.cfg"; extern const char *openbsc_copyright; static int daemonize = 0; +static int use_mncc_sock = 0; /* timer to store statistics */ #define DB_SYNC_INTERVAL 60, 0 @@ -90,6 +91,7 @@ static void print_help() printf(" -V --version. Print the version of OpenBSC.\n"); printf(" -P --rtp-proxy Enable the RTP Proxy code inside OpenBSC\n"); printf(" -e --log-level number. Set a global loglevel.\n"); + printf(" -m --mncc-sock Disable built-in MNCC handler and offer socket\n"); } static void handle_options(int argc, char **argv) @@ -109,10 +111,11 @@ static void handle_options(int argc, char **argv) {"version", 0, 0, 'V' }, {"rtp-proxy", 0, 0, 'P'}, {"log-level", 1, 0, 'e'}, + {"mncc-sock", 0, 0, 'm'}, {0, 0, 0, 0} }; - c = getopt_long(argc, argv, "hd:Dsl:ar:p:TPVc:e:", + c = getopt_long(argc, argv, "hd:Dsl:ar:p:TPVc:e:m", long_options, &option_index); if (c == -1) break; @@ -149,6 +152,9 @@ static void handle_options(int argc, char **argv) case 'e': log_set_log_level(stderr_target, atoi(optarg)); break; + case 'm': + use_mncc_sock = 1; + break; case 'V': print_version(1); exit(0); @@ -242,7 +248,13 @@ int main(int argc, char **argv) /* parse options */ handle_options(argc, argv); - rc = bsc_bootstrap_network(int_mncc_recv, config_file); + /* internal MNCC handler or MNCC socket? */ + if (use_mncc_sock) { + rc = bsc_bootstrap_network(mncc_sock_from_cc, config_file); + if (rc >= 0) + mncc_sock_init(bsc_gsmnet); + } else + rc = bsc_bootstrap_network(int_mncc_recv, config_file); if (rc < 0) exit(1); bsc_api_init(bsc_gsmnet, msc_bsc_api()); |