diff options
Diffstat (limited to 'openbsc/src/osmo-bsc_nat/bsc_nat_vty.c')
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_nat_vty.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c index 55b3958c0..81f70de75 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c @@ -127,6 +127,9 @@ static int config_write_nat(struct vty *vty) if (_nat->tpdest_match_name) vty_out(vty, " rewrite-smsc tp-dest-match %s%s", _nat->tpdest_match_name, VTY_NEWLINE); + if (_nat->sms_clear_tp_srr_name) + vty_out(vty, " sms-clear-tp-srr %s%s", + _nat->sms_clear_tp_srr_name, VTY_NEWLINE); llist_for_each_entry(lst, &_nat->access_lists, list) write_acc_lst(vty, lst); @@ -512,6 +515,29 @@ DEFUN(cfg_nat_smsc_tpdest, &_nat->tpdest_match, argv[0]); } +DEFUN(cfg_nat_sms_clear_tpsrr, + cfg_nat_sms_clear_tpsrr_cmd, + "sms-clear-tp-srr FILENAME", + "SMS TPDU Sender Report Request clearing\n" + "Files with rules for matching MSISDN\n") +{ + return replace_rules(_nat, &_nat->sms_clear_tp_srr_name, + &_nat->sms_clear_tp_srr, argv[0]); +} + +DEFUN(cfg_nat_no_sms_clear_tpsrr, + cfg_nat_no_sms_clear_tpsrr_cmd, + "sms-clear-tp-srr", + NO_STR + "SMS TPDU Sender Report Request clearing\n") +{ + talloc_free(_nat->sms_clear_tp_srr_name); + _nat->sms_clear_tp_srr_name = NULL; + + bsc_nat_num_rewr_entry_adapt(NULL, &_nat->sms_clear_tp_srr, NULL); + return CMD_SUCCESS; +} + DEFUN(cfg_nat_ussd_lst_name, cfg_nat_ussd_lst_name_cmd, "ussd-list-name NAME", @@ -958,6 +984,8 @@ int bsc_nat_vty_init(struct bsc_nat *nat) install_element(NAT_NODE, &cfg_nat_number_rewrite_cmd); install_element(NAT_NODE, &cfg_nat_smsc_addr_cmd); install_element(NAT_NODE, &cfg_nat_smsc_tpdest_cmd); + install_element(NAT_NODE, &cfg_nat_sms_clear_tpsrr_cmd); + install_element(NAT_NODE, &cfg_nat_no_sms_clear_tpsrr_cmd); install_element(NAT_NODE, &cfg_nat_pgroup_cmd); install_element(NAT_NODE, &cfg_nat_no_pgroup_cmd); |