diff options
author | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2015-12-21 12:31:06 +0300 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2017-02-07 18:59:55 +0300 |
commit | b314380065323f4f21edb7ec6f0cd55a21e8d1b3 (patch) | |
tree | 765d5b492434dffd9afba1b2c83d811e06e732a3 /openbsc/src | |
parent | 8bb11c90fcb333de65f5bdbbe0787ba93a1c9a82 (diff) |
sms: Add new socket for forwarding/receiving SMS in RP format to/from external application
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/libmsc/vty_interface_layer3.c | 22 |
1 files changed, 22 insertions, 0 deletions
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, |