aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-05-30 21:44:32 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-11-12 15:50:37 +0100
commite77b1837869e5482bab28d921b4a64574b19de69 (patch)
treeb6d0421c45491d46a9685e62f3c905ff68958e88
parentfec0a31f41b2996f5756835273c4e8d019bb924d (diff)
cut off libbsc paging, pending paging in libmsc
Temporarily disable all paging to be able to link libmsc without libbsc. Skip the paging part of channel_test because the paging is now disabled. In osmo-nitb, paging is done on BSC level and MSC level "at the same time". When the new CSCN is fully operational, paging will be controlled separately on the MSC level, and the BSC (RNC) level will be instructed over an IuCS or A-interface to negotiate paging with the MS (UE). This MSC level paging does not yet exist and will be added in subsequent commits. Change-Id: I8b6920ddc54fc3f2876a59664e6722666d8a8a4a
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c7
-rw-r--r--openbsc/src/libmsc/gsm_subscriber.c11
-rw-r--r--openbsc/src/libmsc/vty_interface_layer3.c4
-rw-r--r--openbsc/tests/channel/channel_test.c3
-rw-r--r--openbsc/tests/channel/channel_test.ok1
5 files changed, 24 insertions, 2 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index 813daa4b3..3a7196198 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -1178,7 +1178,6 @@ static int gsm48_rx_rr_pag_resp(struct gsm_subscriber_connection *conn, struct m
uint8_t mi_type;
char mi_string[GSM48_MI_SIZE];
struct gsm_subscriber *subscr = NULL;
- int rc = 0;
resp = (struct gsm48_pag_resp *) &gh->data[0];
gsm48_paging_extract_mi(resp, msgb_l3len(msg) - sizeof(*gh),
@@ -1213,8 +1212,14 @@ static int gsm48_rx_rr_pag_resp(struct gsm_subscriber_connection *conn, struct m
/* We received a paging */
conn->expire_timer_stopped = 1;
+#if 0
+ TODO implement paging response in libmsc!
+ Excluding this to be able to link without libbsc:
rc = gsm48_handle_paging_resp(conn, msg, subscr);
return rc;
+#else
+ return -ENOTSUP;
+#endif
}
static int gsm48_rx_rr_app_info(struct gsm_subscriber_connection *conn, struct msgb *msg)
diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c
index 8163f4b70..19c424af8 100644
--- a/openbsc/src/libmsc/gsm_subscriber.c
+++ b/openbsc/src/libmsc/gsm_subscriber.c
@@ -71,6 +71,10 @@ static struct gsm_subscriber *get_subscriber(struct gsm_subscriber_group *sgrp,
return subscr;
}
+#if 0
+TODO implement paging response in libmsc!
+Excluding this to be able to link without libbsc:
+
/*
* We got the channel assigned and can now hand this channel
* over to one of our callbacks.
@@ -163,6 +167,7 @@ static int subscr_paging_cb(unsigned int hooknum, unsigned int event,
/* We _really_ have a channel, secure it now ! */
return gsm48_secure_channel(conn, pr->key_seq, subscr_paging_sec_cb, param);
}
+#endif
struct subscr_request *subscr_request_channel(struct gsm_subscriber *subscr,
int channel_type, gsm_cbfn *cbfn, void *param)
@@ -174,8 +179,14 @@ struct subscr_request *subscr_request_channel(struct gsm_subscriber *subscr,
if (!subscr->is_paging) {
LOGP(DMM, LOGL_DEBUG, "Subscriber %s not paged yet.\n",
subscr_name(subscr));
+#if 0
+ TODO implement paging response in libmsc!
+ Excluding this to be able to link without libbsc:
rc = paging_request(subscr->group->net, subscr, channel_type,
subscr_paging_cb, subscr);
+#else
+ rc = -ENOTSUP;
+#endif
if (rc <= 0) {
LOGP(DMM, LOGL_ERROR, "Subscriber %s paging failed: %d\n",
subscr_name(subscr), rc);
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index 641a86ec9..ead6c70c8 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -802,7 +802,11 @@ DEFUN(show_stats,
{
struct gsm_network *net = gsmnet_from_vty(vty);
+#if 0
+ TODO implement statistics specifically for libmsc!
+ Excluding this to be able to link without libbsc:
openbsc_vty_print_statistics(vty, net);
+#endif
vty_out(vty, "Location Update : %lu attach, %lu normal, %lu periodic%s",
net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_ATTACH].current,
net->msc_ctrs->ctr[MSC_CTR_LOC_UPDATE_TYPE_NORMAL].current,
diff --git a/openbsc/tests/channel/channel_test.c b/openbsc/tests/channel/channel_test.c
index c7bd3424d..7c47ee06f 100644
--- a/openbsc/tests/channel/channel_test.c
+++ b/openbsc/tests/channel/channel_test.c
@@ -83,12 +83,15 @@ void test_request_chan(void)
/* Ask for a channel... */
struct subscr_request *sr;
+#warning _______________SKIPPING SOME TESTS____________________
+#if 0
sr = subscr_request_channel(subscr, RSL_CHANNEED_TCH_F, subscr_cb, (void*)0x2342L);
OSMO_ASSERT(sr);
OSMO_ASSERT(s_cbfn);
s_cbfn(101, 200, (void*)0x1323L, &s_conn, s_data);
OSMO_ASSERT(s_end);
+#endif
}
void test_dyn_ts_subslots(void)
diff --git a/openbsc/tests/channel/channel_test.ok b/openbsc/tests/channel/channel_test.ok
index 33c819350..c582b4dae 100644
--- a/openbsc/tests/channel/channel_test.ok
+++ b/openbsc/tests/channel/channel_test.ok
@@ -1,3 +1,2 @@
Testing the gsm_subscriber chan logic
-Reached, didn't crash, test passed
Testing subslot numbers for pchan types