This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/9426 Change subject: LCLS: add VTY config to enable/disable LCLS on per-MSC basis ...................................................................... LCLS: add VTY config to enable/disable LCLS on per-MSC basis The user might not want to enable LCLS support for administrative reasons. So let's keep it disabled by default, until somebody explicitly enables it with "lcls-mode mgw-loop". In the future, we may want to introduce a "lcls-mode bts-loop" where we don't loop at the BSC-colocated MGW, but where we instruct the BTSs to feed the RTP directly to each other. This would require a falt/transparent IP routing between the BTSs in the RAN. Change-Id: Ied7985056c8cd182bf16119007a08cc5be14459b Related: OS#1602 --- M include/osmocom/bsc/bsc_msc_data.h M src/libbsc/osmo_bsc_lcls.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/9426/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index baa58e7..7235fba 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -58,6 +58,12 @@ MSC_CON_TYPE_LOCAL, }; +enum bsc_lcls_mode { + BSC_LCLS_MODE_DISABLED, + BSC_LCLS_MODE_MGW_LOOP, + /* we may later introduce BTS_LOOP here: direct RTP between BTSs */ +}; + /*! /brief Information on a remote MSC for libbsc. */ struct bsc_msc_data { @@ -85,6 +91,7 @@ struct gsm48_multi_rate_conf amr_conf; struct gsm_audio_support **audio_support; int audio_length; + enum bsc_lcls_mode lcls_mode; /* ussd welcome text */ char *ussd_welcome_txt; diff --git a/src/libbsc/osmo_bsc_lcls.c b/src/libbsc/osmo_bsc_lcls.c index e32376d..c2b0760 100644 --- a/src/libbsc/osmo_bsc_lcls.c +++ b/src/libbsc/osmo_bsc_lcls.c @@ -286,6 +286,12 @@ /* we're just starting and cannot yet have a correlated call */ OSMO_ASSERT(conn->lcls.other == NULL); + if (conn->sccp.msc->lcls_mode == BSC_LCLS_MODE_DISABLED) { + LOGPFSML(fi, LOGL_DEBUG, "LCLS disabled for this MSC, ignoring %s\n", + osmo_fsm_event_name(fi->fsm, event)); + return; + } + /* If there's no GCR set, we can never leave this state */ if (conn->lcls.global_call_ref_len == 0) { LOGPFSML(fi, LOGL_NOTICE, "No GCR set, ignoring %s\n", diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 34080c0..e6df7b3 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -38,6 +38,12 @@ #define IPA_STR "IP.ACCESS specific\n" +static const struct value_string bsc_lcls_mode_names[] = { + { BSC_LCLS_MODE_DISABLED, "disabled" }, + { BSC_LCLS_MODE_MGW_LOOP, "mgw-loop" }, + { 0, NULL } +}; + static struct osmo_bsc_data *osmo_bsc_data(struct vty *vty) { return bsc_gsmnet->bsc_data; @@ -175,6 +181,8 @@ msc->a.msc_addr_name, VTY_NEWLINE); } vty_out(vty, " asp-protocol %s%s", osmo_ss7_asp_protocol_name(msc->a.asp_proto), VTY_NEWLINE); + vty_out(vty, " lcls-mode %s%s", get_value_string(bsc_lcls_mode_names, msc->lcls_mode), + VTY_NEWLINE); /* write MGW configuration */ mgcp_client_config_write(vty, " "); @@ -628,6 +636,18 @@ return CMD_SUCCESS; } +DEFUN(cfg_net_msc_lcls_mode, + cfg_net_msc_lcls_mode_cmd, + "lcls-mode (disabled|mgw-loop)", + "Configure 3GPP LCLS (Local Call, Local Switch)\n" + "Disable LCLS for all calls of this MSC\n" + "Enable LCLS with loopping traffic in MGW\n") +{ + struct bsc_msc_data *data = bsc_msc_data(vty); + data->lcls_mode = get_string_value(bsc_lcls_mode_names, argv[0]); + return CMD_SUCCESS; +} + DEFUN(cfg_net_bsc_mid_call_text, cfg_net_bsc_mid_call_text_cmd, "mid-call-text .TEXT", @@ -903,6 +923,7 @@ install_element(MSC_NODE, &cfg_net_msc_amr_5_90_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_5_15_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_4_75_cmd); + install_element(MSC_NODE, &cfg_net_msc_lcls_mode_cmd); install_element(MSC_NODE, &cfg_msc_acc_lst_name_cmd); install_element(MSC_NODE, &cfg_msc_no_acc_lst_name_cmd); install_element(MSC_NODE, &cfg_msc_cs7_bsc_addr_cmd); -- To view, visit https://gerrit.osmocom.org/9426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ied7985056c8cd182bf16119007a08cc5be14459b Gerrit-Change-Number: 9426 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte <laforge at gnumonks.org> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180603/8e00e02b/attachment.htm>