diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-11-04 12:47:06 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-11-15 20:06:48 +0100 |
commit | c2b3270e9323e5c6204be37dd00b55f492de107e (patch) | |
tree | b8d60a71475dfccd3a6112a9da4adfb735e2de39 /openbsc | |
parent | c8166f3a9176a2910c4df32d5eee13eb1e7bfdda (diff) |
bsc: Send a Clear Reques on RF Failures to the MSC.
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/src/bsc/osmo_bsc_api.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/openbsc/src/bsc/osmo_bsc_api.c b/openbsc/src/bsc/osmo_bsc_api.c index 1718fea3d..bed18ed42 100644 --- a/openbsc/src/bsc/osmo_bsc_api.c +++ b/openbsc/src/bsc/osmo_bsc_api.c @@ -21,6 +21,7 @@ #include <openbsc/osmo_bsc.h> #include <openbsc/debug.h> +#include <osmocore/protocol/gsm_08_08.h> #include <osmocore/gsm0808.h> #define return_when_not_connected(conn) \ @@ -110,7 +111,16 @@ static void bsc_assign_fail(struct gsm_subscriber_connection *conn, static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause) { + struct msgb *resp; return_when_not_connected_val(conn, 1); + + resp = gsm0808_create_clear_rqst(GSM0808_CAUSE_RADIO_INTERFACE_FAILURE); + if (!resp) { + LOGP(DMSC, LOGL_ERROR, "Failed to allocate response.\n"); + return 0; + } + + bsc_queue_for_msc(conn, resp); return 0; } |