This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Andreas.Eversberg Andreas.Eversberg at versatel.dethis patch will add paging timer configuration to network. diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 3040525..954fd60 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -283,7 +283,7 @@ struct gsm_paging_request { gsm_cbfn *cbfn; void *cbfn_param; }; -#define T3113_VALUE 60, 0 +#define T3113_VALUE 60 /* * This keeps track of the paging status of one BTS. It @@ -410,6 +410,7 @@ struct gsm_network { char *name_short; enum gsm_auth_policy auth_policy; int a5_encryption; + int tout_3113; /* layer 4 */ int (*mncc_recv) (struct gsm_network *net, int msg_type, void *arg); diff --git a/openbsc/src/paging.c b/openbsc/src/paging.c index 184ea0f..b542273 100644 --- a/openbsc/src/paging.c +++ b/openbsc/src/paging.c @@ -235,7 +235,7 @@ static int _paging_request(struct gsm_bts *bts, struct gsm_subscriber *subscr, req->cbfn_param = data; req->T3113.cb = paging_T3113_expired; req->T3113.data = req; - bsc_schedule_timer(&req->T3113, T3113_VALUE); + bsc_schedule_timer(&req->T3113, bts->network->tout_3113 ? : T3113_VALUE, 0); llist_add_tail(&req->entry, &bts_entry->pending_requests); if (!bsc_timer_pending(&bts_entry->work_timer)) diff --git a/openbsc/src/vty_interface.c b/openbsc/src/vty_interface.c index 8dec579..95767bc 100644 --- a/openbsc/src/vty_interface.c +++ b/openbsc/src/vty_interface.c @@ -274,6 +274,10 @@ static int config_write_net(struct vty *vty) vty_out(vty, " long name %s%s", gsmnet->name_long, VTY_NEWLINE); vty_out(vty, " auth policy %s%s", gsm_auth_policy_name(gsmnet->auth_policy), VTY_NEWLINE); vty_out(vty, " encryption a5 %u%s", gsmnet->a5_encryption, VTY_NEWLINE); + if (gsmnet->tout_3113) + vty_out(vty, " paging timeout %u%s", gsmnet->tout_3113, VTY_NEWLINE); + else + vty_out(vty, " paging timeout default%s", VTY_NEWLINE); return CMD_SUCCESS; } @@ -793,6 +797,24 @@ DEFUN(cfg_net_encryption, return CMD_SUCCESS; } +DEFUN(cfg_net_paging_timeout, + cfg_net_paging_timeout_cmd, + "paging timeout (<1-65535>|default)", + "Set the paging timeout value (T3113) for this network\n") +{ + int tout = atoi(argv[0]); + + if (tout < 0 || tout > 0xffff) { + vty_out(vty, "%% Value %d is not in the valid range (1-65535 or 'default')%s", + tout, VTY_NEWLINE); + return CMD_WARNING; + } + + gsmnet->tout_3113 = tout; + + return CMD_SUCCESS; +} + /* per-BTS configuration */ DEFUN(cfg_bts, cfg_bts_cmd, @@ -1232,6 +1254,7 @@ int bsc_vty_init(struct gsm_network *net) install_element(GSMNET_NODE, &cfg_net_name_long_cmd); install_element(GSMNET_NODE, &cfg_net_auth_policy_cmd); install_element(GSMNET_NODE, &cfg_net_encryption_cmd); + install_element(GSMNET_NODE, &cfg_net_paging_timeout_cmd); install_element(GSMNET_NODE, &cfg_bts_cmd); install_node(&bts_node, config_write_bts);