Make BSSGP timing data configurable
Also: Deprecate/hide old respective VTY command, while preserving backwards compatibility for BSSGP timing data configuration. Requires: libosmocore.git Ib3b22640a11eae152d66d62c0f47b953d80de945 Related: OS#5335 Change-Id: Id4779f033b5eb1742462d4efc28a0398645acfe6
This commit is contained in:
parent
e7bea02ee3
commit
6c2ff6ad47
|
@ -340,6 +340,18 @@ struct gsm_bts_model {
|
|||
/* 3GPP TS 04.60 V8.27.0 (2005-09) */
|
||||
#define GSM_RLCMACN3101_STRICT_LOWER_BOUND 8UL
|
||||
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T1 1
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T2 2
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T3 3
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T4 4
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T5 5
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T1_BLOCK_RETRIES (-41)
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T1_UNBLOCK_RETRIES (-42)
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T2_RESET_RETRIES (-43)
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T3_SUSPEND_RETRIES (-44)
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T4_RESUME_RETRIES (-45)
|
||||
#define GSM_BTS_TDEF_ID_BSSGP_T5_CAP_UPDATE_RETRIES (-46)
|
||||
|
||||
struct gsm_gprs_cell {
|
||||
struct gsm_abis_mo mo;
|
||||
uint16_t bvci;
|
||||
|
@ -351,7 +363,7 @@ struct gsm_gprs_cell {
|
|||
enum gsm_gprs_bts_tdef_groups {
|
||||
OSMO_BSC_BTS_TDEF_GROUPS_RLC = 0,
|
||||
OSMO_BSC_BTS_TDEF_GROUPS_NS,
|
||||
/* TODO: Add additional groups here (BSSGP) */
|
||||
OSMO_BSC_BTS_TDEF_GROUPS_BSSGP,
|
||||
_NUM_OSMO_BSC_BTS_TDEF_GROUPS
|
||||
};
|
||||
extern struct osmo_tdef_group bts_gprs_timer_template_groups[_NUM_OSMO_BSC_BTS_TDEF_GROUPS + 1];
|
||||
|
|
|
@ -103,7 +103,8 @@ enum bsc_vty_cmd_attr {
|
|||
#define BTS_VTY_RLC_DESC_STR "RLC (Radio Link Control)"
|
||||
#define BTS_VTY_NS_STR "ns"
|
||||
#define BTS_VTY_NS_DESC_STR "NS (Network Service)"
|
||||
/* Add additional group strings for vty command generation here */
|
||||
#define BTS_VTY_BSSGP_STR "bssgp"
|
||||
#define BTS_VTY_BSSGP_DESC_STR "BSSGP (Base Station System GPRS Protocol)"
|
||||
|
||||
#define BTS_VTY_SHOW_TIMER_STR BTS_SHOW_TIMER_STR_NONEWLINE " & for this BTS\n"
|
||||
/*! Defines for per-BTS string commands */
|
||||
|
|
|
@ -91,13 +91,40 @@ static struct osmo_tdef bts_gprs_ns_timer_templates[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static struct osmo_tdef bts_gprs_bssgp_timer_templates[] = {
|
||||
{ .T = 1, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "T1 (3GPP TS 48.018): Guards the (un)blocking procedures" },
|
||||
{ .T = GSM_BTS_TDEF_ID_BSSGP_T1_BLOCK_RETRIES, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "Retries for blocking procedures guarded by T1", .unit = OSMO_TDEF_CUSTOM },
|
||||
{ .T = GSM_BTS_TDEF_ID_BSSGP_T1_UNBLOCK_RETRIES, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "Retries for unblocking procedures guarded by T1", .unit = OSMO_TDEF_CUSTOM },
|
||||
{ .T = 2, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "T2 (3GPP TS 48.018): Guards the reset procedure"},
|
||||
{ .T = GSM_BTS_TDEF_ID_BSSGP_T2_RESET_RETRIES, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "Retries for reset procedures guarded by T2", .unit = OSMO_TDEF_CUSTOM },
|
||||
{ .T = 3, .default_val = 1000,
|
||||
.max_val = UINT8_MAX * 100, .desc = "T3 (3GPP TS 48.018): Guards the suspend procedure", .unit = OSMO_TDEF_MS },
|
||||
{ .T = GSM_BTS_TDEF_ID_BSSGP_T3_SUSPEND_RETRIES, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "Retries for suspend procedures guarded by T3", .unit = OSMO_TDEF_CUSTOM },
|
||||
{ .T = 4, .default_val = 1000,
|
||||
.max_val = UINT8_MAX * 100, .desc = "T4 (3GPP TS 48.018): Guards the resume procedure", .unit = OSMO_TDEF_MS },
|
||||
{ .T = GSM_BTS_TDEF_ID_BSSGP_T4_RESUME_RETRIES, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "Retries for resume procedures guarded by T4", .unit = OSMO_TDEF_CUSTOM },
|
||||
{ .T = 5, .default_val = 10, .max_val = UINT8_MAX,
|
||||
.desc = "T5 (3GPP TS 48.018): Guards the Radio Access Capability Update procedure", .unit = OSMO_TDEF_CUSTOM },
|
||||
{ .T = GSM_BTS_TDEF_ID_BSSGP_T5_CAP_UPDATE_RETRIES, .default_val = 3,
|
||||
.max_val = UINT8_MAX, .desc = "Retries for capability update procedures guarded by T5", .unit = OSMO_TDEF_CUSTOM },
|
||||
{}
|
||||
};
|
||||
|
||||
/* This is only used by bts_vty.c to init the default values for the templates */
|
||||
struct osmo_tdef_group bts_gprs_timer_template_groups[_NUM_OSMO_BSC_BTS_TDEF_GROUPS + 1] = {
|
||||
[OSMO_BSC_BTS_TDEF_GROUPS_RLC] = {
|
||||
.name = BTS_VTY_RLC_STR, .tdefs = bts_gprs_rlc_timer_templates, .desc = BTS_VTY_RLC_DESC_STR },
|
||||
[OSMO_BSC_BTS_TDEF_GROUPS_NS] = {
|
||||
.name = BTS_VTY_NS_STR, .tdefs = bts_gprs_ns_timer_templates, .desc = BTS_VTY_NS_DESC_STR },
|
||||
/* Additional per-BTS timer groups here, set as above using 'enum gprs_bts_tdef_groups' */
|
||||
[OSMO_BSC_BTS_TDEF_GROUPS_BSSGP] = {
|
||||
.name = BTS_VTY_BSSGP_STR, .tdefs = bts_gprs_bssgp_timer_templates, .desc = BTS_VTY_BSSGP_DESC_STR },
|
||||
{}
|
||||
};
|
||||
|
||||
|
@ -111,6 +138,10 @@ void bts_gprs_timer_groups_init(struct gsm_bts *bts)
|
|||
/* Init per-BTS NS timers */
|
||||
bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_NS].tdefs = talloc_memdup(bts, bts_gprs_ns_timer_templates, sizeof(bts_gprs_ns_timer_templates));
|
||||
OSMO_ASSERT(bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_NS].tdefs);
|
||||
/* Init per-BTS BSSGP timers */
|
||||
bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_BSSGP].tdefs =
|
||||
talloc_memdup(bts, bts_gprs_bssgp_timer_templates, sizeof(bts_gprs_bssgp_timer_templates));
|
||||
OSMO_ASSERT(bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_BSSGP].tdefs);
|
||||
}
|
||||
|
||||
/* Init default values for all per-BTS timer templates */
|
||||
|
|
|
@ -206,19 +206,20 @@ struct msgb *nanobts_gen_set_nse_attr(struct gsm_bts_sm *bts_sm)
|
|||
};
|
||||
msgb_tl16v_put(msgb, NM_ATT_IPACC_NS_CFG, sizeof(ns_cfg), (const uint8_t *)&ns_cfg);
|
||||
|
||||
g = &bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_BSSGP];
|
||||
osmo_static_assert(ARRAY_SIZE(bts->gprs.cell.timer) == 11, cell_timer_array_wrong_size);
|
||||
bssgp_cfg = (struct abis_nm_ipacc_att_bssgp_cfg){
|
||||
.t1_s = bts->gprs.cell.timer[0],
|
||||
.t1_blocking_retries = bts->gprs.cell.timer[1],
|
||||
.t1_unblocking_retries = bts->gprs.cell.timer[2],
|
||||
.t2_s = bts->gprs.cell.timer[3],
|
||||
.t2_retries = bts->gprs.cell.timer[4],
|
||||
.t3_100ms = bts->gprs.cell.timer[5],
|
||||
.t3_retries = bts->gprs.cell.timer[6],
|
||||
.t4_100ms = bts->gprs.cell.timer[7],
|
||||
.t4_retries = bts->gprs.cell.timer[8],
|
||||
.t5_s = bts->gprs.cell.timer[9],
|
||||
.t5_retries = bts->gprs.cell.timer[10],
|
||||
.t1_s = osmo_tdef_get(g->tdefs, 1, OSMO_TDEF_S, -1),
|
||||
.t1_blocking_retries = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T1_BLOCK_RETRIES, OSMO_TDEF_CUSTOM, -1),
|
||||
.t1_unblocking_retries = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T1_UNBLOCK_RETRIES, OSMO_TDEF_CUSTOM, -1),
|
||||
.t2_s = osmo_tdef_get(g->tdefs, 2, OSMO_TDEF_S, -1),
|
||||
.t2_retries = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T2_RESET_RETRIES, OSMO_TDEF_CUSTOM, -1),
|
||||
.t3_100ms = osmo_tdef_get(g->tdefs, 3, OSMO_TDEF_MS, -1)/100,
|
||||
.t3_retries = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T3_SUSPEND_RETRIES, OSMO_TDEF_CUSTOM, -1),
|
||||
.t4_100ms = osmo_tdef_get(g->tdefs, 4, OSMO_TDEF_MS, -1)/100,
|
||||
.t4_retries = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T4_RESUME_RETRIES, OSMO_TDEF_CUSTOM, -1),
|
||||
.t5_s = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T5, OSMO_TDEF_S, -1),
|
||||
.t5_retries = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T5_CAP_UPDATE_RETRIES, OSMO_TDEF_CUSTOM, -1),
|
||||
};
|
||||
msgb_tl16v_put(msgb, NM_ATT_IPACC_BSSGP_CFG, sizeof(bssgp_cfg), (const uint8_t *)&bssgp_cfg);
|
||||
|
||||
|
|
|
@ -1653,9 +1653,11 @@ DEFUN_ATTR(cfg_bts_pag_free, cfg_bts_pag_free_cmd,
|
|||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
/* If not zero, the tdef will store 'val * factor', where 'val' is the value read from vty (needed for backwards compat. with deprecated commands) */
|
||||
struct tdef_data {
|
||||
int tdef_id;
|
||||
enum osmo_tdef_unit unit;
|
||||
unsigned int factor;
|
||||
};
|
||||
|
||||
/* Indices here correspond to those in gprs_ns_timer_str. Each row contains information for setting the respective tdef */
|
||||
|
@ -1698,6 +1700,21 @@ DEFUN_ATTR_USRATTR(cfg_bts_gprs_ns_timer,
|
|||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
/* Indices here correspond to those in gprs_bssgp_cfg_strs. Each row contains information for setting the respective tdef */
|
||||
struct tdef_data gprs_bssgp_timer_tdef_data[11] = {
|
||||
[0] = { .tdef_id = 1, .unit = OSMO_TDEF_S},
|
||||
[1] = { .tdef_id = GSM_BTS_TDEF_ID_BSSGP_T1_BLOCK_RETRIES, .unit = OSMO_TDEF_CUSTOM },
|
||||
[2] = { .tdef_id = GSM_BTS_TDEF_ID_BSSGP_T1_UNBLOCK_RETRIES, .unit = OSMO_TDEF_CUSTOM},
|
||||
[3] = { .tdef_id = 2, .unit = OSMO_TDEF_S},
|
||||
[4] = { .tdef_id = GSM_BTS_TDEF_ID_BSSGP_T2_RESET_RETRIES, .unit = OSMO_TDEF_CUSTOM},
|
||||
[5] = { .tdef_id = 3, .unit = OSMO_TDEF_MS, .factor = 100 },
|
||||
[6] = { .tdef_id = GSM_BTS_TDEF_ID_BSSGP_T3_SUSPEND_RETRIES, .unit = OSMO_TDEF_CUSTOM },
|
||||
[7] = { .tdef_id = 4, .unit = OSMO_TDEF_MS, .factor = 100 },
|
||||
[8] = { .tdef_id = GSM_BTS_TDEF_ID_BSSGP_T4_RESUME_RETRIES, .unit = OSMO_TDEF_CUSTOM },
|
||||
[9] = { .tdef_id = 5, .unit = OSMO_TDEF_S },
|
||||
[10] = { .tdef_id = GSM_BTS_TDEF_ID_BSSGP_T5_CAP_UPDATE_RETRIES, .unit = OSMO_TDEF_CUSTOM }
|
||||
};
|
||||
|
||||
#define BSSGP_TIMERS "(blocking-timer|blocking-retries|unblocking-retries|reset-timer|reset-retries|suspend-timer|suspend-retries|resume-timer|resume-retries|capability-update-timer|capability-update-retries)"
|
||||
#define BSSGP_TIMERS_HELP \
|
||||
"Tbvc-block timeout\n" \
|
||||
|
@ -1721,17 +1738,21 @@ DEFUN_USRATTR(cfg_bts_gprs_cell_timer,
|
|||
BSSGP_TIMERS_HELP "Timer Value\n")
|
||||
{
|
||||
struct gsm_bts *bts = vty->index;
|
||||
int idx = get_string_value(gprs_bssgp_cfg_strs, argv[0]);
|
||||
/* TODO (BSSGP timer patch): If argument is one of BSSGP Timers strings, then translate to
|
||||
* tdef index. Otherwise get tdef entry */
|
||||
int val = atoi(argv[1]);
|
||||
int idx = get_string_value(gprs_bssgp_cfg_strs, argv[0]), val = atoi(argv[1]);
|
||||
const struct tdef_data *tdef_params;
|
||||
const struct osmo_tdef_group *bts_bssgp = &bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_BSSGP];
|
||||
|
||||
vty_out(vty, "This command is deprecated; use '%s' instead%s", cfg_gprs_timer_cmd.string, VTY_NEWLINE);
|
||||
|
||||
GPRS_CHECK_ENABLED(bts);
|
||||
|
||||
if (idx < 0 || idx >= ARRAY_SIZE(bts->gprs.cell.timer))
|
||||
if (idx < 0 || idx >= ARRAY_SIZE(gprs_bssgp_timer_tdef_data))
|
||||
return CMD_WARNING;
|
||||
|
||||
tdef_params = &gprs_bssgp_timer_tdef_data[idx];
|
||||
bts->gprs.cell.timer[idx] = val;
|
||||
if (osmo_tdef_set(bts_bssgp->tdefs, tdef_params->tdef_id, val * tdef_params->factor ? : 1, tdef_params->unit) < 0)
|
||||
return CMD_WARNING;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -219,7 +219,20 @@ static int pcu_tx_info_ind(struct gsm_bts *bts)
|
|||
/* Communicating TNS Alive/having it con->tdefs,igurable for backwards compatibility */
|
||||
info_ind->nse_timer[5] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_TNS_ALIVE, OSMO_TDEF_S, -1);
|
||||
info_ind->nse_timer[6] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_TNS_ALIVE_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
memcpy(info_ind->cell_timer, bts->gprs.cell.timer, 11);
|
||||
|
||||
/* BSSGP */
|
||||
g = &bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_BSSGP];
|
||||
info_ind->cell_timer[0] = osmo_tdef_get(g->tdefs, 1, OSMO_TDEF_S, -1);
|
||||
info_ind->cell_timer[1] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T1_BLOCK_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
info_ind->cell_timer[2] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T1_UNBLOCK_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
info_ind->cell_timer[3] = osmo_tdef_get(g->tdefs, 2, OSMO_TDEF_S, -1);
|
||||
info_ind->cell_timer[4] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T2_RESET_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
info_ind->cell_timer[5] = osmo_tdef_get(g->tdefs, 3, OSMO_TDEF_MS, -1);
|
||||
info_ind->cell_timer[6] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T3_SUSPEND_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
info_ind->cell_timer[7] = osmo_tdef_get(g->tdefs, 4, OSMO_TDEF_MS, -1);
|
||||
info_ind->cell_timer[8] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T4_RESUME_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
info_ind->cell_timer[9] = osmo_tdef_get(g->tdefs, 5, OSMO_TDEF_S, -1);
|
||||
info_ind->cell_timer[10] = osmo_tdef_get(g->tdefs, GSM_BTS_TDEF_ID_BSSGP_T5_CAP_UPDATE_RETRIES, OSMO_TDEF_CUSTOM, -1);
|
||||
|
||||
/* cell attributes */
|
||||
g = &bts->timer_groups[OSMO_BSC_BTS_TDEF_GROUPS_RLC];
|
||||
|
|
|
@ -82,6 +82,30 @@ ns: X24 = 3 Reset procedure retries (default: 3, range: [0 .. 255])
|
|||
ns: X25 = 30 s Tns-test: Periodicity of the NS-VC test procedure (default: 30 s, range: [0 .. 255])
|
||||
ns: X26 = 3 s Tns-alive: Guards the NS-VC test procedure (default: 3 s, range: [0 .. 255])
|
||||
ns: X27 = 10 NS-ALIVE-RETRIES: Retries for the the NS-VC test procedure (default: 10, range: [0 .. 255])
|
||||
bssgp: T1 = 3 s T1 (3GPP TS 48.018): Guards the (un)blocking procedures (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X41 = 3 Retries for blocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: X42 = 3 Retries for unblocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: T2 = 3 s T2 (3GPP TS 48.018): Guards the reset procedure (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X43 = 3 Retries for reset procedures guarded by T2 (default: 3, range: [0 .. 255])
|
||||
bssgp: T3 = 1000 ms T3 (3GPP TS 48.018): Guards the suspend procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X44 = 3 Retries for suspend procedures guarded by T3 (default: 3, range: [0 .. 255])
|
||||
bssgp: T4 = 1000 ms T4 (3GPP TS 48.018): Guards the resume procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X45 = 3 Retries for resume procedures guarded by T4 (default: 3, range: [0 .. 255])
|
||||
bssgp: T5 = 10 T5 (3GPP TS 48.018): Guards the Radio Access Capability Update procedure (default: 10, range: [0 .. 255])
|
||||
bssgp: X46 = 3 Retries for capability update procedures guarded by T5 (default: 3, range: [0 .. 255])
|
||||
|
||||
OsmoBSC(config-net-bts)# gprs show timer bssgp
|
||||
bssgp: T1 = 3 s T1 (3GPP TS 48.018): Guards the (un)blocking procedures (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X41 = 3 Retries for blocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: X42 = 3 Retries for unblocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: T2 = 3 s T2 (3GPP TS 48.018): Guards the reset procedure (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X43 = 3 Retries for reset procedures guarded by T2 (default: 3, range: [0 .. 255])
|
||||
bssgp: T3 = 1000 ms T3 (3GPP TS 48.018): Guards the suspend procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X44 = 3 Retries for suspend procedures guarded by T3 (default: 3, range: [0 .. 255])
|
||||
bssgp: T4 = 1000 ms T4 (3GPP TS 48.018): Guards the resume procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X45 = 3 Retries for resume procedures guarded by T4 (default: 3, range: [0 .. 255])
|
||||
bssgp: T5 = 10 T5 (3GPP TS 48.018): Guards the Radio Access Capability Update procedure (default: 10, range: [0 .. 255])
|
||||
bssgp: X46 = 3 Retries for capability update procedures guarded by T5 (default: 3, range: [0 .. 255])
|
||||
|
||||
OsmoBSC(config-net-bts)# gprs show timer rlc X3101
|
||||
rlc: X3101 = 10 N3101: Maximum USFs without response from the MS (default: 10, range: [9 .. 255])
|
||||
|
@ -107,6 +131,17 @@ ns: X24 = 3 Reset procedure retries (default: 3, range: [0 .. 255])
|
|||
ns: X25 = 30 s Tns-test: Periodicity of the NS-VC test procedure (default: 30 s, range: [0 .. 255])
|
||||
ns: X26 = 3 s Tns-alive: Guards the NS-VC test procedure (default: 3 s, range: [0 .. 255])
|
||||
ns: X27 = 10 NS-ALIVE-RETRIES: Retries for the the NS-VC test procedure (default: 10, range: [0 .. 255])
|
||||
bssgp: T1 = 3 s T1 (3GPP TS 48.018): Guards the (un)blocking procedures (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X41 = 3 Retries for blocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: X42 = 3 Retries for unblocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: T2 = 3 s T2 (3GPP TS 48.018): Guards the reset procedure (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X43 = 3 Retries for reset procedures guarded by T2 (default: 3, range: [0 .. 255])
|
||||
bssgp: T3 = 1000 ms T3 (3GPP TS 48.018): Guards the suspend procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X44 = 3 Retries for suspend procedures guarded by T3 (default: 3, range: [0 .. 255])
|
||||
bssgp: T4 = 1000 ms T4 (3GPP TS 48.018): Guards the resume procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X45 = 3 Retries for resume procedures guarded by T4 (default: 3, range: [0 .. 255])
|
||||
bssgp: T5 = 10 T5 (3GPP TS 48.018): Guards the Radio Access Capability Update procedure (default: 10, range: [0 .. 255])
|
||||
bssgp: X46 = 3 Retries for capability update procedures guarded by T5 (default: 3, range: [0 .. 255])
|
||||
|
||||
OsmoBSC(config-net-bts)# gprs timer ns
|
||||
ns: X21 = 3 s Tns-block: Guards the blocking and unblocking procedures (default: 3 s, range: [0 .. 255])
|
||||
|
@ -156,6 +191,31 @@ OsmoBSC(config-net-bts)# gprs timer ns X21 19
|
|||
OsmoBSC(config-net-bts)# gprs timer ns X21
|
||||
ns: X21 = 19 s Tns-block: Guards the blocking and unblocking procedures (default: 3 s, range: [0 .. 255])
|
||||
|
||||
OsmoBSC(config-net-bts)# gprs timer bssgp X46 31
|
||||
OsmoBSC(config-net-bts)# gprs timer bssgp X46
|
||||
bssgp: X46 = 31 Retries for capability update procedures guarded by T5 (default: 3, range: [0 .. 255])
|
||||
|
||||
OsmoBSC(config-net-bts)# gprs timer bssgp
|
||||
bssgp: T1 = 3 s T1 (3GPP TS 48.018): Guards the (un)blocking procedures (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X41 = 3 Retries for blocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: X42 = 3 Retries for unblocking procedures guarded by T1 (default: 3, range: [0 .. 255])
|
||||
bssgp: T2 = 3 s T2 (3GPP TS 48.018): Guards the reset procedure (default: 3 s, range: [0 .. 255])
|
||||
bssgp: X43 = 3 Retries for reset procedures guarded by T2 (default: 3, range: [0 .. 255])
|
||||
bssgp: T3 = 1000 ms T3 (3GPP TS 48.018): Guards the suspend procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X44 = 3 Retries for suspend procedures guarded by T3 (default: 3, range: [0 .. 255])
|
||||
bssgp: T4 = 1000 ms T4 (3GPP TS 48.018): Guards the resume procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
bssgp: X45 = 3 Retries for resume procedures guarded by T4 (default: 3, range: [0 .. 255])
|
||||
bssgp: T5 = 10 T5 (3GPP TS 48.018): Guards the Radio Access Capability Update procedure (default: 10, range: [0 .. 255])
|
||||
bssgp: X46 = 31 Retries for capability update procedures guarded by T5 (default: 3, range: [0 .. 255])
|
||||
|
||||
OsmoBSC(config-net-bts)# ### Test legacy compatibility (unit conversion)
|
||||
OsmoBSC(config-net-bts)# gprs mode gprs
|
||||
OsmoBSC(config-net-bts)# gprs cell timer suspend-timer 255
|
||||
This command is deprecated; use 'gprs timer [(rlc|ns|bssgp)] [TNNNN] [(<0-2147483647>|default)]' instead
|
||||
OsmoBSC(config-net-bts)# gprs timer bssgp T3
|
||||
bssgp: T3 = 25500 ms T3 (3GPP TS 48.018): Guards the suspend procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
OsmoBSC(config-net-bts)# exit
|
||||
OsmoBSC(config-net)# exit
|
||||
OsmoBSC(config)# exit
|
||||
OsmoBSC(config-net)# bts 0
|
||||
OsmoBSC(config-net-bts)# gprs timer bssgp T3 25500
|
||||
OsmoBSC(config-net-bts)# gprs timer bssgp T3
|
||||
bssgp: T3 = 25500 ms T3 (3GPP TS 48.018): Guards the suspend procedure (default: 1000 ms, range: [0 .. 25500])
|
||||
|
|
Loading…
Reference in New Issue