diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2018-11-20 06:20:53 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2018-12-30 11:48:22 +0100 |
commit | f40e46fdf4b727f415e6308ecaac4399896f51f1 (patch) | |
tree | 3e18c439963830f923df381098dfb0f8c25a9c12 /src/libmsc/msc_vty.c | |
parent | 3332ac44308e54b0f55466757730a93e2294028b (diff) |
libmsc/VTY: introduce kill-switch for routing SMS over GSUP
As a rudiment of OsmoNiTB, OsmoMSC is still involved in SMS
processing, storage (in SQLite DB), and routing (via SMPP).
In real networks this is done by the external entity called
SMSC (SMS Centre), while the MSC is doing re-encapsulation
of GSM 04.11 SM-TL (Transport Layer) payload (i.e. TPDU)
between SM-RL (Relay Layer) and MAP.
Since OsmoMSC itself is not a 'Network in The Box' anymore, it
makes sense to replicate the 'traditional' behaviour of MSC.
The problem is that this behaviour cannot co-exist with the
current implementation, so the key idea is to rip out the
local SMS storage and routing from OsmoMSC, and (re)implement
it in a separate process (OsmoSMSC?).
As a temporary solution, this change introduces a 'kill-switch'
VTY option that enables routing of SMS messages over GSUP
towards ESME (through VLR and HLR), but breaks the local
storage and routing. This is why it's disabled by default.
As soon as we move the SMS processing and storage away from
OsmoMSC, this behaviour would be enabled by default, and
the VTY option would be hidden and deprecated. At the moment,
this option basically does nothing, and will take an effect
in the follow-up changes.
Change-Id: Ie57685ed2ce1e4c978e775b68fdffe58de44882b
Related: OS#3587
Diffstat (limited to 'src/libmsc/msc_vty.c')
-rw-r--r-- | src/libmsc/msc_vty.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 7745e5d99..201d2aa1a 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -476,6 +476,24 @@ DEFUN(cfg_msc_ipa_name, return CMD_SUCCESS; } +/* TODO: to be deprecated as soon as we rip SMS handling out (see OS#3587) */ +DEFUN(cfg_msc_sms_over_gsup, cfg_msc_sms_over_gsup_cmd, + "sms-over-gsup", + "Enable routing of SMS messages over GSUP\n") +{ + gsmnet->sms_over_gsup = true; + return CMD_SUCCESS; +} + +/* TODO: to be deprecated as soon as we rip SMS handling out (see OS#3587) */ +DEFUN(cfg_msc_no_sms_over_gsup, cfg_msc_no_sms_over_gsup_cmd, + "no sms-over-gsup", + NO_STR "Disable routing of SMS messages over GSUP\n") +{ + gsmnet->sms_over_gsup = false; + return CMD_SUCCESS; +} + static int config_write_msc(struct vty *vty) { vty_out(vty, "msc%s", VTY_NEWLINE); @@ -512,6 +530,9 @@ static int config_write_msc(struct vty *vty) if (gsmnet->msc_ipa_name) vty_out(vty, " ipa-name %s%s", gsmnet->msc_ipa_name, VTY_NEWLINE); + if (gsmnet->sms_over_gsup) + vty_out(vty, " sms-over-gsup%s", VTY_NEWLINE); + mgcp_client_config_write(vty, " "); #ifdef BUILD_IU ranap_iu_vty_config_write(vty, " "); @@ -1533,6 +1554,8 @@ void msc_vty_init(struct gsm_network *msc_network) install_element(MSC_NODE, &cfg_msc_paging_response_timer_cmd); install_element(MSC_NODE, &cfg_msc_emergency_msisdn_cmd); install_element(MSC_NODE, &cfg_msc_ipa_name_cmd); + install_element(MSC_NODE, &cfg_msc_sms_over_gsup_cmd); + install_element(MSC_NODE, &cfg_msc_no_sms_over_gsup_cmd); mgcp_client_vty_init(msc_network, MSC_NODE, &msc_network->mgw.conf); #ifdef BUILD_IU |