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

March 2023

  • 1 participants
  • 3642 discussions
[M] Change in osmo-bts[master]: logging: Introduce LOGPLCGT()
by laforge 29 Mar '23

29 Mar '23
Attention is currently required from: pespin. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32112 ) Change subject: logging: Introduce LOGPLCGT() ...................................................................... Patch Set 3: (1 comment) File src/common/l1sap.c: https://gerrit.osmocom.org/c/osmo-bts/+/32112/comment/e15caa98_c7adef46 PS2, Line 1498: LOGPLCGT(lchan, &g_time, DL1P, LOGL_NOTICE, "There can be no DATA.ind on PTCCH/U. " > lchan can be null here. nice catch, thanks. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4bf3363f92acdf67d8e7333e30ac2209e31cb287 Gerrit-Change-Number: 32112 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Wed, 29 Mar 2023 12:05:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-bts[master]: logging: Introduce LOGPLCGT()
by laforge 29 Mar '23

29 Mar '23
Attention is currently required from: laforge. Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/32112 to look at the new patch set (#3). Change subject: logging: Introduce LOGPLCGT() ...................................................................... logging: Introduce LOGPLCGT() We have LOGPLCHAN and LOGPGT, but not a combined version for logging both the lchan and the gsm_time. Let's resolve this. Log messages without indicating the lchan name are pretty useless if you have multiple concurrently active lchans... Change-Id: I4bf3363f92acdf67d8e7333e30ac2209e31cb287 --- M include/osmo-bts/logging.h M src/common/l1sap.c 2 files changed, 33 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/32112/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4bf3363f92acdf67d8e7333e30ac2209e31cb287 Gerrit-Change-Number: 32112 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-MessageType: newpatchset
1 0
0 0
[S] Change in osmo-bts[master]: lc15: Remove unused warning
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32104 ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: lc15: Remove unused warning ...................................................................... lc15: Remove unused warning l1_if.c: In function ‘activate_rf_compl_cb’: l1_if.c:1251:22: error: unused variable ‘i’ [-Werror=unused-variable] 1251 | unsigned int i; | ^ Change-Id: I23270dfe6779321e514c71184b3c71f52a9b4c4a --- M src/osmo-bts-lc15/l1_if.c 1 file changed, 14 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-lc15/l1_if.c b/src/osmo-bts-lc15/l1_if.c index 7af3be6..3d6d90e 100644 --- a/src/osmo-bts-lc15/l1_if.c +++ b/src/osmo-bts-lc15/l1_if.c @@ -1248,7 +1248,6 @@ Litecell15_Prim_t *sysp = msgb_sysprim(resp); GsmL1_Status_t status; int on = 0; - unsigned int i; if (sysp->id == Litecell15_PrimId_ActivateRfCnf) on = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I23270dfe6779321e514c71184b3c71f52a9b4c4a Gerrit-Change-Number: 32104 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-bts[master]: lc15: fix compiler warning about wrong indent
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32103 ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: lc15: fix compiler warning about wrong indent ...................................................................... lc15: fix compiler warning about wrong indent l1_if.c: In function ‘activate_rf_compl_cb’: l1_if.c:1280:17: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation] 1280 | if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) | ^~ In file included from ../../include/osmo-bts/dtx_dl_amr_fsm.h:3, from ../../include/osmo-bts/msg_utils.h:8, from l1_if.c:55: l1_if.c:1282:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 1282 | osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_DISABLE, NULL); | ^~~~~~~~~~~~~~~~~~~~~~ Change-Id: I00ae3faf0f85fecf6e15e71dff071165725e547c --- M src/osmo-bts-lc15/l1_if.c 1 file changed, 22 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-lc15/l1_if.c b/src/osmo-bts-lc15/l1_if.c index 2955440..7af3be6 100644 --- a/src/osmo-bts-lc15/l1_if.c +++ b/src/osmo-bts-lc15/l1_if.c @@ -1279,8 +1279,8 @@ } else { if (bts_lc15->led_ctrl_mode == LC15_LED_CONTROL_BTS) bts_update_status(BTS_STATUS_RF_ACTIVE, 0); - osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_DISABLE, NULL); - osmo_fsm_inst_dispatch(trx->bb_transc.mo.fi, NM_EV_DISABLE, NULL); + osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_DISABLE, NULL); + osmo_fsm_inst_dispatch(trx->bb_transc.mo.fi, NM_EV_DISABLE, NULL); } msgb_free(resp); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I00ae3faf0f85fecf6e15e71dff071165725e547c Gerrit-Change-Number: 32103 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-bts[master]: cosmetic: use __func__ instead of __FUNCTION__
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32111 ) Change subject: cosmetic: use __func__ instead of __FUNCTION__ ...................................................................... cosmetic: use __func__ instead of __FUNCTION__ Our linter would complain about this these days: __func__ should be used instead of gcc specific __FUNCTION__ Change-Id: I80bf6d0a89ce6454ae063759d6088a28b04670c0 --- M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-sysmo/oml.c M tests/agch/agch_test.c 5 files changed, 19 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 7d09a6a..39a9922 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -945,7 +945,7 @@ int j; LOGP(DL1C, LOGL_INFO, "%s: %s tch_mode=0x%02x\n", - gsm_lchan_name(lchan), __FUNCTION__, lchan->tch_mode); + gsm_lchan_name(lchan), __func__, lchan->tch_mode); switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index e3cadbd..5dce86f 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -960,7 +960,7 @@ int j; LOGP(DL1C, LOGL_INFO, "%s: %s tch_mode=0x%02x\n", - gsm_lchan_name(lchan), __FUNCTION__, lchan->tch_mode); + gsm_lchan_name(lchan), __func__, lchan->tch_mode); switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 5ab6d09..1e64e8d 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -259,7 +259,7 @@ int j; LOGP(DL1C, LOGL_INFO, "%s: %s tch_mode=0x%02x\n", - gsm_lchan_name(lchan), __FUNCTION__, lchan->tch_mode); + gsm_lchan_name(lchan), __func__, lchan->tch_mode); switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 4d1d2a3..87b6a9a 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -953,7 +953,7 @@ int j; LOGP(DL1C, LOGL_INFO, "%s: %s tch_mode=0x%02x\n", - gsm_lchan_name(lchan), __FUNCTION__, lchan->tch_mode); + gsm_lchan_name(lchan), __func__, lchan->tch_mode); switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: diff --git a/tests/agch/agch_test.c b/tests/agch/agch_test.c index e6c56d9..30e7ef1 100644 --- a/tests/agch/agch_test.c +++ b/tests/agch/agch_test.c @@ -124,13 +124,13 @@ for (round = 1; round <= num_rounds; round++) { for (idx = 0; idx < num_ima_per_round; idx++) { - msg = msgb_alloc(GSM_MACBLOCK_LEN, __FUNCTION__); + msg = msgb_alloc(GSM_MACBLOCK_LEN, __func__); put_imm_ass(msg, ++count); bts_agch_enqueue(bts, msg); imm_ass_count++; } for (idx = 0; idx < num_rej_per_round; idx++) { - msg = msgb_alloc(GSM_MACBLOCK_LEN, __FUNCTION__); + msg = msgb_alloc(GSM_MACBLOCK_LEN, __func__); put_imm_ass_rej(msg, ++count, 10); bts_agch_enqueue(bts, msg); imm_ass_rej_count++; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I80bf6d0a89ce6454ae063759d6088a28b04670c0 Gerrit-Change-Number: 32111 Gerrit-PatchSet: 2 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-bts[master]: lc15/oc2g: remove unused variables
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32106 ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: lc15/oc2g: remove unused variables ...................................................................... lc15/oc2g: remove unused variables oml.c: In function ‘l1if_rsl_chan_mod’: oml.c:1980:22: error: unused variable ‘i’ [-Werror=unused-variable] 1980 | unsigned int i; | ^ oml.c:1979:35: error: unused variable ‘s4l’ [-Werror=unused-variable] 1979 | const struct lchan_sapis *s4l = &sapis_for_lchan[lchan->type]; | ^~~ oml.c: In function ‘l1if_rsl_chan_mod’: oml.c:1985:22: warning: unused variable ‘i’ [-Wunused-variable] 1985 | unsigned int i; | ^ oml.c:1984:35: warning: unused variable ‘s4l’ [-Wunused-variable] 1984 | const struct lchan_sapis *s4l = &sapis_for_lchan[lchan->type]; | ^~~ Change-Id: Ieb8882bbade7f6d6628c9c00150bcf54e3a9dc75 --- M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c 2 files changed, 25 insertions(+), 6 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 39a9922..9057f9d 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -2008,9 +2008,6 @@ */ int l1if_rsl_chan_mod(struct gsm_lchan *lchan) { - const struct lchan_sapis *s4l = &sapis_for_lchan[lchan->type]; - unsigned int i; - if (lchan->ho.active == HANDOVER_NONE) return -1; diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 5dce86f..a8bd3d9 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -2012,9 +2012,6 @@ */ int l1if_rsl_chan_mod(struct gsm_lchan *lchan) { - const struct lchan_sapis *s4l = &sapis_for_lchan[lchan->type]; - unsigned int i; - if (lchan->ho.active == HANDOVER_NONE) return -1; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ieb8882bbade7f6d6628c9c00150bcf54e3a9dc75 Gerrit-Change-Number: 32106 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-bts[master]: cosmetic: Remove "FIXME?" from Odd AMR CMI phase
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32108 ) Change subject: cosmetic: Remove "FIXME?" from Odd AMR CMI phase ...................................................................... cosmetic: Remove "FIXME?" from Odd AMR CMI phase This default phase of the Codec Mode Indication in downlink direction is called "odd", which is defined by starting with CMC in every 26 multiframe. At call set-up, after every successful handover and after a channel mode modify, the default phase (odd) shall be used in downlink direction. During a call, the phase of Codec Mode Indication may be changed in downlink by using a RATSCCH message. As we don't implement RATSCCH, odd is always correct. Change-Id: Ia64767fbfdc3fb067d72dbf5eabb1d84e3868ce5 --- M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-sysmo/oml.c 3 files changed, 29 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index 9057f9d..4847c17 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -973,7 +973,9 @@ case GSM48_CMODE_SPEECH_AMR: lch_par->tch.tchPlType = GsmL1_TchPlType_Amr; set_payload_format(lch_par); - lch_par->tch.amrCmiPhase = GsmL1_AmrCmiPhase_Odd; /* FIXME? */ + /* At call set-up, after every successful handover and after a channel mode modify, the + * default phase (odd) shall be used in downlink direction. */ + lch_par->tch.amrCmiPhase = GsmL1_AmrCmiPhase_Odd; lch_par->tch.amrInitCodecMode = amr_get_initial_mode(lchan); /* initialize to clean state */ diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index bcbe92c..233a1f7 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -988,7 +988,9 @@ case GSM48_CMODE_SPEECH_AMR: lch_par->tch.tchPlType = GsmL1_TchPlType_Amr; set_payload_format(lch_par); - lch_par->tch.amrCmiPhase = GsmL1_AmrCmiPhase_Odd; /* FIXME? */ + /* At call set-up, after every successful handover and after a channel mode modify, the + * default phase (odd) shall be used in downlink direction. */ + lch_par->tch.amrCmiPhase = GsmL1_AmrCmiPhase_Odd; lch_par->tch.amrInitCodecMode = amr_get_initial_mode(lchan); /* initialize to clean state */ diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 87b6a9a..653d37d 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -981,7 +981,9 @@ case GSM48_CMODE_SPEECH_AMR: lch_par->tch.tchPlType = GsmL1_TchPlType_Amr; set_payload_format(lch_par); - lch_par->tch.amrCmiPhase = GsmL1_AmrCmiPhase_Odd; /* FIXME? */ + /* At call set-up, after every successful handover and after a channel mode modify, the + * default phase (odd) shall be used in downlink direction. */ + lch_par->tch.amrCmiPhase = GsmL1_AmrCmiPhase_Odd; lch_par->tch.amrInitCodecMode = amr_get_initial_mode(lchan); /* initialize to clean state */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia64767fbfdc3fb067d72dbf5eabb1d84e3868ce5 Gerrit-Change-Number: 32108 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: falconia <falcon(a)freecalypso.org> Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmo-bts[master]: oc2g: Fix 'unused variable' compiler warning
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32107 ) ( 1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: oc2g: Fix 'unused variable' compiler warning ...................................................................... oc2g: Fix 'unused variable' compiler warning oml.c: In function ‘bts_model_opstart’: oml.c:1883:32: warning: variable ‘ts’ set but not used [-Wunused-but-set-variable] 1883 | struct gsm_bts_trx_ts *ts; | ^~ Change-Id: Ifd5552f2dd56f4f9bf4c17d25b741f694f4f2168 --- M src/osmo-bts-oc2g/oml.c 1 file changed, 15 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index a8bd3d9..bcbe92c 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -1935,7 +1935,7 @@ break; case NM_OC_CHANNEL: ts = (struct gsm_bts_trx_ts*) obj; - rc = ts_opstart(obj); + rc = ts_opstart(ts); break; case NM_OC_GPRS_NSE: case NM_OC_GPRS_CELL: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifd5552f2dd56f4f9bf4c17d25b741f694f4f2168 Gerrit-Change-Number: 32107 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in osmo-bts[master]: common: implement rtp continuous-streaming mode
by laforge 29 Mar '23

29 Mar '23
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32098 ) Change subject: common: implement rtp continuous-streaming mode ...................................................................... common: implement rtp continuous-streaming mode In some environments it is highly desirable for the RTP stream coming from each GSM call UL on a BTS to be fully continuous, without any gaps, with _some_ RTP packet emitted every 20 ms, even if there is no speech or SID frame to be sent in that frame time window. The present change adds an rtp continuous-streaming vty option which, when enabled, causes the BTS to emit RTP packets with a zero-length payload, instead of producing gaps in the RTP stream, when it has nothing else to send. Related: OS#5975 Change-Id: Ic0e2edf2ed90ba0ac6bee5e7d9629bf0255e256d --- M include/osmo-bts/bts.h M src/common/l1sap.c M src/common/vty.c M tests/osmo-bts.vty 4 files changed, 90 insertions(+), 16 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index ed3da1d..14c78a3 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -314,6 +314,8 @@ int rtp_ip_dscp; int rtp_priority; + bool rtp_nogaps_mode; /* emit RTP stream without any gaps */ + struct { uint8_t ciphers; /* flags A5/1==0x1, A5/2==0x2, A5/3==0x4 */ } support; diff --git a/src/common/l1sap.c b/src/common/l1sap.c index efde406..89aea58 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1247,6 +1247,18 @@ static bool rtppayload_is_valid(struct gsm_lchan *lchan, struct msgb *resp_msg) { + /* If rtp continuous-streaming is enabled, we shall emit RTP packets + * with zero-length payloads as BFI markers. In a TrFO scenario such + * RTP packets sent by call leg A will be received by call leg B, + * hence we need to handle them gracefully. For the purposes of a BTS + * that runs on its own TDMA timing and does not need timing ticks from + * an incoming RTP stream, the correct action upon receiving such + * timing-tick-only RTP packets should be the same as when receiving + * no RTP packet at all. The simplest way to produce that behavior + * is to treat zero-length RTP payloads as invalid. */ + if (resp_msg->len == 0) + return false; + /* Avoid sending bw-efficient AMR to lower layers, most bts models * don't support it. */ if (lchan->tch_mode == GSM48_CMODE_SPEECH_AMR && @@ -1567,6 +1579,21 @@ return 1; } +/* a helper function for the logic in l1sap_tch_ind() */ +static void send_ul_rtp_packet(struct gsm_lchan *lchan, uint32_t fn, + const uint8_t *rtp_pl, uint16_t rtp_pl_len) +{ + if (lchan->abis_ip.osmux.use) { + lchan_osmux_send_frame(lchan, rtp_pl, rtp_pl_len, + fn_ms_adj(fn, lchan), lchan->rtp_tx_marker); + } else if (lchan->abis_ip.rtp_socket) { + osmo_rtp_send_frame_ext(lchan->abis_ip.rtp_socket, + rtp_pl, rtp_pl_len, fn_ms_adj(fn, lchan), lchan->rtp_tx_marker); + } + /* Only clear the marker bit once we have sent a RTP packet with it */ + lchan->rtp_tx_marker = false; +} + /* TCH received from bts model */ static int l1sap_tch_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_tch_param *tch_ind) @@ -1605,13 +1632,7 @@ * good enough. */ if (msg->len && tch_ind->lqual_cb >= bts->min_qual_norm) { /* hand msg to RTP code for transmission */ - if (lchan->abis_ip.osmux.use) { - lchan_osmux_send_frame(lchan, msg->data, msg->len, - fn_ms_adj(fn, lchan), lchan->rtp_tx_marker); - } else if (lchan->abis_ip.rtp_socket) { - osmo_rtp_send_frame_ext(lchan->abis_ip.rtp_socket, - msg->data, msg->len, fn_ms_adj(fn, lchan), lchan->rtp_tx_marker); - } + send_ul_rtp_packet(lchan, fn, msg->data, msg->len); /* if loopback is enabled, also queue received RTP data */ if (lchan->loopback) { /* add new frame to queue, make sure the queue doesn't get too long */ @@ -1619,16 +1640,20 @@ /* Return 1 to signal that we're still using msg and it should not be freed */ return 1; } - /* Only clear the marker bit once we have sent a RTP packet with it */ - lchan->rtp_tx_marker = false; } else { - DEBUGPGT(DRTP, &g_time, "Skipping RTP frame with lost payload (chan_nr=0x%02x)\n", - chan_nr); - if (lchan->abis_ip.osmux.use) - lchan_osmux_skipped_frame(lchan, fn_ms_adj(fn, lchan)); - else if (lchan->abis_ip.rtp_socket) - osmo_rtp_skipped_frame(lchan->abis_ip.rtp_socket, fn_ms_adj(fn, lchan)); - lchan->rtp_tx_marker = true; + /* Are we in rtp continuous-stream special mode? If so, send + * out a BFI packet as zero-length RTP payload. */ + if (bts->rtp_nogaps_mode) { + send_ul_rtp_packet(lchan, fn, msg->data, msg->len); + } else { + DEBUGPGT(DRTP, &g_time, "Skipping RTP frame with lost payload (chan_nr=0x%02x)\n", + chan_nr); + if (lchan->abis_ip.osmux.use) + lchan_osmux_skipped_frame(lchan, fn_ms_adj(fn, lchan)); + else if (lchan->abis_ip.rtp_socket) + osmo_rtp_skipped_frame(lchan->abis_ip.rtp_socket, fn_ms_adj(fn, lchan)); + lchan->rtp_tx_marker = true; + } } lchan->tch.last_fn = fn; diff --git a/src/common/vty.c b/src/common/vty.c index 93fc0d6..1ef79f0 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -422,6 +422,8 @@ vty_out(vty, " rtp ip-dscp %d%s", bts->rtp_ip_dscp, VTY_NEWLINE); if (bts->rtp_priority != -1) vty_out(vty, " rtp socket-priority %d%s", bts->rtp_priority, VTY_NEWLINE); + if (bts->rtp_nogaps_mode) + vty_out(vty, " rtp continuous-streaming%s", VTY_NEWLINE); vty_out(vty, " paging queue-size %u%s", paging_get_queue_max(bts->paging_state), VTY_NEWLINE); vty_out(vty, " paging lifetime %u%s", paging_get_lifetime(bts->paging_state), @@ -781,6 +783,28 @@ return CMD_SUCCESS; } +DEFUN(cfg_bts_rtp_cont_stream, + cfg_bts_rtp_cont_stream_cmd, + "rtp continuous-streaming", + RTP_STR "Always emit an RTP packet every 20 ms\n") +{ + struct gsm_bts *bts = vty->index; + + bts->rtp_nogaps_mode = true; + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_no_rtp_cont_stream, + cfg_bts_no_rtp_cont_stream_cmd, + "no rtp continuous-streaming", + NO_STR RTP_STR "Always emit an RTP packet every 20 ms\n") +{ + struct gsm_bts *bts = vty->index; + + bts->rtp_nogaps_mode = false; + return CMD_SUCCESS; +} + #define PAG_STR "Paging related parameters\n" DEFUN_ATTR(cfg_bts_paging_queue_size, @@ -2681,6 +2705,8 @@ install_element(BTS_NODE, &cfg_bts_rtp_port_range_cmd); install_element(BTS_NODE, &cfg_bts_rtp_ip_dscp_cmd); install_element(BTS_NODE, &cfg_bts_rtp_priority_cmd); + install_element(BTS_NODE, &cfg_bts_rtp_cont_stream_cmd); + install_element(BTS_NODE, &cfg_bts_no_rtp_cont_stream_cmd); install_element(BTS_NODE, &cfg_bts_band_cmd); install_element(BTS_NODE, &cfg_description_cmd); install_element(BTS_NODE, &cfg_no_description_cmd); diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty index 3e526e7..7f2e78c 100644 --- a/tests/osmo-bts.vty +++ b/tests/osmo-bts.vty @@ -233,6 +233,8 @@ rtp port-range <1-65534> <1-65534> rtp ip-dscp <0-63> rtp socket-priority <0-255> + rtp continuous-streaming + no rtp continuous-streaming band (450|GSM450|480|GSM480|750|GSM750|810|GSM810|850|GSM850|900|GSM900|1800|DCS1800|1900|PCS1900) description .TEXT no description -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0e2edf2ed90ba0ac6bee5e7d9629bf0255e256d Gerrit-Change-Number: 32098 Gerrit-PatchSet: 4 Gerrit-Owner: falconia <falcon(a)freecalypso.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in osmo-bts[master]: common: implement rtp continuous-streaming mode
by laforge 29 Mar '23

29 Mar '23
Attention is currently required from: falconia. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/32098 ) Change subject: common: implement rtp continuous-streaming mode ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/32098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic0e2edf2ed90ba0ac6bee5e7d9629bf0255e256d Gerrit-Change-Number: 32098 Gerrit-PatchSet: 3 Gerrit-Owner: falconia <falcon(a)freecalypso.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: falconia <falcon(a)freecalypso.org> Gerrit-Comment-Date: Wed, 29 Mar 2023 12:01:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • ...
  • 365
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.