BSC: introduce new "sysmobts" BTS model

so far, osmo-bts/sysmobts used to be entered as "sysmobts" type in the
configuration file.  However, there are some differences in the
protocol/behaviour and we should reflect that by a new BTS plugin (with
lots of code reuse from the nanobts driver).
diff --git a/openbsc/src/libbsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
index b2b648d..bc246f1 100644
--- a/openbsc/src/libbsc/bts_ipaccess_nanobts.c
+++ b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
@@ -41,7 +41,7 @@
 static int bts_model_nanobts_start(struct gsm_network *net);
 static void bts_model_nanobts_e1line_bind_ops(struct e1inp_line *line);
 
-static struct gsm_bts_model model_nanobts = {
+struct gsm_bts_model bts_model_nanobts = {
 	.type = GSM_BTS_TYPE_NANOBTS,
 	.name = "nanobts",
 	.start = bts_model_nanobts_start,
@@ -438,7 +438,7 @@
 }
 
 /* Callback function to be called every time we receive a signal from NM */
-static int nm_sig_cb(unsigned int subsys, unsigned int signal,
+int bts_ipa_nm_sig_cb(unsigned int subsys, unsigned int signal,
 		     void *handler_data, void *signal_data)
 {
 	if (subsys != SS_NM)
@@ -460,13 +460,14 @@
 
 static int bts_model_nanobts_start(struct gsm_network *net)
 {
-	model_nanobts.features.data = &model_nanobts._features_data[0];
-	model_nanobts.features.data_len = sizeof(model_nanobts._features_data);
+	bts_model_nanobts.features.data = &bts_model_nanobts._features_data[0];
+	bts_model_nanobts.features.data_len =
+				sizeof(bts_model_nanobts._features_data);
 
-	gsm_btsmodel_set_feature(&model_nanobts, BTS_FEAT_GPRS);
-	gsm_btsmodel_set_feature(&model_nanobts, BTS_FEAT_EGPRS);
+	gsm_btsmodel_set_feature(&bts_model_nanobts, BTS_FEAT_GPRS);
+	gsm_btsmodel_set_feature(&bts_model_nanobts, BTS_FEAT_EGPRS);
 
-	osmo_signal_register_handler(SS_NM, nm_sig_cb, NULL);
+	osmo_signal_register_handler(SS_NM, bts_ipa_nm_sig_cb, NULL);
 
 	ipaccess_gsmnet = net;
 	return 0;
@@ -474,7 +475,7 @@
 
 int bts_model_nanobts_init(void)
 {
-	return gsm_bts_model_register(&model_nanobts);
+	return gsm_bts_model_register(&bts_model_nanobts);
 }
 
 #define OML_UP         0x0001