arehbein has uploaded this change for review.
Make RLC timing data configurable
Required change (libosmocore): I1ec2e52ad7fa625c08fe9df04d4a4f5323bf609c
Related: OS#5335
Change-Id: I2c24110d8c977d6cc74c3c8e77bcc709ad9d2675
---
M include/osmocom/bsc/bts.h
M include/osmocom/bsc/gsm_data.h
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c
M src/osmo-bsc/net_init.c
M src/osmo-bsc/pcu_sock.c
M tests/nanobts_omlattr/nanobts_omlattr_test.c
M tests/timer.vty
8 files changed, 129 insertions(+), 45 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/31878/1
diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h
index 4faf5f2..ed69bd4 100644
--- a/include/osmocom/bsc/bts.h
+++ b/include/osmocom/bsc/bts.h
@@ -319,6 +319,13 @@
bool features_get_reported;
};
+#define GSM_BTS_TDEF_ID_COUNTDOWN_VALUE_NEG26 (-26)
+#define GSM_BTS_TDEF_ID_UL_TBF_EXT_NEG27 (-27)
+#define GSM_BTS_TDEF_ID_DL_TBF_EXT_NEG28 (-28)
+#define GSM_BTS_TDEF_ID_N3101_NEG3169 (-3169)
+#define GSM_BTS_TDEF_ID_N3103_NEG3170 (-3170)
+#define GSM_BTS_TDEF_ID_N3105_NEG3171 (-3171)
+
struct gsm_gprs_cell {
struct gsm_abis_mo mo;
uint16_t bvci;
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 709a9bf..2bb66c4 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -44,6 +44,8 @@
#define GSM_T3124_SDCCH 675UL
#define GSM_T3124_OTHER_CH 320UL
#define GSM_T3124_MAX GSM_T3124_SDCCH
+/* 3GPP TS 04.60 V8.27.0 (2005-09) */
+#define GSM_N3101_STRICT_LOWER_BOUND 8UL
/* Some guess for delta (see comment below) */
#define GSM_NY1_REQ_DELTA 1000UL
@@ -654,7 +656,6 @@
};
struct gprs_rlc_cfg {
- uint16_t parameter[_NUM_NM_RLC_PAR_OFFSET];
struct {
uint16_t repeat_time; /* ms */
uint8_t repeat_count;
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index ce615e6..f78527a 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -121,19 +121,6 @@
static const uint8_t bts_cell_timer_default[] =
{ 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 };
static const struct gprs_rlc_cfg rlc_cfg_default = {
- .parameter = {
- [NM_RLC_T3142_OFFSET] = 20,
- [NM_RLC_T3169_OFFSET] = 5,
- [NM_RLC_T3191_OFFSET] = 5,
- [NM_RLC_T3193_OFFSET] = 160, /* 10ms */
- [NM_RLC_T3195_OFFSET] = 5,
- [NM_RLC_N3101_OFFSET] = 10,
- [NM_RLC_N3103_OFFSET] = 4,
- [NM_RLC_N3105_OFFSET] = 8,
- [NM_CV_COUNTDOWN_OFFSET] = 15,
- [NM_T_DL_TBF_EXT_OFFSET] = 250 * 10, /* ms */
- [NM_T_UL_TBF_EXT_OFFSET] = 250 * 10, /* ms */
- },
.paging = {
.repeat_time = 5 * 50, /* ms */
.repeat_count = 3,
diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c
index 1338118..a5252d7 100644
--- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c
+++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c
@@ -152,7 +152,7 @@
{
struct msgb *msgb;
uint8_t buf[256];
- const uint16_t *rlc_cfg_params;
+ struct osmo_tdef *tdefs = bts->network->T_defs;
msgb = msgb_alloc(1024, "nanobts_attr_bts");
if (!msgb)
return NULL;
@@ -170,17 +170,19 @@
buf[1] = bts->gprs.cell.bvci & 0xff;
msgb_tl16v_put(msgb, NM_ATT_IPACC_BVCI, 2, buf);
- /* See definition of enum gprs_rlc_par for information on timers/units */
- rlc_cfg_params = bts->gprs.cell.rlc_cfg.parameter;
- buf[NM_RLC_T3142_OFFSET] = rlc_cfg_params[NM_RLC_T3142_OFFSET];
- buf[NM_RLC_T3169_OFFSET] = rlc_cfg_params[NM_RLC_T3169_OFFSET];
- buf[NM_RLC_T3191_OFFSET] = rlc_cfg_params[NM_RLC_T3191_OFFSET];
- buf[NM_RLC_T3193_OFFSET] = rlc_cfg_params[NM_RLC_T3193_OFFSET];
- buf[NM_RLC_T3195_OFFSET] = rlc_cfg_params[NM_RLC_T3195_OFFSET];
- buf[NM_RLC_N3101_OFFSET] = rlc_cfg_params[NM_RLC_N3101_OFFSET];
- buf[NM_RLC_N3103_OFFSET] = rlc_cfg_params[NM_RLC_N3103_OFFSET];
- buf[NM_RLC_N3105_OFFSET] = rlc_cfg_params[NM_RLC_N3105_OFFSET];
- buf[NM_CV_COUNTDOWN_OFFSET] = rlc_cfg_params[NM_CV_COUNTDOWN_OFFSET];
+ buf[NM_RLC_T3142_OFFSET] = osmo_tdef_get(tdefs, 3142, OSMO_TDEF_S, -1);
+ buf[NM_RLC_T3169_OFFSET] = osmo_tdef_get(tdefs, 3169, OSMO_TDEF_S, -1);
+ buf[NM_RLC_T3191_OFFSET] = osmo_tdef_get(tdefs, 3191, OSMO_TDEF_S, -1);
+ buf[NM_RLC_T3193_OFFSET] = osmo_tdef_get(tdefs, 3193, OSMO_TDEF_MS, -1)/10;
+ buf[NM_RLC_T3195_OFFSET] = osmo_tdef_get(tdefs, 3195, OSMO_TDEF_S, -1);
+ buf[NM_RLC_N3101_OFFSET] =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_N3101_NEG3169, OSMO_TDEF_CUSTOM, -1);
+ buf[NM_RLC_N3103_OFFSET] =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_N3103_NEG3170, OSMO_TDEF_CUSTOM, -1);
+ buf[NM_RLC_N3105_OFFSET] =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_N3105_NEG3171, OSMO_TDEF_CUSTOM, -1);
+ buf[NM_CV_COUNTDOWN_OFFSET] =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_COUNTDOWN_VALUE_NEG26, OSMO_TDEF_CUSTOM, -1);
msgb_tl16v_put(msgb, NM_ATT_IPACC_RLC_CFG, NM_CV_COUNTDOWN_OFFSET + 1, buf);
if (bts->gprs.mode == BTS_GPRS_EGPRS) {
@@ -192,10 +194,10 @@
}
msgb_tl16v_put(msgb, NM_ATT_IPACC_CODING_SCHEMES, 2, buf);
- buf[0] = 0; /* T downlink TBF extension (0..500, high byte) */
- buf[1] = 250; /* T downlink TBF extension (0..500, low byte) */
- buf[2] = 0; /* T uplink TBF extension (0..500, high byte) */
- buf[3] = 250; /* T uplink TBF extension (0..500, low byte) */
+ buf[0] = (uint16_t)(osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_DL_TBF_EXT_NEG28, OSMO_TDEF_MS, -1)/10) >> 8;
+ buf[1] = (uint16_t)(osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_DL_TBF_EXT_NEG28, OSMO_TDEF_MS, -1)/10) & 0xff;
+ buf[2] = (uint16_t)(osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_UL_TBF_EXT_NEG27, OSMO_TDEF_MS, -1)/10) >> 8;
+ buf[3] = (uint16_t)(osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_UL_TBF_EXT_NEG27, OSMO_TDEF_MS, -1)/10) & 0xff;
buf[4] = 2; /* CS2 */
msgb_tl16v_put(msgb, NM_ATT_IPACC_RLC_CFG_2, 5, buf);
diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c
index 8a508dd..446a5d5 100644
--- a/src/osmo-bsc/net_init.c
+++ b/src/osmo-bsc/net_init.c
@@ -19,6 +19,7 @@
#include <osmocom/core/tdef.h>
#include <osmocom/gsm/gsm23236.h>
+#include <osmocom/gsm/protocol/gsm_12_21.h>
#include <osmocom/bsc/osmo_bsc.h>
#include <osmocom/bsc/gsm_04_08_rr.h>
@@ -26,6 +27,7 @@
#include <osmocom/bsc/chan_alloc.h>
#include <osmocom/bsc/neighbor_ident.h>
#include <osmocom/bsc/bts_setup_ramp.h>
+#include <osmocom/bsc/bts.h>
#include <osmocom/bsc/paging.h>
static struct osmo_tdef gsm_network_T_defs[] = {
@@ -46,6 +48,18 @@
{ .T = 3119, .default_val = 10, .desc = "(unused)" },
{ .T = 3122, .default_val = GSM_T3122_DEFAULT, .desc = "Wait time after RR Immediate Assignment Reject" },
{ .T = 3141, .default_val = 10, .desc = "(unused)" },
+ { .T = 3142, .default_val = 20,
+ .desc = "Used during packet access on CCCH/while in dedicated mode. Started after the receipt of "
+ "IMMEDIATE ASSIGNMENT REJECT or DTM REJECT or EC IMMEDIATE ASSIGNMENT REJECT",
+ .max_val = UINT8_MAX },
+ { .T = 3169, .default_val = 5,
+ .desc = "Release radio resource (TFI, USF) timer (linked to N3103, N3103)", .max_val = UINT8_MAX },
+ { .T = 3191, .default_val = 5,
+ .desc = "Downlink TBF Release downlink RLC data block retransmission timer", .max_val = UINT8_MAX },
+ { .T = 3193, .default_val = 1600, .desc = "Downlink TBF Release timer", .unit = OSMO_TDEF_MS,
+ .max_val = UINT8_MAX * 10 },
+ { .T = 3195, .default_val = 5,
+ .desc = "Timer for TFI release on N3105 overflow (unresponsive MS)", .max_val = UINT8_MAX },
{ .T = 3212, .default_val = 5, .unit = OSMO_TDEF_CUSTOM,
.desc = "Periodic Location Update timer, sent to MS (1 = 6 minutes)" },
{ .T = -4, .default_val = 60, .desc = "After Clear Request, wait for MSC to Clear Command (sanity)" },
@@ -74,6 +88,12 @@
" after this amount of idle time, forget internally cumulated time remainders. Zero to always"
" keep remainders. See also X16, X17." },
{ .T = -25, .default_val = 5, .desc = "Timeout for initial user data after an MSC initiated an SCCP connection to the BSS" },
+ { .T = GSM_BTS_TDEF_ID_COUNTDOWN_VALUE_NEG26, .default_val = 15,
+ .desc = "CV: Countdown value/remaining blocks to transmit", .unit = OSMO_TDEF_CUSTOM, .max_val = UINT8_MAX },
+ { .T = GSM_BTS_TDEF_ID_UL_TBF_EXT_NEG27, .default_val = 2500, .desc = "Extended uplink TBF",
+ .unit = OSMO_TDEF_MS, .max_val = 500 * 10 },
+ { .T = GSM_BTS_TDEF_ID_DL_TBF_EXT_NEG28, .default_val = 2500, .desc = "Extended downlink TBF",
+ .unit = OSMO_TDEF_MS, .max_val = 500 * 10 },
{ .T = -3105, .default_val = GSM_NY1_DEFAULT, .unit = OSMO_TDEF_CUSTOM,
.desc = "Ny1: Maximum number of Physical Information (re)transmissions" },
{ .T = -3111, .default_val = 4, .desc = "Wait time after lchan was released in error (should be T3111 + 2s)" },
@@ -83,6 +103,14 @@
"paging requests will if possible replace a request in retransmission state from the queue or otherwise be discarded, "
"hence limiting the size of the queue and maximum delay of its scheduled requests. "
"X3113 also serves as the upper boundary for dynamic T3113 when estimating the expected maximum delay to get a response" },
+ { .T = GSM_BTS_TDEF_ID_N3101_NEG3169, .default_val = 10,
+ .desc = "N3101: Maximum USFs without response from the MS", .unit = OSMO_TDEF_CUSTOM, .min_val = GSM_N3101_STRICT_LOWER_BOUND + 1,
+ .max_val = UINT8_MAX },
+ { .T = GSM_BTS_TDEF_ID_N3103_NEG3170, .default_val = 4,
+ .desc = "N3103: Maximum PACKET UPLINK ACK/NACK messages within a TBF unacknowledged by MS",
+ .unit = OSMO_TDEF_CUSTOM, .max_val = UINT8_MAX },
+ { .T = GSM_BTS_TDEF_ID_N3105_NEG3171, .default_val = 8,
+ .desc = "N3105: Maximum allocated data blocks without RLC/MAC control reply from MS", .unit = OSMO_TDEF_CUSTOM, .max_val = UINT8_MAX },
{ .T = -3210, .default_val = 20, .desc = "After L3 Complete, wait for MSC to confirm" },
{}
};
diff --git a/src/osmo-bsc/pcu_sock.c b/src/osmo-bsc/pcu_sock.c
index d50c908..c54123e 100644
--- a/src/osmo-bsc/pcu_sock.c
+++ b/src/osmo-bsc/pcu_sock.c
@@ -170,6 +170,7 @@
struct gsm_bts_sm *bts_sm;
struct gsm_gprs_nsvc *nsvc;
struct gsm_bts_trx *trx;
+ struct osmo_tdef *tdefs = bts->network->T_defs;
int i;
bts_sm = bts->site_mgr;
@@ -206,15 +207,19 @@
info_ind->repeat_time = rlcc->paging.repeat_time;
info_ind->repeat_count = rlcc->paging.repeat_count;
info_ind->bvci = bts->gprs.cell.bvci;
- info_ind->t3142 = rlcc->parameter[NM_RLC_T3142_OFFSET];
- info_ind->t3169 = rlcc->parameter[NM_RLC_T3169_OFFSET];
- info_ind->t3191 = rlcc->parameter[NM_RLC_T3191_OFFSET];
- info_ind->t3193_10ms = rlcc->parameter[NM_RLC_T3193_OFFSET];
- info_ind->t3195 = rlcc->parameter[NM_RLC_T3195_OFFSET];
- info_ind->n3101 = rlcc->parameter[NM_RLC_N3101_OFFSET];
- info_ind->n3103 = rlcc->parameter[NM_RLC_N3103_OFFSET];
- info_ind->n3105 = rlcc->parameter[NM_RLC_N3105_OFFSET];
- info_ind->cv_countdown = rlcc->parameter[NM_CV_COUNTDOWN_OFFSET];
+ info_ind->t3142 = osmo_tdef_get(tdefs, 3142, OSMO_TDEF_S, -1);
+ info_ind->t3169 = osmo_tdef_get(tdefs, 3169, OSMO_TDEF_S, -1);
+ info_ind->t3191 = osmo_tdef_get(tdefs, 3191, OSMO_TDEF_S, -1);
+ info_ind->t3193_10ms = osmo_tdef_get(tdefs, 3193, OSMO_TDEF_MS, -1)/10;
+ info_ind->t3195 = osmo_tdef_get(tdefs, 3195, OSMO_TDEF_S, -1);
+ info_ind->n3101 =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_N3101_NEG3169, OSMO_TDEF_CUSTOM, -1);
+ info_ind->n3103 =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_N3103_NEG3170, OSMO_TDEF_CUSTOM, -1);
+ info_ind->n3105 =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_N3105_NEG3171, OSMO_TDEF_CUSTOM, -1);
+ info_ind->cv_countdown =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_COUNTDOWN_VALUE_NEG26, OSMO_TDEF_CUSTOM, -1);
if (rlcc->cs_mask & (1 << GPRS_CS1))
info_ind->flags |= PCU_IF_FLAG_CS1;
if (rlcc->cs_mask & (1 << GPRS_CS2))
@@ -244,9 +249,11 @@
info_ind->flags |= PCU_IF_FLAG_MCS9;
}
/* TODO: isn't dl_tbf_ext wrong?: * 10 and no ntohs */
- info_ind->dl_tbf_ext = rlcc->parameter[NM_T_DL_TBF_EXT_OFFSET];
+ info_ind->dl_tbf_ext =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_DL_TBF_EXT_NEG28, OSMO_TDEF_MS, -1);
/* TODO: isn't ul_tbf_ext wrong?: * 10 and no ntohs */
- info_ind->ul_tbf_ext = rlcc->parameter[NM_T_UL_TBF_EXT_OFFSET];
+ info_ind->ul_tbf_ext =
+ osmo_tdef_get(tdefs, GSM_BTS_TDEF_ID_UL_TBF_EXT_NEG27, OSMO_TDEF_MS, -1);
info_ind->initial_cs = rlcc->initial_cs;
info_ind->initial_mcs = rlcc->initial_mcs;
diff --git a/tests/nanobts_omlattr/nanobts_omlattr_test.c b/tests/nanobts_omlattr/nanobts_omlattr_test.c
index ba58e45..463b364 100644
--- a/tests/nanobts_omlattr/nanobts_omlattr_test.c
+++ b/tests/nanobts_omlattr/nanobts_omlattr_test.c
@@ -131,6 +131,23 @@
.desc = "Periodic Location Update timer, sent to MS (1 = 6 minutes)" },
{ .T = -3105, .default_val = GSM_NY1_DEFAULT, .val = GSM_NY1_DEFAULT, .min_val = 0, .max_val = UINT8_MAX, .unit = OSMO_TDEF_CUSTOM,
.desc = "Ny1: Maximum number of Physical Information (re)transmissions" },
+ { .T = 3142, .default_val = 20, .desc = "Used during packet access on CCCH/while in dedicated mode. "
+ "Started after the receipt of IMMEDIATE ASSIGNMENT REJECT or DTM "
+ "REJECT or EC IMMEDIATE ASSIGNMENT REJECT" },
+ { .T = 3169, .default_val = 5, .desc = "Release radio resource (TFI, USF) timer (linked to N3103, N3103)" },
+ { .T = 3191, .default_val = 5, .desc = "Downlink TBF Release downlink RLC data block retransmission timer" },
+ { .T = 3193, .default_val = 1600, .desc = "Downlink TBF Release timer", .unit = OSMO_TDEF_MS },
+ { .T = 3195, .default_val = 5, .desc = "Timer for TFI release on N3105 overflow (unresponsive MS)" },
+ { .T = GSM_BTS_TDEF_ID_COUNTDOWN_VALUE_NEG26, .default_val = 15, .desc = "CV: Countdown value/remaining blocks to transmit",
+ .unit = OSMO_TDEF_CUSTOM, .max_val = UINT8_MAX },
+ { .T = GSM_BTS_TDEF_ID_UL_TBF_EXT_NEG27, .default_val = 2500, .desc = "Extended uplink TBF", .unit = OSMO_TDEF_MS },
+ { .T = GSM_BTS_TDEF_ID_DL_TBF_EXT_NEG28, .default_val = 2500, .desc = "Extended downlink TBF", .unit = OSMO_TDEF_MS },
+ { .T = GSM_BTS_TDEF_ID_N3101_NEG3169, .default_val = 10, .desc = "N3101: Maximum USFs without response from the MS", .unit = OSMO_TDEF_CUSTOM,
+ .min_val = GSM_N3101_STRICT_LOWER_BOUND + 1 },
+ { .T = GSM_BTS_TDEF_ID_N3103_NEG3170, .default_val = 4, .desc = "N3103: Maximum PACKET UPLINK ACK/NACK messages within a TBF unacknowledged by MS",
+ .unit = OSMO_TDEF_CUSTOM},
+ { .T = GSM_BTS_TDEF_ID_N3105_NEG3171, .default_val = 8, .desc = "N3105: Maximum allocated data blocks without RLC/MAC control reply from MS",
+ .unit = OSMO_TDEF_CUSTOM },
{}
};
@@ -150,7 +167,7 @@
/* Allocate environmental structs (bts, net, trx) */
net = talloc_zero(ctx, struct gsm_network);
INIT_LLIST_HEAD(&net->bts_list);
- net->T_defs = gsm_network_T_defs;
+ osmo_tdefs_reset(net->T_defs = gsm_network_T_defs);
gsm_bts_model_register(&bts_model_nanobts);
bts = gsm_bts_alloc_register(net, GSM_BTS_TYPE_NANOBTS, 63);
OSMO_ASSERT(bts);
@@ -208,9 +225,10 @@
bts->gprs.mode = BTS_GPRS_GPRS;
uint8_t attr_cell_expected[] =
{ 0x9a, 0x00, 0x01, 0x00, 0x9c, 0x00, 0x02, 0x05, 0x03, 0x9e, 0x00,
- 0x02, 0x00, 0x02, 0xa3, 0x00, 0x09, 0x14, 0x05, 0x05, 0xa0,
- 0x05, 0x0a, 0x04, 0x08,
- 0x0f, 0xa8, 0x00, 0x02, 0x0f, 0x00, 0xa9, 0x00, 0x05, 0x00,
+ 0x02, 0x00, 0x02, 0xa3, 0x00, 0x09,
+ /* T3142, T3169, T3191, T3193/10, T3195, N3101, N3103, N3105, CV */
+ 0x14, 0x05, 0x05, 0xa0, 0x05, 0x0a, 0x04, 0x08, 0x0f,
+ 0xa8, 0x00, 0x02, 0x0f, 0x00, 0xa9, 0x00, 0x05, 0x00,
0xfa, 0x00, 0xfa, 0x02
};
diff --git a/tests/timer.vty b/tests/timer.vty
index 6d6efe8..8772d5a 100644
--- a/tests/timer.vty
+++ b/tests/timer.vty
@@ -18,6 +18,11 @@
net: T3119 = 10 s (unused) (default: 10 s)
net: T3122 = 10 s Wait time after RR Immediate Assignment Reject (default: 10 s)
net: T3141 = 10 s (unused) (default: 10 s)
+net: T3142 = 20 s Used during packet access on CCCH/while in dedicated mode. Started after the receipt of IMMEDIATE ASSIGNMENT REJECT or DTM REJECT or EC IMMEDIATE ASSIGNMENT REJECT (default: 20 s, range: [0 .. 255])
+net: T3169 = 5 s Release radio resource (TFI, USF) timer (linked to N3103, N3103) (default: 5 s, range: [0 .. 255])
+net: T3191 = 5 s Downlink TBF Release downlink RLC data block retransmission timer (default: 5 s, range: [0 .. 255])
+net: T3193 = 1600 ms Downlink TBF Release timer (default: 1600 ms, range: [0 .. 2550])
+net: T3195 = 5 s Timer for TFI release on N3105 overflow (unresponsive MS) (default: 5 s, range: [0 .. 255])
net: T3212 = 5 Periodic Location Update timer, sent to MS (1 = 6 minutes) (default: 5)
net: X4 = 60 s After Clear Request, wait for MSC to Clear Command (sanity) (default: 60 s)
net: X5 = 5 s Timeout to switch dynamic timeslot PCHAN modes (default: 5 s)
@@ -34,9 +39,15 @@
net: X17 = 0 ms Rounding threshold for all_allocated:* rate counters: round up to the next counter increment after this many milliseconds. If set to half of X16 (or 0), employ the usual round() behavior: round up after half of a granularity period. If set to 1, behave like ceil(): already increment the counter immediately when all channels are allocated. If set >= X16, behave like floor(): only increment after a full X16 period of all channels being occupied. See also X16, X18 (default: 0 ms)
net: X18 = 60000 ms Forget-sum period for all_allocated:* rate counters: after this amount of idle time, forget internally cumulated time remainders. Zero to always keep remainders. See also X16, X17. (default: 60000 ms)
net: X25 = 5 s Timeout for initial user data after an MSC initiated an SCCP connection to the BSS (default: 5 s)
+net: X26 = 15 CV: Countdown value/remaining blocks to transmit (default: 15, range: [0 .. 255])
+net: X27 = 2500 ms Extended uplink TBF (default: 2500 ms, range: [0 .. 5000])
+net: X28 = 2500 ms Extended downlink TBF (default: 2500 ms, range: [0 .. 5000])
net: X3105 = 17 Ny1: Maximum number of Physical Information (re)transmissions (default: 17)
net: X3111 = 4 s Wait time after lchan was released in error (should be T3111 + 2s) (default: 4 s)
net: X3113 = 60 s Maximum Paging Request Transmit Delay Threshold: If the estimated transmit delay of the messages in the paging queue surpasses this threshold, then new incoming paging requests will if possible replace a request in retransmission state from the queue or otherwise be discarded, hence limiting the size of the queue and maximum delay of its scheduled requests. X3113 also serves as the upper boundary for dynamic T3113 when estimating the expected maximum delay to get a response (default: 60 s)
+net: X3169 = 10 N3101: Maximum USFs without response from the MS (default: 10, range: [9 .. 255])
+net: X3170 = 4 N3103: Maximum PACKET UPLINK ACK/NACK messages within a TBF unacknowledged by MS (default: 4, range: [0 .. 255])
+net: X3171 = 8 N3105: Maximum allocated data blocks without RLC/MAC control reply from MS (default: 8, range: [0 .. 255])
net: X3210 = 20 s After L3 Complete, wait for MSC to confirm (default: 20 s)
mgw: X2427 = 5 s timeout for MGCP response from MGW (default: 5 s)
@@ -74,6 +85,11 @@
net: T3119 = 10 s (unused) (default: 10 s)
net: T3122 = 10 s Wait time after RR Immediate Assignment Reject (default: 10 s)
net: T3141 = 10 s (unused) (default: 10 s)
+net: T3142 = 20 s Used during packet access on CCCH/while in dedicated mode. Started after the receipt of IMMEDIATE ASSIGNMENT REJECT or DTM REJECT or EC IMMEDIATE ASSIGNMENT REJECT (default: 20 s, range: [0 .. 255])
+net: T3169 = 5 s Release radio resource (TFI, USF) timer (linked to N3103, N3103) (default: 5 s, range: [0 .. 255])
+net: T3191 = 5 s Downlink TBF Release downlink RLC data block retransmission timer (default: 5 s, range: [0 .. 255])
+net: T3193 = 1600 ms Downlink TBF Release timer (default: 1600 ms, range: [0 .. 2550])
+net: T3195 = 5 s Timer for TFI release on N3105 overflow (unresponsive MS) (default: 5 s, range: [0 .. 255])
net: T3212 = 5 Periodic Location Update timer, sent to MS (1 = 6 minutes) (default: 5)
net: X4 = 60 s After Clear Request, wait for MSC to Clear Command (sanity) (default: 60 s)
net: X5 = 5 s Timeout to switch dynamic timeslot PCHAN modes (default: 5 s)
@@ -90,9 +106,15 @@
net: X17 = 0 ms Rounding threshold for all_allocated:* rate counters: round up to the next counter increment after this many milliseconds. If set to half of X16 (or 0), employ the usual round() behavior: round up after half of a granularity period. If set to 1, behave like ceil(): already increment the counter immediately when all channels are allocated. If set >= X16, behave like floor(): only increment after a full X16 period of all channels being occupied. See also X16, X18 (default: 0 ms)
net: X18 = 60000 ms Forget-sum period for all_allocated:* rate counters: after this amount of idle time, forget internally cumulated time remainders. Zero to always keep remainders. See also X16, X17. (default: 60000 ms)
net: X25 = 5 s Timeout for initial user data after an MSC initiated an SCCP connection to the BSS (default: 5 s)
+net: X26 = 15 CV: Countdown value/remaining blocks to transmit (default: 15, range: [0 .. 255])
+net: X27 = 2500 ms Extended uplink TBF (default: 2500 ms, range: [0 .. 5000])
+net: X28 = 2500 ms Extended downlink TBF (default: 2500 ms, range: [0 .. 5000])
net: X3105 = 17 Ny1: Maximum number of Physical Information (re)transmissions (default: 17)
net: X3111 = 4 s Wait time after lchan was released in error (should be T3111 + 2s) (default: 4 s)
net: X3113 = 60 s Maximum Paging Request Transmit Delay Threshold: If the estimated transmit delay of the messages in the paging queue surpasses this threshold, then new incoming paging requests will if possible replace a request in retransmission state from the queue or otherwise be discarded, hence limiting the size of the queue and maximum delay of its scheduled requests. X3113 also serves as the upper boundary for dynamic T3113 when estimating the expected maximum delay to get a response (default: 60 s)
+net: X3169 = 10 N3101: Maximum USFs without response from the MS (default: 10, range: [9 .. 255])
+net: X3170 = 4 N3103: Maximum PACKET UPLINK ACK/NACK messages within a TBF unacknowledged by MS (default: 4, range: [0 .. 255])
+net: X3171 = 8 N3105: Maximum allocated data blocks without RLC/MAC control reply from MS (default: 8, range: [0 .. 255])
net: X3210 = 20 s After L3 Complete, wait for MSC to confirm (default: 20 s)
mgw: X2427 = 5 s timeout for MGCP response from MGW (default: 5 s)
To view, visit change 31878. To unsubscribe, or for help writing mail filters, visit settings.