lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

January 2024

  • 1 participants
  • 1559 discussions
[M] Change in osmocom-bb[master]: mobile: properly handle different TRAFFIC.{ind,req} formats for CSD
by pespin 25 Jan '24

25 Jan '24
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35695?usp=email ) Change subject: mobile: properly handle different TRAFFIC.{ind,req} formats for CSD ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35695?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib17e800e91ad536db53aa55661076089f0ce34b0 Gerrit-Change-Number: 35695 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 25 Jan 2024 22:36:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmocom-bb[master]: modem: fix assigning .timer_cb twice (-Winitializer-overrides)
by fixeria 25 Jan '24

25 Jan '24
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35693?usp=email ) Change subject: modem: fix assigning .timer_cb twice (-Winitializer-overrides) ...................................................................... modem: fix assigning .timer_cb twice (-Winitializer-overrides) Change-Id: Id2d565a5035c47053c0dfa5ad9be3378471b6e14 --- M src/host/layer23/src/common/apn_fsm.c 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/layer23/src/common/apn_fsm.c b/src/host/layer23/src/common/apn_fsm.c index 7014b83..7636b0a 100644 --- a/src/host/layer23/src/common/apn_fsm.c +++ b/src/host/layer23/src/common/apn_fsm.c @@ -220,7 +220,6 @@ .timer_cb = apn_fsm_timer_cb, .event_names = apn_fsm_event_names, .log_subsys = DTUN, - .timer_cb = apn_fsm_timer_cb, }; int apn_fsm_ctx_init(struct apn_fsm_ctx *ctx, struct osmobb_apn *apn) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35693?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id2d565a5035c47053c0dfa5ad9be3378471b6e14 Gerrit-Change-Number: 35693 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmocom-bb[master]: mobile: VTY: disable DATA_CALL_TR_V34_9600 (not supported)
by pespin 25 Jan '24

25 Jan '24
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35694?usp=email ) Change subject: mobile: VTY: disable DATA_CALL_TR_V34_9600 (not supported) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35694?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ibafb9a693654672fb9a6abf665c500a27c87bf22 Gerrit-Change-Number: 35694 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 25 Jan 2024 22:35:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmocom-bb[master]: modem: fix assigning .timer_cb twice (-Winitializer-overrides)
by pespin 25 Jan '24

25 Jan '24
Attention is currently required from: fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35693?usp=email ) Change subject: modem: fix assigning .timer_cb twice (-Winitializer-overrides) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35693?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id2d565a5035c47053c0dfa5ad9be3378471b6e14 Gerrit-Change-Number: 35693 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 25 Jan 2024 22:33:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmocom-bb[master]: [TEST] mobile: add config files for convenience
by fixeria 25 Jan '24

25 Jan '24
fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35657?usp=email ) Change subject: [TEST] mobile: add config files for convenience ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35657?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ib01245b31edee0833bd415aca608baba943a0731 Gerrit-Change-Number: 35657 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-MessageType: abandon
1 0
0 0
[L] Change in osmocom-bb[master]: mobile: VTY: store/read data call params to/from config file
by fixeria 25 Jan '24

25 Jan '24
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35699?usp=email ) Change subject: mobile: VTY: store/read data call params to/from config file ...................................................................... mobile: VTY: store/read data call params to/from config file We already have VTY commands to configure data call parameters at run-time, but so far there was no way to save and restore them. This commit adds the respective commands to TCH_DATA_NODE. Change-Id: I4453f2e7e048b3f3ebb1727f6d26f018c792c92d Related: OS#4396 --- M doc/examples/mobile/default.cfg M src/host/layer23/src/mobile/vty_interface.c 2 files changed, 232 insertions(+), 105 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/99/35699/1 diff --git a/doc/examples/mobile/default.cfg b/doc/examples/mobile/default.cfg index ac756bb..3b46a85 100644 --- a/doc/examples/mobile/default.cfg +++ b/doc/examples/mobile/default.cfg @@ -65,6 +65,12 @@ io-handler unix-sock io-tch-format ti unix-socket /tmp/ms_data_1 + call-params type-rate 71 + call-params ce transparent + call-params async + call-params async nr-stop-bits 1 + call-params async nr-data-bits 8 + call-params async parity none tch-voice io-handler l1phy ! io-format ti diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 7b9a199..b0457e3 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -644,6 +644,11 @@ CALL_PARAMS_CMD_DESC \ "Parameters for data calls\n" +#define CFG_TCH_DATA_CALL_PARAMS_CMD \ + "call-params" +#define CFG_TCH_DATA_CALL_PARAMS_CMD_DESC \ + "Parameters for data calls\n" + /* only supported rate/type ('<speed>' in AT+CBST) values are listed here */ static const struct value_string data_type_rate_descs[] = { #if 0 @@ -673,18 +678,33 @@ { 0, NULL } }; -static char *call_params_data_type_rate_cmd_string(void *ctx) +static void _data_type_rate_cmd_string(void *ctx, struct cmd_element *cmd) { const struct value_string *vs; char *string; - string = talloc_asprintf(ctx, CALL_PARAMS_DATA_CMD " type-rate ("); + string = talloc_asprintf(ctx, "%s type-rate (", cmd->string); for (vs = &data_type_rate_descs[0]; vs->value || vs->str; vs++) string = talloc_asprintf_append(string, "%u|", vs->value); string[strlen(string) - 1] = ')'; + cmd->string = string; +} - return string; +DEFUN(cfg_ms_tch_data_cp_type_rate, + cfg_ms_tch_data_cp_type_rate_cmd, + CFG_TCH_DATA_CALL_PARAMS_CMD /* generated */, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC /* generated */) +{ + struct osmocom_ms *ms = (struct osmocom_ms *)vty->index; + struct data_call_params *cp = &ms->settings.call_params.data; + int val; + + val = atoi(argv[0]); + OSMO_ASSERT(get_value_string_or_null(data_type_rate_descs, val) != NULL); + cp->type_rate = (enum data_call_type_rate)val; + + return CMD_SUCCESS; } DEFUN(call_params_data_type_rate, @@ -692,50 +712,36 @@ CALL_PARAMS_DATA_CMD /* generated */, CALL_PARAMS_DATA_CMD_DESC /* generated */) { - struct osmocom_ms *ms; - struct gsm_settings *set; - struct data_call_params *cp; - int val; - - ms = l23_vty_get_ms(argv[0], vty); - if (!ms) + vty->index = l23_vty_get_ms(argv[0], vty); + if (vty->index == NULL) return CMD_WARNING; - set = &ms->settings; - cp = &set->call_params.data; - val = atoi(argv[1]); - OSMO_ASSERT(get_value_string_or_null(data_type_rate_descs, val) != NULL); - cp->type_rate = (enum data_call_type_rate)val; - - return CMD_SUCCESS; + return cfg_ms_tch_data_cp_type_rate(self, vty, argc - 1, argv + 1); } -DEFUN(call_params_data_ce, - call_params_data_ce_cmd, - CALL_PARAMS_DATA_CMD " ce (transparent|non-transparent) [prefer]", - CALL_PARAMS_DATA_CMD_DESC - "Connection element (does not apply to FAX calls)\n" - "Transparent connection\n" - "Non-transparent connection (RLP)\n" - "Prefer the selected mode, but also accept other(s)\n") +#define CALL_PARAMS_CE_CMD \ + "ce (transparent|non-transparent) [prefer]" +#define CALL_PARAMS_CE_CMD_DESC \ + "Connection element (does not apply to FAX calls)\n" \ + "Transparent connection\n" \ + "Non-transparent connection (RLP)\n" \ + "Prefer the selected mode, but also accept other(s)\n" + +DEFUN(cfg_ms_tch_data_cp_ce, + cfg_ms_tch_data_cp_ce_cmd, + CFG_TCH_DATA_CALL_PARAMS_CMD " " CALL_PARAMS_CE_CMD, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC CALL_PARAMS_CE_CMD_DESC) { - struct osmocom_ms *ms; - struct gsm_settings *set; - struct data_call_params *cp; + struct osmocom_ms *ms = (struct osmocom_ms *)vty->index; + struct data_call_params *cp = &ms->settings.call_params.data; - ms = l23_vty_get_ms(argv[0], vty); - if (!ms) - return CMD_WARNING; - set = &ms->settings; - cp = &set->call_params.data; - - if (!strcmp(argv[1], "transparent")) { - if (argc > 2) + if (!strcmp(argv[0], "transparent")) { + if (argc > 1) cp->transp = GSM48_BCAP_TR_TR_PREF; else cp->transp = GSM48_BCAP_TR_TRANSP; - } else if (!strcmp(argv[1], "non-transparent")) { - if (argc > 2) + } else if (!strcmp(argv[0], "non-transparent")) { + if (argc > 1) cp->transp = GSM48_BCAP_TR_RLP_PREF; else cp->transp = GSM48_BCAP_TR_RLP; @@ -746,76 +752,114 @@ return CMD_SUCCESS; } -DEFUN(call_params_data_sync_async, - call_params_data_sync_async_cmd, - CALL_PARAMS_DATA_CMD " (sync|async)", - CALL_PARAMS_DATA_CMD_DESC - "Synchronous connection (always used for FAX calls)\n" - "Asynchronous connection (does not apply to FAX calls)\n") +DEFUN(call_params_data_ce, + call_params_data_ce_cmd, + CALL_PARAMS_DATA_CMD " " CALL_PARAMS_CE_CMD, + CALL_PARAMS_DATA_CMD_DESC CALL_PARAMS_CE_CMD_DESC) { - struct osmocom_ms *ms; - struct gsm_settings *set; - struct data_call_params *cp; - - ms = l23_vty_get_ms(argv[0], vty); - if (!ms) + vty->index = l23_vty_get_ms(argv[0], vty); + if (vty->index == NULL) return CMD_WARNING; - set = &ms->settings; - cp = &set->call_params.data; - cp->is_async = (argv[1][0] == 'a'); + return cfg_ms_tch_data_cp_ce(self, vty, argc - 1, argv + 1); +} + +#define CALL_PARAMS_SYNC_ASYNC_CMD "(sync|async)" +#define CALL_PARAMS_SYNC_ASYNC_CMD_DESC \ + "Synchronous connection (always used for FAX calls)\n" \ + "Asynchronous connection (does not apply to FAX calls)\n" + +DEFUN(cfg_ms_tch_data_cp_sync_async, + cfg_ms_tch_data_cp_sync_async_cmd, + CFG_TCH_DATA_CALL_PARAMS_CMD " " CALL_PARAMS_SYNC_ASYNC_CMD, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC CALL_PARAMS_SYNC_ASYNC_CMD_DESC) +{ + struct osmocom_ms *ms = (struct osmocom_ms *)vty->index; + struct data_call_params *cp = &ms->settings.call_params.data; + + cp->is_async = (argv[0][0] == 'a'); return CMD_SUCCESS; } -#define CALL_PARAMS_DATA_ASYNC_CMD \ - CALL_PARAMS_DATA_CMD " async" -#define CALL_PARAMS_DATA_ASYNC_CMD_DESC \ - CALL_PARAMS_DATA_CMD_DESC \ +DEFUN(call_params_data_sync_async, + call_params_data_sync_async_cmd, + CALL_PARAMS_DATA_CMD " " CALL_PARAMS_SYNC_ASYNC_CMD, + CALL_PARAMS_DATA_CMD_DESC CALL_PARAMS_SYNC_ASYNC_CMD_DESC) +{ + vty->index = l23_vty_get_ms(argv[0], vty); + if (vty->index == NULL) + return CMD_WARNING; + + return cfg_ms_tch_data_cp_sync_async(self, vty, argc - 1, argv + 1); +} + +#define CALL_PARAMS_ASYNC_CMD "async" +#define CALL_PARAMS_ASYNC_CMD_DESC \ "Asynchronous connection params (does not apply to FAX calls)\n" +#define CALL_PARAMS_ASYNC_NR_STOP_BITS_CMD \ + CALL_PARAMS_ASYNC_CMD " nr-stop-bits <1-2>" +#define CALL_PARAMS_ASYNC_NR_STOP_BITS_CMD_DESC \ + CALL_PARAMS_ASYNC_CMD_DESC \ + "Number of stop bits (soft-UART config)\n" \ + "Number of stop bits (default: 1)\n" + +DEFUN(cfg_ms_tch_data_cp_async_nr_stop_bits, + cfg_ms_tch_data_cp_async_nr_stop_bits_cmd, + CFG_TCH_DATA_CALL_PARAMS_CMD " " CALL_PARAMS_ASYNC_NR_STOP_BITS_CMD, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC CALL_PARAMS_ASYNC_NR_STOP_BITS_CMD_DESC) +{ + struct osmocom_ms *ms = (struct osmocom_ms *)vty->index; + struct data_call_params *cp = &ms->settings.call_params.data; + + cp->nr_stop_bits = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(call_params_data_async_nr_stop_bits, call_params_data_async_nr_stop_bits_cmd, - CALL_PARAMS_DATA_ASYNC_CMD " nr-stop-bits <1-2>", - CALL_PARAMS_DATA_ASYNC_CMD_DESC - "Number of stop bits (soft-UART config)\n" - "Number of stop bits (default: 1)\n") + CALL_PARAMS_DATA_CMD " " CALL_PARAMS_ASYNC_NR_STOP_BITS_CMD, + CALL_PARAMS_DATA_CMD_DESC CALL_PARAMS_ASYNC_NR_STOP_BITS_CMD_DESC) { - struct osmocom_ms *ms; - struct gsm_settings *set; - struct data_call_params *cp; - - ms = l23_vty_get_ms(argv[0], vty); - if (!ms) + vty->index = l23_vty_get_ms(argv[0], vty); + if (vty->index == NULL) return CMD_WARNING; - set = &ms->settings; - cp = &set->call_params.data; - cp->nr_stop_bits = atoi(argv[1]); + return cfg_ms_tch_data_cp_async_nr_stop_bits(self, vty, argc - 1, argv + 1); +} + +#define CALL_PARAMS_ASYNC_NR_DATA_BITS_CMD \ + CALL_PARAMS_ASYNC_CMD " nr-data-bits <7-8>" +#define CALL_PARAMS_ASYNC_NR_DATA_BITS_CMD_DESC \ + CALL_PARAMS_ASYNC_CMD_DESC \ + "Number of data bits (soft-UART config)\n" \ + "Number of data bits (default: 8)\n" + +DEFUN(cfg_ms_tch_data_cp_async_nr_data_bits, + cfg_ms_tch_data_cp_async_nr_data_bits_cmd, + CFG_TCH_DATA_CALL_PARAMS_CMD " " CALL_PARAMS_ASYNC_NR_DATA_BITS_CMD, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC CALL_PARAMS_ASYNC_NR_DATA_BITS_CMD_DESC) +{ + struct osmocom_ms *ms = (struct osmocom_ms *)vty->index; + struct data_call_params *cp = &ms->settings.call_params.data; + + cp->nr_data_bits = atoi(argv[0]); return CMD_SUCCESS; } DEFUN(call_params_data_async_nr_data_bits, call_params_data_async_nr_data_bits_cmd, - CALL_PARAMS_DATA_ASYNC_CMD " nr-data-bits <7-8>", - CALL_PARAMS_DATA_ASYNC_CMD_DESC - "Number of data bits (soft-UART config)\n" - "Number of data bits (default: 8)\n") + CALL_PARAMS_DATA_CMD " " CALL_PARAMS_ASYNC_NR_DATA_BITS_CMD, + CALL_PARAMS_DATA_CMD_DESC CALL_PARAMS_ASYNC_NR_DATA_BITS_CMD_DESC) { - struct osmocom_ms *ms; - struct gsm_settings *set; - struct data_call_params *cp; - - ms = l23_vty_get_ms(argv[0], vty); - if (!ms) + vty->index = l23_vty_get_ms(argv[0], vty); + if (vty->index == NULL) return CMD_WARNING; - set = &ms->settings; - cp = &set->call_params.data; - cp->nr_data_bits = atoi(argv[1]); - - return CMD_SUCCESS; + return cfg_ms_tch_data_cp_async_nr_data_bits(self, vty, argc - 1, argv + 1); } static const struct value_string async_parity_names[] = { @@ -836,29 +880,42 @@ { 0, NULL } }; -DEFUN(call_params_data_async_parity, - call_params_data_async_parity_cmd, - CALL_PARAMS_DATA_ASYNC_CMD /* generated */, - CALL_PARAMS_DATA_ASYNC_CMD_DESC /* generated */) +#define CALL_PARAMS_ASYNC_PARITY_CMD \ + CALL_PARAMS_ASYNC_CMD " parity" +#define CALL_PARAMS_ASYNC_PARITY_CMD_DESC \ + CALL_PARAMS_ASYNC_CMD_DESC \ + "Parity mode (soft-UART config)\n" + +DEFUN(cfg_ms_tch_data_cp_async_parity, + cfg_ms_tch_data_cp_async_parity_cmd, + CFG_TCH_DATA_CALL_PARAMS_CMD /* generated */, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC + CALL_PARAMS_ASYNC_PARITY_CMD_DESC /* generated */) { - struct osmocom_ms *ms; - struct gsm_settings *set; - struct data_call_params *cp; + struct osmocom_ms *ms = (struct osmocom_ms *)vty->index; + struct data_call_params *cp = &ms->settings.call_params.data; int val; - ms = l23_vty_get_ms(argv[0], vty); - if (!ms) - return CMD_WARNING; - set = &ms->settings; - cp = &set->call_params.data; - - val = get_string_value(async_parity_names, argv[1]); + val = get_string_value(async_parity_names, argv[0]); OSMO_ASSERT(val >= 0); /* should not happen */ cp->parity = (enum gsm48_bcap_parity)val; return CMD_SUCCESS; } +DEFUN(call_params_data_async_parity, + call_params_data_async_parity_cmd, + CALL_PARAMS_DATA_CMD /* generated */, + CALL_PARAMS_DATA_CMD_DESC + CALL_PARAMS_ASYNC_PARITY_CMD_DESC /* generated */) +{ + vty->index = l23_vty_get_ms(argv[0], vty); + if (vty->index == NULL) + return CMD_WARNING; + + return cfg_ms_tch_data_cp_async_parity(self, vty, argc - 1, argv + 1); +} + DEFUN(sms, sms_cmd, "sms MS_NAME NUMBER .LINE", "Send an SMS\nName of MS (see \"show ms\")\nPhone number to send SMS " "(Use digits '0123456789*#abc', and '+' to dial international)\n" @@ -1606,6 +1663,32 @@ set->tch_data.unix_socket_path, VTY_NEWLINE); } + vty_out(vty, " call-params type-rate %d%s", + (int)set->call_params.data.type_rate, VTY_NEWLINE); + switch (set->call_params.data.transp) { + case GSM48_BCAP_TR_TR_PREF: + vty_out(vty, " call-params ce transparent prefer%s", VTY_NEWLINE); + break; + case GSM48_BCAP_TR_TRANSP: + vty_out(vty, " call-params ce transparent%s", VTY_NEWLINE); + break; + case GSM48_BCAP_TR_RLP_PREF: + vty_out(vty, " call-params ce non-transparent prefer%s", VTY_NEWLINE); + break; + case GSM48_BCAP_TR_RLP: + vty_out(vty, " call-params ce non-transparent%s", VTY_NEWLINE); + break; + } + vty_out(vty, " call-params %s%s", + set->call_params.data.is_async ? "async" : "sync", VTY_NEWLINE); + vty_out(vty, " call-params async nr-stop-bits %u%s", + set->call_params.data.nr_stop_bits, VTY_NEWLINE); + vty_out(vty, " call-params async nr-data-bits %u%s", + set->call_params.data.nr_data_bits, VTY_NEWLINE); + vty_out(vty, " call-params async parity %s%s", + get_value_string(async_parity_names, set->call_params.data.parity), + VTY_NEWLINE); + if (ms->lua_script) vty_out(vty, " lua-script %s%s", ms->lua_script, VTY_NEWLINE); @@ -2869,9 +2952,16 @@ { int rc; - call_params_data_type_rate_cmd.string = - call_params_data_type_rate_cmd_string(NULL); + _data_type_rate_cmd_string(NULL, &cfg_ms_tch_data_cp_type_rate_cmd); + _data_type_rate_cmd_string(NULL, &call_params_data_type_rate_cmd); + cfg_ms_tch_data_cp_type_rate_cmd.doc = + vty_cmd_string_from_valstr(NULL, + data_type_rate_descs, + CFG_TCH_DATA_CALL_PARAMS_CMD_DESC + "Type and rate (values like in AT+CBST; " + "see 3GPP TS 27.007, section 6.7)\n", + "\n", "", 0); call_params_data_type_rate_cmd.doc = vty_cmd_string_from_valstr(NULL, data_type_rate_descs, @@ -2880,17 +2970,28 @@ "see 3GPP TS 27.007, section 6.7)\n", "\n", "", 0); + cfg_ms_tch_data_cp_async_parity_cmd.string = + vty_cmd_string_from_valstr(NULL, + async_parity_names, + CFG_TCH_DATA_CALL_PARAMS_CMD " " + CALL_PARAMS_ASYNC_PARITY_CMD " (", + "|", ")", 0); call_params_data_async_parity_cmd.string = vty_cmd_string_from_valstr(NULL, async_parity_names, - CALL_PARAMS_DATA_ASYNC_CMD - " parity (", "|", ")", 0); + CALL_PARAMS_DATA_CMD " " + CALL_PARAMS_ASYNC_PARITY_CMD " (", + "|", ")", 0); + cfg_ms_tch_data_cp_async_parity_cmd.doc = + vty_cmd_string_from_valstr(NULL, + async_parity_descs, + cfg_ms_tch_data_cp_async_parity_cmd.doc, + "\n", "", 0); call_params_data_async_parity_cmd.doc = vty_cmd_string_from_valstr(NULL, async_parity_descs, - CALL_PARAMS_DATA_ASYNC_CMD_DESC - "Parity mode (soft-UART config)\n", + call_params_data_async_parity_cmd.doc, "\n", "", 0); if ((rc = l23_vty_init(config_write, l23_vty_signal_cb)) < 0) @@ -3083,6 +3184,12 @@ install_element(TCH_DATA_NODE, &cfg_ms_tch_data_no_io_handler_cmd); install_element(TCH_DATA_NODE, &cfg_ms_tch_data_io_tch_format_cmd); install_element(TCH_DATA_NODE, &cfg_ms_tch_data_unix_sock_cmd); + install_element(TCH_DATA_NODE, &cfg_ms_tch_data_cp_type_rate_cmd); + install_element(TCH_DATA_NODE, &cfg_ms_tch_data_cp_ce_cmd); + install_element(TCH_DATA_NODE, &cfg_ms_tch_data_cp_sync_async_cmd); + install_element(TCH_DATA_NODE, &cfg_ms_tch_data_cp_async_nr_stop_bits_cmd); + install_element(TCH_DATA_NODE, &cfg_ms_tch_data_cp_async_nr_data_bits_cmd); + install_element(TCH_DATA_NODE, &cfg_ms_tch_data_cp_async_parity_cmd); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35699?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4453f2e7e048b3f3ebb1727f6d26f018c792c92d Gerrit-Change-Number: 35699 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in ...osmo-epdg[master]: s6b: Trigger SAR towards MAP when receiving AAR from PGW
by pespin 25 Jan '24

25 Jan '24
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35697?usp=email ) Change subject: s6b: Trigger SAR towards MAP when receiving AAR from PGW ...................................................................... s6b: Trigger SAR towards MAP when receiving AAR from PGW As described in 3GPP TS 29.273 9.1.2.2.3 mentioning procedure from clause 8.1.2.2.2 (SAR/SAA). Change-Id: I7e0bf449ac6cae550a5934d9d518bb3f2bf64d5b --- M src/aaa_diameter_s6b_cb.erl 1 file changed, 24 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-epdg refs/changes/97/35697/1 diff --git a/src/aaa_diameter_s6b_cb.erl b/src/aaa_diameter_s6b_cb.erl index 81757a9..8651383 100644 --- a/src/aaa_diameter_s6b_cb.erl +++ b/src/aaa_diameter_s6b_cb.erl @@ -49,6 +49,7 @@ lager:error("Request error: ~p~n", [Reason]), ?UNEXPECTED. +% 3GPP TS 29.273 9.1.2.2 handle_request(#diameter_packet{msg = Req, errors = []}, _SvcName, {_, Caps}) when is_record(Req, 'AAR') -> lager:info("S6b Rx from ~p: ~p~n", [Caps, Req]), % extract relevant fields from DIAMETER AAR @@ -56,13 +57,20 @@ #'AAR'{'Session-Id' = SessionId, 'Auth-Application-Id' = AuthAppId, 'Auth-Request-Type' = AuthReqType, - 'User-Name' = _UserName} = Req, + 'User-Name' = UserName} = Req, + Result = aaa_diameter_swx:server_assignment_request(UserName, 1, "internet"), + case Result of + {ok, _} -> + ResultCode = 2001; + {error, _Err} -> + ResultCode = ?'RULE-FAILURE-CODE_CM_AUTHORIZATION_REJECTED' + end, Resp = #'AAA'{'Session-Id'=SessionId, 'Auth-Application-Id' = AuthAppId, 'Auth-Request-Type' = AuthReqType, - 'Result-Code'=2001, - 'Origin-Host'=OH, - 'Origin-Realm'=OR}, + 'Result-Code' = ResultCode, + 'Origin-Host' = OH, + 'Origin-Realm' = OR}, lager:info("S6b Tx to ~p: ~p~n", [Caps, Resp]), {reply, Resp}; -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35697?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I7e0bf449ac6cae550a5934d9d518bb3f2bf64d5b Gerrit-Change-Number: 35697 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in ...osmo-epdg[master]: WIP: Make Auth Compl procedure more similar to specs
by pespin 25 Jan '24

25 Jan '24
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35698?usp=email ) Change subject: WIP: Make Auth Compl procedure more similar to specs ...................................................................... WIP: Make Auth Compl procedure more similar to specs Change-Id: I480c110deeb04abf1ff19147a70e10be9cbafae8 --- M src/aaa_diameter_swm.erl M src/epdg_diameter_swm.erl M src/epdg_ue_fsm.erl M src/gsup_server.erl 4 files changed, 88 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-epdg refs/changes/98/35698/1 diff --git a/src/aaa_diameter_swm.erl b/src/aaa_diameter_swm.erl index c8ae250..ad4178d 100644 --- a/src/aaa_diameter_swm.erl +++ b/src/aaa_diameter_swm.erl @@ -14,12 +14,10 @@ -export([init/1, handle_call/3, handle_cast/2, handle_info/2]). -export([code_change/3, terminate/2]). --export[(auth_request/1)]. +-export([auth_request/1, auth_compl_request/1]). -define(SERVER, ?MODULE). -% The ets table contains only IMSIs - start_link() -> gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). @@ -31,6 +29,9 @@ auth_request(Imsi) -> gen_server:cast(?SERVER, {epdg_auth_req, Imsi}). +auth_compl_request(Imsi) -> + gen_server:cast(?SERVER, {epdg_auth_compl_req, Imsi}). + handle_cast({epdg_auth_req, Imsi}, State) -> % request the diameter code for a tuple CKey = [], @@ -38,11 +39,21 @@ Result = aaa_diameter_swx:multimedia_auth_request(Imsi, 1, "EAP-AKA", 1, CKey, IntegrityKey), case Result of {ok, _MAA} -> epdg_diameter_swm:auth_response(Imsi, Result); - {error, Err} -> epdg_diameter_swm:auth_response(Imsi, Result); + {error, _Err} -> epdg_diameter_swm:auth_response(Imsi, Result); _ -> epdg_diameter_swm:auth_response(Imsi, {error, unknown}) end, {noreply, State}; +handle_cast({epdg_auth_compl_req, Imsi}, State) -> + % request the diameter code for a tuple + Result = aaa_diameter_swx:server_assignment_request(Imsi, 1, "internet"), + case Result of + {ok, _SAA} -> epdg_diameter_swm:auth_compl_response(Imsi, Result); + {error, _Err} -> epdg_diameter_swm:auth_compl_response(Imsi, Result); + _ -> epdg_diameter_swm:auth_compl_response(Imsi, {error, unknown}) + end, + {noreply, State}; + handle_cast(Info, S) -> error_logger:error_report(["unknown handle_cast", {module, ?MODULE}, {info, Info}, {state, S}]), {noreply, S}. diff --git a/src/epdg_diameter_swm.erl b/src/epdg_diameter_swm.erl index dbb764f..59d9412 100644 --- a/src/epdg_diameter_swm.erl +++ b/src/epdg_diameter_swm.erl @@ -19,8 +19,8 @@ -export([init/1, handle_call/3, handle_cast/2, handle_info/2]). -export([code_change/3, terminate/2]). --export[(auth_request/1)]. --export[(auth_response/2)]. +-export([auth_request/1, auth_compl_request/1]). +-export([auth_response/2, auth_compl_response/2]). -define(SERVER, ?MODULE). @@ -42,12 +42,33 @@ _ -> Result end. +% Rx "GSUP CEAI LU Req" is our way of saying Rx "Swm Diameter-EAP REQ (DER) with EAP AVP containing successuful auth": +auth_compl_request(Imsi) -> + Result = gen_server:call(?SERVER, {epdg_auth_compl_req, Imsi}), + case Result of + {ok, _Mar} -> + epdg_ue_fsm:received_swm_auth_response(self(), Result), + ok; + _ -> Result + end. + handle_call({epdg_auth_req, Imsi}, {Pid, _Tag} = _From, State0) -> % we yet don't implement the Diameter SWm interface on the wire, we process the call internally: {_Sess, State1} = find_or_new_swm_session(Imsi, Pid, State0), ok = aaa_diameter_swm:auth_request(Imsi), - {reply, ok, State1}. + {reply, ok, State1}; + +handle_call({epdg_auth_compl_req, Imsi}, _From, State) -> + % we yet don't implement the Diameter SWm interface on the wire, we process the call internally: + Sess = find_swm_session_by_imsi(Imsi, State), + case Sess of + #swm_session{imsi = Imsi} -> + Reply = aaa_diameter_swm:auth_compl_request(Imsi); + undefined -> + Reply = {error,unknown_imsi} + end, + {reply, Reply, State}. handle_cast({epdg_auth_resp, Imsi, Result}, State) -> Sess = find_swm_session_by_imsi(Imsi, State), @@ -59,6 +80,16 @@ end, {noreply, State}; +handle_cast({epdg_auth_compl_resp, Imsi, Result}, State) -> + Sess = find_swm_session_by_imsi(Imsi, State), + case Sess of + #swm_session{imsi = Imsi} -> + epdg_ue_fsm:received_swm_auth_compl_response(Sess#swm_session.pid, Result); + undefined -> + error_logger:error_report(["unknown swm_session", {module, ?MODULE}, {imsi, Imsi}, {state, State}]) + end, + {noreply, State}; + handle_cast(Info, S) -> error_logger:error_report(["unknown handle_cast", {module, ?MODULE}, {info, Info}, {state, S}]), {noreply, S}. @@ -80,6 +111,11 @@ auth_response(Imsi, Result) -> ok = gen_server:cast(?SERVER, {epdg_auth_resp, Imsi, Result}). +%Rx Swm Diameter-EAP Answer (DEA) containing APN-Configuration, triggered by +%earlier Tx DER EAP AVP containing successuful auth": +auth_compl_response(Imsi, Result) -> + ok = gen_server:cast(?SERVER, {epdg_auth_compl_resp, Imsi, Result}). + %% ------------------------------------------------------------------ %% Internal Function Definitions %% ------------------------------------------------------------------ diff --git a/src/epdg_ue_fsm.erl b/src/epdg_ue_fsm.erl index 9d20a73..6c6c3ca 100644 --- a/src/epdg_ue_fsm.erl +++ b/src/epdg_ue_fsm.erl @@ -40,7 +40,7 @@ -export([start_link/1]). -export([init/1,callback_mode/0,terminate/3]). -export([auth_request/1, lu_request/1, tunnel_request/1, purge_ms_request/1]). --export([received_swm_auth_response/2]). +-export([received_swm_auth_response/2, received_swm_auth_compl_response/2]). -export([received_gtpc_create_session_response/2, received_gtpc_delete_session_response/2]). -export([state_new/3, state_wait_auth_resp/3, state_authenticated/3, state_wait_delete_session_resp/3]). @@ -98,6 +98,15 @@ {error, Err} end. +received_swm_auth_compl_response(Pid, Result) -> + lager:info("ue_fsm received_swm_auth_compl_response ~p~n", [Result]), + try + gen_statem:call(Pid, {received_swm_auth_compl_response, Result}) + catch + exit:Err -> + {error, Err} + end. + received_gtpc_create_session_response(Pid, Msg) -> lager:info("ue_fsm received_gtpc_create_session_response ~p~n", [Msg]), try @@ -161,14 +170,24 @@ state_authenticated({call, From}, lu_request, Data) -> lager:info("ue_fsm state_authenticated event=lu_request, ~p~n", [Data]), - Result = aaa_diameter_swx:server_assignment_request(Data#ue_fsm_data.imsi, 1, "internet"), + % Rx "GSUP CEAI LU Req" is our way of saying Rx "Swm Diameter-EAP REQ (DER) with EAP AVP containing successuful auth": + ok = aaa_diameter_swx:server_assignment_request(Data#ue_fsm_data.imsi, 1, "internet"), + {keep_state, Data, [{reply,From,ok}]}; + +% Rx Swm Diameter-EAP Answer (DEA) containing APN-Configuration, triggered by +% earlier Tx DER EAP AVP containing successuful auth", when we received GSUP LU Req: +state_authenticated({call, From}, {received_swm_auth_compl_response, Result}, Data) -> + lager:info("ue_fsm state_authenticated event=lu_request, ~p, ~p~n", [Result, Data]), + % Rx "GSUP CEAI LU Req" is our way of saying Rx "Swm Diameter-EAP REQ (DER) with EAP AVP containing successuful auth": gsup_server:lu_response(Data#ue_fsm_data.imsi, Result), case Result of {ok, _} -> - {keep_state, Data, [{reply,From,ok}]}; + Ret = ok; {error, Err} -> - {stop, Err, Data, [{reply,From,{error,Err}}]} - end; + Ret = {error, Err} + end, + gsup_server:lu_response(Data#ue_fsm_data.imsi, Ret), + {keep_state, Data, [{reply,From,Ret}]}; state_authenticated({call, From}, tunnel_request, Data) -> lager:info("ue_fsm state_authenticated event=tunnel_request, ~p~n", [Data]), diff --git a/src/gsup_server.erl b/src/gsup_server.erl index ae677c9..4d50fba 100644 --- a/src/gsup_server.erl +++ b/src/gsup_server.erl @@ -138,7 +138,7 @@ lager:info("lu_response for ~p: ~p~n", [Imsi, Result]), Socket = State#gsups_state.socket, case Result of - {ok, _Sar} -> Resp = #{message_type => location_upd_res, + ok -> Resp = #{message_type => location_upd_res, imsi => Imsi, message_class => 5 }; -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/35698?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: erlang/osmo-epdg Gerrit-Branch: master Gerrit-Change-Id: I480c110deeb04abf1ff19147a70e10be9cbafae8 Gerrit-Change-Number: 35698 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in pysim[master]: osmo-smdpp: Constrain selection of CI certificate
by fixeria 25 Jan '24

25 Jan '24
Attention is currently required from: dexter, laforge. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/35685?usp=email ) Change subject: osmo-smdpp: Constrain selection of CI certificate ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35685?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0b9130f06d501ca7d484063d56d606cfdd2544f4 Gerrit-Change-Number: 35685 Gerrit-PatchSet: 2 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Thu, 25 Jan 2024 19:29:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in pysim[master]: global_platform: Add shell command for PUT KEY
by fixeria 25 Jan '24

25 Jan '24
Attention is currently required from: dexter, laforge. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/35684?usp=email ) Change subject: global_platform: Add shell command for PUT KEY ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/35684?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icffe9e7743266d7262fbf440dd361b21eed7c5cf Gerrit-Change-Number: 35684 Gerrit-PatchSet: 2 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: dexter <pmaier(a)sysmocom.de> Gerrit-Comment-Date: Thu, 25 Jan 2024 19:27:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • ...
  • 156
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.