lists.osmocom.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
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
List overview
Download
gerrit-log
January 2024
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
gerrit-log@lists.osmocom.org
1 participants
1559 discussions
Start a n
N
ew thread
[M] Change in osmocom-bb[master]: mobile: properly handle different TRAFFIC.{ind,req} formats for CSD
by pespin
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 year, 5 months
1
0
0
0
[S] Change in osmocom-bb[master]: modem: fix assigning .timer_cb twice (-Winitializer-overrides)
by fixeria
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 year, 5 months
1
0
0
0
[S] Change in osmocom-bb[master]: mobile: VTY: disable DATA_CALL_TR_V34_9600 (not supported)
by pespin
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 year, 5 months
1
0
0
0
[S] Change in osmocom-bb[master]: modem: fix assigning .timer_cb twice (-Winitializer-overrides)
by pespin
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 year, 5 months
1
0
0
0
[M] Change in osmocom-bb[master]: [TEST] mobile: add config files for convenience
by fixeria
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 year, 5 months
1
0
0
0
[L] Change in osmocom-bb[master]: mobile: VTY: store/read data call params to/from config file
by fixeria
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 year, 5 months
1
0
0
0
[S] Change in ...osmo-epdg[master]: s6b: Trigger SAR towards MAP when receiving AAR from PGW
by pespin
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 year, 5 months
1
0
0
0
[M] Change in ...osmo-epdg[master]: WIP: Make Auth Compl procedure more similar to specs
by pespin
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 year, 5 months
1
0
0
0
[S] Change in pysim[master]: osmo-smdpp: Constrain selection of CI certificate
by fixeria
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 year, 5 months
1
0
0
0
[M] Change in pysim[master]: global_platform: Add shell command for PUT KEY
by fixeria
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 year, 5 months
1
0
0
0
← Newer
1
...
29
30
31
32
33
34
35
...
156
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Results per page:
10
25
50
100
200