aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-31 13:35:28 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-31 13:35:28 +0100
commit28e183f3850a42489146a776dd087e527d3bf319 (patch)
treef5e9623436228292497cf00fcff6a1a8b9e412bf /openbsc
parent61bd965b04e4f00eaf4196eebb4ec6269926d551 (diff)
Revert "bsc/ussd: Send faked CM Service Accept before sending USSD"
This reverts commit 61bd965b04e4f00eaf4196eebb4ec6269926d551. No, we should not link to dbi.. and these libraries..
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/gsm_04_08.h3
-rw-r--r--openbsc/src/libmsc/gsm_04_08.c4
-rw-r--r--openbsc/src/osmo-bsc/Makefile.am6
-rw-r--r--openbsc/src/osmo-bsc/osmo_bsc_api.c17
4 files changed, 10 insertions, 20 deletions
diff --git a/openbsc/include/openbsc/gsm_04_08.h b/openbsc/include/openbsc/gsm_04_08.h
index 8df7b735f..2f5aaa98c 100644
--- a/openbsc/include/openbsc/gsm_04_08.h
+++ b/openbsc/include/openbsc/gsm_04_08.h
@@ -39,9 +39,6 @@ void gsm_net_update_ctype(struct gsm_network *net);
int gsm48_tx_mm_info(struct gsm_subscriber_connection *conn);
int gsm48_tx_mm_auth_req(struct gsm_subscriber_connection *conn, uint8_t *rand, int key_seq);
int gsm48_tx_mm_auth_rej(struct gsm_subscriber_connection *conn);
-int gsm48_tx_mm_serv_ack(struct gsm_subscriber_connection *conn);
-int gsm48_tx_mm_serv_rej(struct gsm_subscriber_connection *conn,
- enum gsm48_reject_value value);
int gsm48_send_rr_release(struct gsm_lchan *lchan);
int gsm48_send_rr_ciph_mode(struct gsm_lchan *lchan, int want_imeisv);
int gsm48_send_rr_app_info(struct gsm_subscriber_connection *conn, uint8_t apdu_id,
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index df985caca..c41443eb4 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -804,14 +804,14 @@ int gsm48_tx_mm_auth_rej(struct gsm_subscriber_connection *conn)
return gsm48_tx_simple(conn, GSM48_PDISC_MM, GSM48_MT_MM_AUTH_REJ);
}
-int gsm48_tx_mm_serv_ack(struct gsm_subscriber_connection *conn)
+static int gsm48_tx_mm_serv_ack(struct gsm_subscriber_connection *conn)
{
DEBUGP(DMM, "-> CM SERVICE ACK\n");
return gsm48_tx_simple(conn, GSM48_PDISC_MM, GSM48_MT_MM_CM_SERV_ACC);
}
/* 9.2.6 CM service reject */
-int gsm48_tx_mm_serv_rej(struct gsm_subscriber_connection *conn,
+static int gsm48_tx_mm_serv_rej(struct gsm_subscriber_connection *conn,
enum gsm48_reject_value value)
{
struct msgb *msg;
diff --git a/openbsc/src/osmo-bsc/Makefile.am b/openbsc/src/osmo-bsc/Makefile.am
index 9c091afa6..63972c838 100644
--- a/openbsc/src/osmo-bsc/Makefile.am
+++ b/openbsc/src/osmo-bsc/Makefile.am
@@ -16,7 +16,5 @@ osmo_bsc_LDADD = $(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libcommon/libcommon.a \
$(top_builddir)/src/libctrl/libctrl.a \
$(top_builddir)/src/libcommon/libcommon.a \
- -ldbi -ldl $(LIBOSMOSCCP_LIBS) \
- $(LIBSMPP34_LIBS) $(LIBOSMOCORE_LIBS) \
- $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(COVERAGE_LDFLAGS) \
- $(LIBOSMOABIS_LIBS)
+ $(LIBOSMOSCCP_LIBS) $(LIBOSMOCORE_LIBS) \
+ $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(COVERAGE_LDFLAGS) $(LIBOSMOABIS_LIBS)
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_api.c b/openbsc/src/osmo-bsc/osmo_bsc_api.c
index 8288d3b2b..675bbb20e 100644
--- a/openbsc/src/osmo-bsc/osmo_bsc_api.c
+++ b/openbsc/src/osmo-bsc/osmo_bsc_api.c
@@ -87,8 +87,8 @@ static void bsc_cipher_mode_compl(struct gsm_subscriber_connection *conn,
queue_msg_or_return(resp);
}
-static void bsc_send_ussd_no_srv(struct gsm_subscriber_connection *conn,
- struct msgb *msg, const char *text)
+static void bsc_send_ussd_notification(struct gsm_subscriber_connection *conn,
+ struct msgb *msg, const char *text)
{
struct gsm48_hdr *gh;
int8_t pdisc;
@@ -119,14 +119,10 @@ static void bsc_send_ussd_no_srv(struct gsm_subscriber_connection *conn,
}
if (drop_message) {
- LOGP(DMSC, LOGL_DEBUG, "Skipping (not sending) USSD message: '%s'\n",
- text);
+ LOGP(DMSC, LOGL_DEBUG, "Skipping (not sending) USSD message: '%s'\n", text);
return;
}
- LOGP(DMSC, LOGL_INFO, "Sending CM Service Accept\n");
- gsm48_tx_mm_serv_ack(conn);
-
LOGP(DMSC, LOGL_INFO, "Sending USSD message: '%s'\n", text);
gsm0480_send_ussdNotify(conn, 1, text);
gsm0480_send_releaseComplete(conn);
@@ -147,8 +143,7 @@ static int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg
msc = bsc_find_msc(conn, msg);
if (!msc) {
LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n");
- bsc_send_ussd_no_srv(conn, msg,
- conn->bts->network->bsc_data->ussd_no_msc_txt);
+ bsc_send_ussd_notification(conn, msg, conn->bts->network->bsc_data->ussd_no_msc_txt);
return -1;
}
@@ -169,9 +164,9 @@ static int complete_layer3(struct gsm_subscriber_connection *conn,
if (ret != BSC_CON_SUCCESS) {
/* allocation has failed */
if (ret == BSC_CON_REJECT_NO_LINK)
- bsc_send_ussd_no_srv(conn, msg, msc->ussd_msc_lost_txt);
+ bsc_send_ussd_notification(conn, msg, msc->ussd_msc_lost_txt);
else if (ret == BSC_CON_REJECT_RF_GRACE)
- bsc_send_ussd_no_srv(conn, msg, msc->ussd_grace_txt);
+ bsc_send_ussd_notification(conn, msg, msc->ussd_grace_txt);
return BSC_API_CONN_POL_REJECT;
}