aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2015-12-21 12:31:06 +0300
committerIvan Kluchnikov <kluchnikovi@gmail.com>2017-02-07 18:59:55 +0300
commitb314380065323f4f21edb7ec6f0cd55a21e8d1b3 (patch)
tree765d5b492434dffd9afba1b2c83d811e06e732a3 /openbsc
parent8bb11c90fcb333de65f5bdbbe0787ba93a1c9a82 (diff)
sms: Add new socket for forwarding/receiving SMS in RP format to/from external application
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/include/openbsc/gsm_data.h1
-rw-r--r--openbsc/src/libmsc/vty_interface_layer3.c22
2 files changed, 23 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index 606ea61a1..de2cd34d1 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -326,6 +326,7 @@ struct gsm_network {
struct bsc_api *bsc_api;
struct gprs_gsup_client *hlr_sup_client;
struct gprs_gsup_client *ussd_sup_client;
+ struct gprs_gsup_client *sms_client;
unsigned int num_bts;
struct llist_head bts_list;
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index 9583a5b29..071de1479 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -1053,6 +1053,28 @@ DEFUN(sup_ussd_destination, sup_ussd_destination_cmd,
return CMD_SUCCESS;
}
+DEFUN(sms_destination, sms_destination_cmd,
+ "sms destination ADDR <0-65535>",
+ "Enable SMS socket to a given address/port" "destination\n" "address or hostname\n" "port number\n")
+{
+ struct gsm_network *gsmnet = gsmnet_from_vty(vty);
+
+ if (gsmnet->sms_client) {
+ LOGP(DSUP, LOGL_FATAL, "Can't create two SMS clients\n");
+ vty_out(vty, "%%SMS client already configured%s", VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ gsmnet->sms_client = gprs_gsup_client_create(
+ argv[0], atoi(argv[1]), &sup_read_cb);
+ if (!gsmnet->sms_client) {
+ LOGP(DSUP, LOGL_FATAL, "Cannot set up SMS socket\n");
+ vty_out(vty, "%%Cannot set up SMS socket%s", VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ return CMD_SUCCESS;
+}
DEFUN(logging_fltr_imsi,
logging_fltr_imsi_cmd,