aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2013-09-11 10:46:55 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-09-11 20:18:42 +0200
commit56595f8647d6ee5de1c74077e83ca438102b5ff4 (patch)
tree54d596cb3e32242d1dad87e555bfe2a8020eea6b /openbsc/include
parent3ffd9bc0a4efe03022d87513dbde3efc7b4fb8e6 (diff)
ussd: Send USSD on call setup on MSC errors
Send an USSD message to the mobile station requesting a connection for a call or a SMS when the link to the MSC is down or in the grace period. The messages can be set (and this feature activated) by setting bsc/missing-msc-text resp. msc/bsc-grace-text via the vty. The generation of both messages has been tested manually. Ticket: OW#957
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/osmo_bsc.h11
-rw-r--r--openbsc/include/openbsc/osmo_msc_data.h6
2 files changed, 15 insertions, 2 deletions
diff --git a/openbsc/include/openbsc/osmo_bsc.h b/openbsc/include/openbsc/osmo_bsc.h
index 1d216ac25..1032daa69 100644
--- a/openbsc/include/openbsc/osmo_bsc.h
+++ b/openbsc/include/openbsc/osmo_bsc.h
@@ -7,6 +7,13 @@
#define BSS_SEND_USSD 1
+enum bsc_con {
+ BSC_CON_SUCCESS,
+ BSC_CON_REJECT_NO_LINK,
+ BSC_CON_REJECT_RF_GRACE,
+ BSC_CON_NO_MEM,
+};
+
struct sccp_connection;
struct osmo_msc_data;
struct bsc_msc_connection;
@@ -34,8 +41,8 @@ struct bsc_api *osmo_bsc_api();
int bsc_queue_for_msc(struct osmo_bsc_sccp_con *conn, struct msgb *msg);
int bsc_open_connection(struct osmo_bsc_sccp_con *sccp, struct msgb *msg);
-int bsc_create_new_connection(struct gsm_subscriber_connection *conn,
- struct osmo_msc_data *msc);
+enum bsc_con bsc_create_new_connection(struct gsm_subscriber_connection *conn,
+ struct osmo_msc_data *msc);
int bsc_delete_connection(struct osmo_bsc_sccp_con *sccp);
struct osmo_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *);
diff --git a/openbsc/include/openbsc/osmo_msc_data.h b/openbsc/include/openbsc/osmo_msc_data.h
index 86b4a8455..9c312ca8d 100644
--- a/openbsc/include/openbsc/osmo_msc_data.h
+++ b/openbsc/include/openbsc/osmo_msc_data.h
@@ -86,6 +86,9 @@ struct osmo_msc_data {
/* ussd msc connection lost text */
char *ussd_msc_lost_txt;
+
+ /* ussd text when MSC has entered the grace period */
+ char *ussd_grace_txt;
};
/*
@@ -103,6 +106,9 @@ struct osmo_bsc_data {
char *rf_ctrl_name;
struct osmo_bsc_rf *rf_ctrl;
int auto_off_timeout;
+
+ /* ussd text when there is no MSC available */
+ char *ussd_no_msc_txt;
};