== start-up / sequencing during OsmoBTS start The start-up procedure of OsmoBTS can be described as follows: |=== | bts-specific | main() | | common | bts_main() | initialization of talloc contexts | common | bts_log_init() | initialization of logging | common | handle_options() | common option parsing | bts-specific | bts_model_handle_options() | model-specific option parsing | common | gsm_bts_alloc() | allocation of BTS/TRX/TS data structures | common | vty_init() | Initialziation of VTY core, libosmo-abis and osmo-bts VTY | common | main() | Setting of scheduler RR priority (if configured) | common | main() | Initialization of GSMTAP (if configured) | common | bts_init() | configuration of defaults in bts/trx/s object | bts-specific | bts_model_init | ? | common | abis_init() | Initialization of libosmo-abis | common | vty_read_config_file() | Reading of configuration file | bts-specific | bts_model_phy_link_set_defaults() | Called for every PHY link created | bts-specific | bts_model_phy_instance_set_defaults() | Called for every PHY Instance created | common | bts_controlif_setup() | Initialization of Control Interface | bts-specific | bts_model_ctrl_cmds_install() | common | telnet_init() | Initialization of telnet interface | common | pcu_sock_init() | Initializaiton of PCU socket | common | main() | Installation of signal handlers | common | abis_open() | Start of the A-bis connection to BSC | common | phy_links_open() | Iterate over list of configured PHY links | bts-specific | bts_model_phy_link_open() | Open each of the configured PHY links | common | write_pid_file() | Generate the pid file | common | osmo_daemonize() | Fork as daemon in background (if configured) | common | bts_main() | Run main loop until global variable quit >= 2 | bts-specific | bts_model_oml_estab() | Called by core once OML link is established | bts-specific | bts_model_check_oml() | called each time OML sets some attributes on a MO, checks if attributes are valid | bts-specific | bts_model_apply_oml() | called each time OML sets some attributes on a MO, stores attribute contents in data structures | bts-specific | bts_model_opstart() | for NM_OC_BTS, NM_OC_SITE_MANAGER, NM_OC_GPRS_NSE, NM_OC_GPRS_CELL, NMO_OC_GPRS_NSVC | bts-specific | bts_model_opstart() | for NM_OC_RADIO_CARRIER for each trx | bts-specific | bts_model_opstart() | for NM_OC_BASEB_TRANSC for each trx | bts-specific | bts_model_opstart() | for NM_OC_CHANNEL for each timeslot on each trx | bts-specific | bts_model_change_power() | change transmit power for each trx (power ramp-up/ramp-down | bts-specific | bts_model_abis_close() | called when either one of the RSL links or the OML link are down