libosmogsm
0.9.3
Osmocom GSM library
|
00001 #pragma once 00002 00003 /* GSM Network Management messages on the A-bis interface 00004 * 3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0 */ 00005 00006 /* (C) 2008-2009 by Harald Welte <laforge@gnumonks.org> 00007 * All Rights Reserved 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License along 00020 * with this program; if not, write to the Free Software Foundation, Inc., 00021 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00022 * 00023 */ 00024 00031 #include <stdint.h> 00032 #include <osmocom/gsm/tlv.h> 00033 00035 struct abis_om_hdr { 00037 uint8_t mdisc; 00039 uint8_t placement; 00041 uint8_t sequence; 00043 uint8_t length; 00045 uint8_t data[0]; 00046 } __attribute__ ((packed)); 00047 00049 #define ABIS_OM_MDISC_FOM 0x80 00050 00051 #define ABIS_OM_MDISC_MMI 0x40 00052 00053 #define ABIS_OM_MDISC_TRAU 0x20 00054 00055 #define ABIS_OM_MDISC_MANUF 0x10 00056 00058 #define ABIS_OM_PLACEMENT_ONLY 0x80 00059 00060 #define ABIS_OM_PLACEMENT_FIRST 0x40 00061 00062 #define ABIS_OM_PLACEMENT_MIDDLE 0x20 00063 00064 #define ABIS_OM_PLACEMENT_LAST 0x10 00065 00067 struct abis_om_obj_inst { 00068 uint8_t bts_nr; 00069 uint8_t trx_nr; 00070 uint8_t ts_nr; 00071 } __attribute__ ((packed)); 00072 00074 struct abis_om_fom_hdr { 00075 uint8_t msg_type; 00076 uint8_t obj_class; 00077 struct abis_om_obj_inst obj_inst; 00078 uint8_t data[0]; 00079 } __attribute__ ((packed)); 00080 00082 #define ABIS_OM_FOM_HDR_SIZE (sizeof(struct abis_om_hdr) + sizeof(struct abis_om_fom_hdr)) 00083 00085 enum abis_nm_msgtype { 00086 /* SW Download Management Messages */ 00087 NM_MT_LOAD_INIT = 0x01, 00088 NM_MT_LOAD_INIT_ACK, 00089 NM_MT_LOAD_INIT_NACK, 00090 NM_MT_LOAD_SEG, 00091 NM_MT_LOAD_SEG_ACK, 00092 NM_MT_LOAD_ABORT, 00093 NM_MT_LOAD_END, 00094 NM_MT_LOAD_END_ACK, 00095 NM_MT_LOAD_END_NACK, 00096 NM_MT_SW_ACT_REQ, /* BTS->BSC */ 00097 NM_MT_SW_ACT_REQ_ACK, 00098 NM_MT_SW_ACT_REQ_NACK, 00099 NM_MT_ACTIVATE_SW, /* BSC->BTS */ 00100 NM_MT_ACTIVATE_SW_ACK, 00101 NM_MT_ACTIVATE_SW_NACK, 00102 NM_MT_SW_ACTIVATED_REP, /* 0x10 */ 00103 /* A-bis Interface Management Messages */ 00104 NM_MT_ESTABLISH_TEI = 0x21, 00105 NM_MT_ESTABLISH_TEI_ACK, 00106 NM_MT_ESTABLISH_TEI_NACK, 00107 NM_MT_CONN_TERR_SIGN, 00108 NM_MT_CONN_TERR_SIGN_ACK, 00109 NM_MT_CONN_TERR_SIGN_NACK, 00110 NM_MT_DISC_TERR_SIGN, 00111 NM_MT_DISC_TERR_SIGN_ACK, 00112 NM_MT_DISC_TERR_SIGN_NACK, 00113 NM_MT_CONN_TERR_TRAF, 00114 NM_MT_CONN_TERR_TRAF_ACK, 00115 NM_MT_CONN_TERR_TRAF_NACK, 00116 NM_MT_DISC_TERR_TRAF, 00117 NM_MT_DISC_TERR_TRAF_ACK, 00118 NM_MT_DISC_TERR_TRAF_NACK, 00119 /* Transmission Management Messages */ 00120 NM_MT_CONN_MDROP_LINK = 0x31, 00121 NM_MT_CONN_MDROP_LINK_ACK, 00122 NM_MT_CONN_MDROP_LINK_NACK, 00123 NM_MT_DISC_MDROP_LINK, 00124 NM_MT_DISC_MDROP_LINK_ACK, 00125 NM_MT_DISC_MDROP_LINK_NACK, 00126 /* Air Interface Management Messages */ 00127 NM_MT_SET_BTS_ATTR = 0x41, 00128 NM_MT_SET_BTS_ATTR_ACK, 00129 NM_MT_SET_BTS_ATTR_NACK, 00130 NM_MT_SET_RADIO_ATTR, 00131 NM_MT_SET_RADIO_ATTR_ACK, 00132 NM_MT_SET_RADIO_ATTR_NACK, 00133 NM_MT_SET_CHAN_ATTR, 00134 NM_MT_SET_CHAN_ATTR_ACK, 00135 NM_MT_SET_CHAN_ATTR_NACK, 00136 /* Test Management Messages */ 00137 NM_MT_PERF_TEST = 0x51, 00138 NM_MT_PERF_TEST_ACK, 00139 NM_MT_PERF_TEST_NACK, 00140 NM_MT_TEST_REP, 00141 NM_MT_SEND_TEST_REP, 00142 NM_MT_SEND_TEST_REP_ACK, 00143 NM_MT_SEND_TEST_REP_NACK, 00144 NM_MT_STOP_TEST, 00145 NM_MT_STOP_TEST_ACK, 00146 NM_MT_STOP_TEST_NACK, 00147 /* State Management and Event Report Messages */ 00148 NM_MT_STATECHG_EVENT_REP = 0x61, 00149 NM_MT_FAILURE_EVENT_REP, 00150 NM_MT_STOP_EVENT_REP, 00151 NM_MT_STOP_EVENT_REP_ACK, 00152 NM_MT_STOP_EVENT_REP_NACK, 00153 NM_MT_REST_EVENT_REP, 00154 NM_MT_REST_EVENT_REP_ACK, 00155 NM_MT_REST_EVENT_REP_NACK, 00156 NM_MT_CHG_ADM_STATE, 00157 NM_MT_CHG_ADM_STATE_ACK, 00158 NM_MT_CHG_ADM_STATE_NACK, 00159 NM_MT_CHG_ADM_STATE_REQ, 00160 NM_MT_CHG_ADM_STATE_REQ_ACK, 00161 NM_MT_CHG_ADM_STATE_REQ_NACK, 00162 NM_MT_REP_OUTST_ALARMS = 0x93, 00163 NM_MT_REP_OUTST_ALARMS_ACK, 00164 NM_MT_REP_OUTST_ALARMS_NACK, 00165 /* Equipment Management Messages */ 00166 NM_MT_CHANGEOVER = 0x71, 00167 NM_MT_CHANGEOVER_ACK, 00168 NM_MT_CHANGEOVER_NACK, 00169 NM_MT_OPSTART, 00170 NM_MT_OPSTART_ACK, 00171 NM_MT_OPSTART_NACK, 00172 NM_MT_REINIT, 00173 NM_MT_REINIT_ACK, 00174 NM_MT_REINIT_NACK, 00175 NM_MT_SET_SITE_OUT, /* BS11: get alarm ?!? */ 00176 NM_MT_SET_SITE_OUT_ACK, 00177 NM_MT_SET_SITE_OUT_NACK, 00178 NM_MT_CHG_HW_CONF = 0x90, 00179 NM_MT_CHG_HW_CONF_ACK, 00180 NM_MT_CHG_HW_CONF_NACK, 00181 /* Measurement Management Messages */ 00182 NM_MT_MEAS_RES_REQ = 0x8a, 00183 NM_MT_MEAS_RES_RESP, 00184 NM_MT_STOP_MEAS, 00185 NM_MT_START_MEAS, 00186 /* Other Messages */ 00187 NM_MT_GET_ATTR = 0x81, 00188 NM_MT_GET_ATTR_RESP, 00189 NM_MT_GET_ATTR_NACK, 00190 NM_MT_SET_ALARM_THRES, 00191 NM_MT_SET_ALARM_THRES_ACK, 00192 NM_MT_SET_ALARM_THRES_NACK, 00193 }; 00194 00196 enum abis_nm_msgtype_bs11 { 00197 NM_MT_BS11_RESET_RESOURCE = 0x74, 00198 00199 NM_MT_BS11_BEGIN_DB_TX = 0xa3, 00200 NM_MT_BS11_BEGIN_DB_TX_ACK, 00201 NM_MT_BS11_BEGIN_DB_TX_NACK, 00202 NM_MT_BS11_END_DB_TX = 0xa6, 00203 NM_MT_BS11_END_DB_TX_ACK, 00204 NM_MT_BS11_END_DB_TX_NACK, 00205 NM_MT_BS11_CREATE_OBJ = 0xa9, 00206 NM_MT_BS11_CREATE_OBJ_ACK, 00207 NM_MT_BS11_CREATE_OBJ_NACK, 00208 NM_MT_BS11_DELETE_OBJ = 0xac, 00209 NM_MT_BS11_DELETE_OBJ_ACK, 00210 NM_MT_BS11_DELETE_OBJ_NACK, 00211 00212 NM_MT_BS11_SET_ATTR = 0xd0, 00213 NM_MT_BS11_SET_ATTR_ACK, 00214 NM_MT_BS11_SET_ATTR_NACK, 00215 NM_MT_BS11_LMT_SESSION = 0xdc, 00216 00217 NM_MT_BS11_GET_STATE = 0xe3, 00218 NM_MT_BS11_GET_STATE_ACK, 00219 NM_MT_BS11_LMT_LOGON = 0xe5, 00220 NM_MT_BS11_LMT_LOGON_ACK, 00221 NM_MT_BS11_RESTART = 0xe7, 00222 NM_MT_BS11_RESTART_ACK, 00223 NM_MT_BS11_DISCONNECT = 0xe9, 00224 NM_MT_BS11_DISCONNECT_ACK, 00225 NM_MT_BS11_LMT_LOGOFF = 0xec, 00226 NM_MT_BS11_LMT_LOGOFF_ACK, 00227 NM_MT_BS11_RECONNECT = 0xf1, 00228 NM_MT_BS11_RECONNECT_ACK, 00229 }; 00230 00232 enum abis_nm_msgtype_ipacc { 00233 NM_MT_IPACC_RESTART = 0x87, 00234 NM_MT_IPACC_RESTART_ACK, 00235 NM_MT_IPACC_RESTART_NACK, 00236 NM_MT_IPACC_RSL_CONNECT = 0xe0, 00237 NM_MT_IPACC_RSL_CONNECT_ACK, 00238 NM_MT_IPACC_RSL_CONNECT_NACK, 00239 NM_MT_IPACC_RSL_DISCONNECT = 0xe3, 00240 NM_MT_IPACC_RSL_DISCONNECT_ACK, 00241 NM_MT_IPACC_RSL_DISCONNECT_NACK, 00242 NM_MT_IPACC_CONN_TRAF = 0xe6, 00243 NM_MT_IPACC_CONN_TRAF_ACK, 00244 NM_MT_IPACC_CONN_TRAF_NACK, 00245 NM_MT_IPACC_DEF_BOOT_SW = 0xec, 00246 NM_MT_IPACC_DEF_BOOT_SW_ACK, 00247 MN_MT_IPACC_DEF_BOOT_SW_NACK, 00248 NM_MT_IPACC_SET_NVATTR = 0xef, 00249 NM_MT_IPACC_SET_NVATTR_ACK, 00250 NM_MT_IPACC_SET_NVATTR_NACK, 00251 NM_MT_IPACC_GET_NVATTR = 0xf2, 00252 NM_MT_IPACC_GET_NVATTR_ACK, 00253 NM_MT_IPACC_GET_NVATTR_NACK, 00254 NM_MT_IPACC_SET_ATTR = 0xf5, 00255 NM_MT_IPACC_SET_ATTR_ACK, 00256 NM_MT_IPACC_SET_ATTR_NACK, 00257 }; 00258 00259 enum abis_nm_bs11_cell_alloc { 00260 NM_BS11_CANR_GSM = 0x00, 00261 NM_BS11_CANR_DCS1800 = 0x01, 00262 }; 00263 00265 enum abis_nm_obj_class { 00266 NM_OC_SITE_MANAGER = 0x00, 00267 NM_OC_BTS, 00268 NM_OC_RADIO_CARRIER, 00269 NM_OC_CHANNEL, 00270 NM_OC_BASEB_TRANSC, 00271 /* RFU: 05-FE */ 00272 00273 NM_OC_IPAC_E1_TRUNK = 0x0e, 00274 NM_OC_IPAC_E1_PORT = 0x0f, 00275 NM_OC_IPAC_E1_CHAN = 0x10, 00276 NM_OC_IPAC_CLK_MODULE = 0x22, 00277 00278 NM_OC_BS11_ADJC = 0xa0, 00279 NM_OC_BS11_HANDOVER = 0xa1, 00280 NM_OC_BS11_PWR_CTRL = 0xa2, 00281 NM_OC_BS11_BTSE = 0xa3, /* LMT? */ 00282 NM_OC_BS11_RACK = 0xa4, 00283 NM_OC_BS11 = 0xa5, /* 01: ALCO */ 00284 NM_OC_BS11_TEST = 0xa6, 00285 NM_OC_BS11_ENVABTSE = 0xa8, 00286 NM_OC_BS11_BPORT = 0xa9, 00287 00288 NM_OC_GPRS_NSE = 0xf0, 00289 NM_OC_GPRS_CELL = 0xf1, 00290 NM_OC_GPRS_NSVC = 0xf2, 00291 00292 NM_OC_NULL = 0xff, 00293 }; 00294 00296 enum abis_nm_attr { 00297 NM_ATT_ABIS_CHANNEL = 0x01, 00298 NM_ATT_ADD_INFO, 00299 NM_ATT_ADD_TEXT, 00300 NM_ATT_ADM_STATE, 00301 NM_ATT_ARFCN_LIST, 00302 NM_ATT_AUTON_REPORT, 00303 NM_ATT_AVAIL_STATUS, 00304 NM_ATT_BCCH_ARFCN, 00305 NM_ATT_BSIC, 00306 NM_ATT_BTS_AIR_TIMER, 00307 NM_ATT_CCCH_L_I_P, 00308 NM_ATT_CCCH_L_T, 00309 NM_ATT_CHAN_COMB, 00310 NM_ATT_CONN_FAIL_CRIT, 00311 NM_ATT_DEST, 00312 /* res */ 00313 NM_ATT_EVENT_TYPE = 0x11, /* BS11: file data ?!? */ 00314 NM_ATT_FILE_ID, 00315 NM_ATT_FILE_VERSION, 00316 NM_ATT_GSM_TIME, 00317 NM_ATT_HSN, 00318 NM_ATT_HW_CONFIG, 00319 NM_ATT_HW_DESC, 00320 NM_ATT_INTAVE_PARAM, 00321 NM_ATT_INTERF_BOUND, 00322 NM_ATT_LIST_REQ_ATTR, 00323 NM_ATT_MAIO, 00324 NM_ATT_MANUF_STATE, 00325 NM_ATT_MANUF_THRESH, 00326 NM_ATT_MANUF_ID, 00327 NM_ATT_MAX_TA, 00328 NM_ATT_MDROP_LINK, /* 0x20 */ 00329 NM_ATT_MDROP_NEXT, 00330 NM_ATT_NACK_CAUSES, 00331 NM_ATT_NY1, 00332 NM_ATT_OPER_STATE, 00333 NM_ATT_OVERL_PERIOD, 00334 NM_ATT_PHYS_CONF, 00335 NM_ATT_POWER_CLASS, 00336 NM_ATT_POWER_THRESH, 00337 NM_ATT_PROB_CAUSE, 00338 NM_ATT_RACH_B_THRESH, 00339 NM_ATT_LDAVG_SLOTS, 00340 NM_ATT_RAD_SUBC, 00341 NM_ATT_RF_MAXPOWR_R, 00342 NM_ATT_SITE_INPUTS, 00343 NM_ATT_SITE_OUTPUTS, 00344 NM_ATT_SOURCE, /* 0x30 */ 00345 NM_ATT_SPEC_PROB, 00346 NM_ATT_START_TIME, 00347 NM_ATT_T200, 00348 NM_ATT_TEI, 00349 NM_ATT_TEST_DUR, 00350 NM_ATT_TEST_NO, 00351 NM_ATT_TEST_REPORT, 00352 NM_ATT_VSWR_THRESH, 00353 NM_ATT_WINDOW_SIZE, 00354 /* Res */ 00355 NM_ATT_BS11_RSSI_OFFS = 0x3d, 00356 NM_ATT_BS11_TXPWR = 0x3e, 00357 NM_ATT_BS11_DIVERSITY = 0x3f, 00358 /* Res */ 00359 NM_ATT_TSC = 0x40, 00360 NM_ATT_SW_CONFIG, 00361 NM_ATT_SW_DESCR, 00362 NM_ATT_SEVERITY, 00363 NM_ATT_GET_ARI, 00364 NM_ATT_HW_CONF_CHG, 00365 NM_ATT_OUTST_ALARM, 00366 NM_ATT_FILE_DATA, 00367 NM_ATT_MEAS_RES, 00368 NM_ATT_MEAS_TYPE, 00369 00370 NM_ATT_BS11_ESN_FW_CODE_NO = 0x4c, 00371 NM_ATT_BS11_ESN_HW_CODE_NO = 0x4f, 00372 00373 NM_ATT_BS11_ESN_PCB_SERIAL = 0x55, 00374 NM_ATT_BS11_EXCESSIVE_DISTANCE = 0x58, 00375 00376 NM_ATT_BS11_ALL_TEST_CATG = 0x60, 00377 NM_ATT_BS11_BTSLS_HOPPING, 00378 NM_ATT_BS11_CELL_ALLOC_NR, 00379 NM_ATT_BS11_CELL_GLOBAL_ID, 00380 NM_ATT_BS11_ENA_INTERF_CLASS = 0x66, 00381 NM_ATT_BS11_ENA_INT_INTEC_HANDO = 0x67, 00382 NM_ATT_BS11_ENA_INT_INTRC_HANDO = 0x68, 00383 NM_ATT_BS11_ENA_MS_PWR_CTRL = 0x69, 00384 NM_ATT_BS11_ENA_PWR_BDGT_HO = 0x6a, 00385 NM_ATT_BS11_ENA_PWR_CTRL_RLFW = 0x6b, 00386 NM_ATT_BS11_ENA_RXLEV_HO = 0x6c, 00387 NM_ATT_BS11_ENA_RXQUAL_HO = 0x6d, 00388 NM_ATT_BS11_FACCH_QUAL = 0x6e, 00389 00390 NM_ATT_IPACC_DST_IP = 0x80, 00391 NM_ATT_IPACC_DST_IP_PORT = 0x81, 00392 NM_ATT_IPACC_SSRC = 0x82, 00393 NM_ATT_IPACC_RTP_PAYLD_TYPE = 0x83, 00394 NM_ATT_IPACC_BASEB_ID = 0x84, 00395 NM_ATT_IPACC_STREAM_ID = 0x85, 00396 NM_ATT_IPACC_NV_FLAGS = 0x86, 00397 NM_ATT_IPACC_FREQ_CTRL = 0x87, 00398 NM_ATT_IPACC_PRIM_OML_CFG = 0x88, 00399 NM_ATT_IPACC_SEC_OML_CFG = 0x89, 00400 NM_ATT_IPACC_IP_IF_CFG = 0x8a, /* IP interface */ 00401 NM_ATT_IPACC_IP_GW_CFG = 0x8b, /* IP gateway */ 00402 NM_ATT_IPACC_IN_SERV_TIME = 0x8c, 00403 NM_ATT_IPACC_TRX_BTS_ASS = 0x8d, 00404 NM_ATT_IPACC_LOCATION = 0x8e, /* string describing location */ 00405 NM_ATT_IPACC_PAGING_CFG = 0x8f, 00406 NM_ATT_IPACC_FILE_DATA = 0x90, 00407 NM_ATT_IPACC_UNIT_ID = 0x91, /* Site/BTS/TRX */ 00408 NM_ATT_IPACC_PARENT_UNIT_ID = 0x92, 00409 NM_ATT_IPACC_UNIT_NAME = 0x93, /* default: nbts-<mac-as-string> */ 00410 NM_ATT_IPACC_SNMP_CFG = 0x94, 00411 NM_ATT_IPACC_PRIM_OML_CFG_LIST = 0x95, 00412 NM_ATT_IPACC_PRIM_OML_FB_TOUT = 0x96, 00413 NM_ATT_IPACC_CUR_SW_CFG = 0x97, 00414 NM_ATT_IPACC_TIMING_BUS = 0x98, 00415 NM_ATT_IPACC_CGI = 0x99, 00416 NM_ATT_IPACC_RAC = 0x9a, 00417 NM_ATT_IPACC_OBJ_VERSION = 0x9b, 00418 NM_ATT_IPACC_GPRS_PAGING_CFG = 0x9c, 00419 NM_ATT_IPACC_NSEI = 0x9d, 00420 NM_ATT_IPACC_BVCI = 0x9e, 00421 NM_ATT_IPACC_NSVCI = 0x9f, 00422 NM_ATT_IPACC_NS_CFG = 0xa0, 00423 NM_ATT_IPACC_BSSGP_CFG = 0xa1, 00424 NM_ATT_IPACC_NS_LINK_CFG = 0xa2, 00425 NM_ATT_IPACC_RLC_CFG = 0xa3, 00426 NM_ATT_IPACC_ALM_THRESH_LIST = 0xa4, 00427 NM_ATT_IPACC_MONIT_VAL_LIST = 0xa5, 00428 NM_ATT_IPACC_TIB_CONTROL = 0xa6, 00429 NM_ATT_IPACC_SUPP_FEATURES = 0xa7, 00430 NM_ATT_IPACC_CODING_SCHEMES = 0xa8, 00431 NM_ATT_IPACC_RLC_CFG_2 = 0xa9, 00432 NM_ATT_IPACC_HEARTB_TOUT = 0xaa, 00433 NM_ATT_IPACC_UPTIME = 0xab, 00434 NM_ATT_IPACC_RLC_CFG_3 = 0xac, 00435 NM_ATT_IPACC_SSL_CFG = 0xad, 00436 NM_ATT_IPACC_SEC_POSSIBLE = 0xae, 00437 NM_ATT_IPACC_IML_SSL_STATE = 0xaf, 00438 NM_ATT_IPACC_REVOC_DATE = 0xb0, 00439 00440 00441 NM_ATT_BS11_RF_RES_IND_PER = 0x8f, 00442 00443 NM_ATT_BS11_RX_LEV_MIN_CELL = 0x90, 00444 NM_ATT_BS11_ABIS_EXT_TIME = 0x91, 00445 NM_ATT_BS11_TIMER_HO_REQUEST = 0x92, 00446 NM_ATT_BS11_TIMER_NCELL = 0x93, 00447 NM_ATT_BS11_TSYNC = 0x94, 00448 NM_ATT_BS11_TTRAU = 0x95, 00449 NM_ATT_BS11_EMRG_CFG_MEMBER = 0x9b, 00450 NM_ATT_BS11_TRX_AREA = 0x9f, 00451 00452 NM_ATT_BS11_BCCH_RECONF = 0xd7, 00453 NM_ATT_BS11_BIT_ERR_THESH = 0xa0, 00454 NM_ATT_BS11_BOOT_SW_VERS = 0xa1, 00455 NM_ATT_BS11_CCLK_ACCURACY = 0xa3, 00456 NM_ATT_BS11_CCLK_TYPE = 0xa4, 00457 NM_ATT_BS11_INP_IMPEDANCE = 0xaa, 00458 NM_ATT_BS11_L1_PROT_TYPE = 0xab, 00459 NM_ATT_BS11_LINE_CFG = 0xac, 00460 NM_ATT_BS11_LI_PORT_1 = 0xad, 00461 NM_ATT_BS11_LI_PORT_2 = 0xae, 00462 00463 NM_ATT_BS11_L1_REM_ALM_TYPE = 0xb0, 00464 NM_ATT_BS11_SW_LOAD_INTENDED = 0xbb, 00465 NM_ATT_BS11_SW_LOAD_SAFETY = 0xbc, 00466 NM_ATT_BS11_SW_LOAD_STORED = 0xbd, 00467 00468 NM_ATT_BS11_VENDOR_NAME = 0xc1, 00469 NM_ATT_BS11_HOPPING_MODE = 0xc5, 00470 NM_ATT_BS11_LMT_LOGON_SESSION = 0xc6, 00471 NM_ATT_BS11_LMT_LOGIN_TIME = 0xc7, 00472 NM_ATT_BS11_LMT_USER_ACC_LEV = 0xc8, 00473 NM_ATT_BS11_LMT_USER_NAME = 0xc9, 00474 00475 NM_ATT_BS11_L1_CONTROL_TS = 0xd8, 00476 NM_ATT_BS11_RADIO_MEAS_GRAN = 0xdc, /* in SACCH multiframes */ 00477 NM_ATT_BS11_RADIO_MEAS_REP = 0xdd, 00478 00479 NM_ATT_BS11_SH_LAPD_INT_TIMER = 0xe8, 00480 00481 NM_ATT_BS11_BTS_STATE = 0xf0, 00482 NM_ATT_BS11_E1_STATE = 0xf1, 00483 NM_ATT_BS11_PLL = 0xf2, 00484 NM_ATT_BS11_RX_OFFSET = 0xf3, 00485 NM_ATT_BS11_ANT_TYPE = 0xf4, 00486 NM_ATT_BS11_PLL_MODE = 0xfc, 00487 NM_ATT_BS11_PASSWORD = 0xfd, 00488 00489 /* osmocom (osmo-bts) specific attributes, used in combination 00490 * with the "org.osmocom" manufacturer identification */ 00491 NM_ATT_OSMO_REDUCEPOWER = 0xfe, /* TLV_TYPE_TV */ 00492 }; 00493 #define NM_ATT_BS11_FILE_DATA NM_ATT_EVENT_TYPE 00494 00496 enum abis_nm_adm_state { 00497 NM_STATE_LOCKED = 0x01, 00498 NM_STATE_UNLOCKED = 0x02, 00499 NM_STATE_SHUTDOWN = 0x03, 00500 NM_STATE_NULL = 0xff, 00501 }; 00502 00504 enum abis_nm_avail_state { 00505 NM_AVSTATE_IN_TEST = 1, 00506 NM_AVSTATE_POWER_OFF = 2, 00507 NM_AVSTATE_OFF_LINE = 3, 00508 NM_AVSTATE_DEPENDENCY = 5, 00509 NM_AVSTATE_DEGRADED = 6, 00510 NM_AVSTATE_NOT_INSTALLED= 7, 00511 NM_AVSTATE_OK = 0xff, 00512 }; 00513 00515 enum abis_nm_op_state { 00516 NM_OPSTATE_DISABLED = 1, 00517 NM_OPSTATE_ENABLED = 2, 00518 NM_OPSTATE_NULL = 0xff, 00519 }; 00520 00521 /* \brief Channel Combination (Section 9.4.13) */ 00522 enum abis_nm_chan_comb { 00523 NM_CHANC_TCHFull = 0x00, /* TCH/F + TCH/H + SACCH/TF */ 00524 NM_CHANC_TCHHalf = 0x01, /* TCH/H(0,1) + FACCH/H(0,1) + 00525 SACCH/TH(0,1) */ 00526 NM_CHANC_TCHHalf2 = 0x02, /* TCH/H(0) + FACCH/H(0) + SACCH/TH(0) + 00527 TCH/H(1) */ 00528 NM_CHANC_SDCCH = 0x03, /* SDCCH/8 + SACCH/8 */ 00529 NM_CHANC_mainBCCH = 0x04, /* FCCH + SCH + BCCH + CCCH */ 00530 NM_CHANC_BCCHComb = 0x05, /* FCCH + SCH + BCCH + CCCH + SDCCH/4 + 00531 SACCH/C4 */ 00532 NM_CHANC_BCCH = 0x06, /* BCCH + CCCH */ 00533 NM_CHANC_BCCH_CBCH = 0x07, /* CHANC_BCCHComb + CBCH */ 00534 NM_CHANC_SDCCH_CBCH = 0x08, /* CHANC_SDCCH8 + CBCH */ 00535 /* ip.access */ 00536 NM_CHANC_IPAC_bPDCH = 0x0b, /* PBCCH + PCCCH + PDTCH/F + PACCH/F + 00537 PTCCH/F */ 00538 NM_CHANC_IPAC_cPDCH = 0x0c, /* PBCCH + PDTCH/F + PACCH/F + PTCCH/F */ 00539 NM_CHANC_IPAC_PDCH = 0x0d, /* PDTCH/F + PACCH/F + PTCCH/F */ 00540 NM_CHANC_IPAC_TCHFull_PDCH = 0x80, 00541 NM_CHANC_IPAC_TCHFull_TCHHalf = 0x81, 00542 }; 00543 00545 enum abis_nm_event_type { 00546 NM_EVT_COMM_FAIL = 0x00, 00547 NM_EVT_QOS_FAIL = 0x01, 00548 NM_EVT_PROC_FAIL = 0x02, 00549 NM_EVT_EQUIP_FAIL = 0x03, 00550 NM_EVT_ENV_FAIL = 0x04, 00551 }; 00552 00554 enum abis_nm_severity { 00555 NM_SEVER_CEASED = 0x00, 00556 NM_SEVER_CRITICAL = 0x01, 00557 NM_SEVER_MAJOR = 0x02, 00558 NM_SEVER_MINOR = 0x03, 00559 NM_SEVER_WARNING = 0x04, 00560 NM_SEVER_INDETERMINATE = 0x05, 00561 }; 00562 00564 enum abis_nm_pcause_type { 00565 NM_PCAUSE_T_X721 = 0x01, 00566 NM_PCAUSE_T_GSM = 0x02, 00567 NM_PCAUSE_T_MANUF = 0x03, 00568 }; 00569 00571 enum abis_nm_nack_cause { 00572 /* General Nack Causes */ 00573 NM_NACK_INCORR_STRUCT = 0x01, 00574 NM_NACK_MSGTYPE_INVAL = 0x02, 00575 NM_NACK_OBJCLASS_INVAL = 0x05, 00576 NM_NACK_OBJCLASS_NOTSUPP = 0x06, 00577 NM_NACK_BTSNR_UNKN = 0x07, 00578 NM_NACK_TRXNR_UNKN = 0x08, 00579 NM_NACK_OBJINST_UNKN = 0x09, 00580 NM_NACK_ATTRID_INVAL = 0x0c, 00581 NM_NACK_ATTRID_NOTSUPP = 0x0d, 00582 NM_NACK_PARAM_RANGE = 0x0e, 00583 NM_NACK_ATTRLIST_INCONSISTENT = 0x0f, 00584 NM_NACK_SPEC_IMPL_NOTSUPP = 0x10, 00585 NM_NACK_CANT_PERFORM = 0x11, 00586 /* Specific Nack Causes */ 00587 NM_NACK_RES_NOTIMPL = 0x19, 00588 NM_NACK_RES_NOTAVAIL = 0x1a, 00589 NM_NACK_FREQ_NOTAVAIL = 0x1b, 00590 NM_NACK_TEST_NOTSUPP = 0x1c, 00591 NM_NACK_CAPACITY_RESTR = 0x1d, 00592 NM_NACK_PHYSCFG_NOTPERFORM = 0x1e, 00593 NM_NACK_TEST_NOTINIT = 0x1f, 00594 NM_NACK_PHYSCFG_NOTRESTORE = 0x20, 00595 NM_NACK_TEST_NOSUCH = 0x21, 00596 NM_NACK_TEST_NOSTOP = 0x22, 00597 NM_NACK_MSGINCONSIST_PHYSCFG = 0x23, 00598 NM_NACK_FILE_INCOMPLETE = 0x25, 00599 NM_NACK_FILE_NOTAVAIL = 0x26, 00600 NM_NACK_FILE_NOTACTIVATE = 0x27, 00601 NM_NACK_REQ_NOT_GRANT = 0x28, 00602 NM_NACK_WAIT = 0x29, 00603 NM_NACK_NOTH_REPORT_EXIST = 0x2a, 00604 NM_NACK_MEAS_NOTSUPP = 0x2b, 00605 NM_NACK_MEAS_NOTSTART = 0x2c, 00606 }; 00607 00609 struct abis_nm_channel { 00610 uint8_t attrib; 00611 uint8_t bts_port; 00612 uint8_t timeslot; 00613 uint8_t subslot; 00614 } __attribute__ ((packed)); 00615 00617 enum abis_bs11_objtype { 00618 BS11_OBJ_ALCO = 0x01, 00619 BS11_OBJ_BBSIG = 0x02, /* obj_class: 0,1 */ 00620 BS11_OBJ_TRX1 = 0x03, /* only DEACTIVATE TRX1 */ 00621 BS11_OBJ_CCLK = 0x04, 00622 BS11_OBJ_GPSU = 0x06, 00623 BS11_OBJ_LI = 0x07, 00624 BS11_OBJ_PA = 0x09, /* obj_class: 0, 1*/ 00625 }; 00626 00628 enum abis_bs11_trx_power { 00629 BS11_TRX_POWER_GSM_2W = 0x06, 00630 BS11_TRX_POWER_GSM_250mW= 0x07, 00631 BS11_TRX_POWER_GSM_80mW = 0x08, 00632 BS11_TRX_POWER_GSM_30mW = 0x09, 00633 BS11_TRX_POWER_DCS_3W = 0x0a, 00634 BS11_TRX_POWER_DCS_1W6 = 0x0b, 00635 BS11_TRX_POWER_DCS_500mW= 0x0c, 00636 BS11_TRX_POWER_DCS_160mW= 0x0d, 00637 }; 00638 00640 enum abis_bs11_li_pll_mode { 00641 BS11_LI_PLL_LOCKED = 2, 00642 BS11_LI_PLL_STANDALONE = 3, 00643 }; 00644 00646 enum abis_bs11_line_cfg { 00647 BS11_LINE_CFG_STAR = 0x00, 00648 BS11_LINE_CFG_MULTIDROP = 0x01, 00649 BS11_LINE_CFG_LOOP = 0x02, 00650 }; 00651 00653 enum abis_bs11_phase { 00654 BS11_STATE_SOFTWARE_RQD = 0x01, 00655 BS11_STATE_LOAD_SMU_INTENDED = 0x11, 00656 BS11_STATE_LOAD_SMU_SAFETY = 0x21, 00657 BS11_STATE_LOAD_FAILED = 0x31, 00658 BS11_STATE_LOAD_DIAGNOSTIC = 0x41, 00659 BS11_STATE_WARM_UP = 0x51, 00660 BS11_STATE_WARM_UP_2 = 0x52, 00661 BS11_STATE_WAIT_MIN_CFG = 0x62, 00662 BS11_STATE_MAINTENANCE = 0x72, 00663 BS11_STATE_LOAD_MBCCU = 0x92, 00664 BS11_STATE_WAIT_MIN_CFG_2 = 0xA2, 00665 BS11_STATE_NORMAL = 0x03, 00666 BS11_STATE_ABIS_LOAD = 0x13, 00667 }; 00668 00670 enum abis_nm_ipacc_test_no { 00671 NM_IPACC_TESTNO_RLOOP_ANT = 0x01, 00672 NM_IPACC_TESTNO_RLOOP_XCVR = 0x02, 00673 NM_IPACC_TESTNO_FUNC_OBJ = 0x03, 00674 NM_IPACC_TESTNO_CHAN_USAGE = 0x40, 00675 NM_IPACC_TESTNO_BCCH_CHAN_USAGE = 0x41, 00676 NM_IPACC_TESTNO_FREQ_SYNC = 0x42, 00677 NM_IPACC_TESTNO_BCCH_INFO = 0x43, 00678 NM_IPACC_TESTNO_TX_BEACON = 0x44, 00679 NM_IPACC_TESTNO_SYSINFO_MONITOR = 0x45, 00680 NM_IPACC_TESTNO_BCCCH_MONITOR = 0x46, 00681 }; 00682 00684 enum abis_nm_ipacc_test_res { 00685 NM_IPACC_TESTRES_SUCCESS = 0, 00686 NM_IPACC_TESTRES_TIMEOUT = 1, 00687 NM_IPACC_TESTRES_NO_CHANS = 2, 00688 NM_IPACC_TESTRES_PARTIAL = 3, 00689 NM_IPACC_TESTRES_STOPPED = 4, 00690 }; 00691 00693 enum abis_nm_ipacc_testres_ie { 00694 NM_IPACC_TR_IE_FREQ_ERR_LIST = 3, 00695 NM_IPACC_TR_IE_CHAN_USAGE = 4, 00696 NM_IPACC_TR_IE_BCCH_INFO = 6, 00697 NM_IPACC_TR_IE_RESULT_DETAILS = 8, 00698 NM_IPACC_TR_IE_FREQ_ERR = 18, 00699 }; 00700 00702 enum ipac_eie { 00703 NM_IPAC_EIE_ARFCN_WHITE = 0x01, 00704 NM_IPAC_EIE_ARFCH_BLACK = 0x02, 00705 NM_IPAC_EIE_FREQ_ERR_LIST = 0x03, 00706 NM_IPAC_EIE_CHAN_USE_LIST = 0x04, 00707 NM_IPAC_EIE_BCCH_INFO_TYPE = 0x05, 00708 NM_IPAC_EIE_BCCH_INFO = 0x06, 00709 NM_IPAC_EIE_CONFIG = 0x07, 00710 NM_IPAC_EIE_RES_DETAILS = 0x08, 00711 NM_IPAC_EIE_RXLEV_THRESH = 0x09, 00712 NM_IPAC_EIE_FREQ_SYNC_OPTS = 0x0a, 00713 NM_IPAC_EIE_MAC_ADDR = 0x0b, 00714 NM_IPAC_EIE_HW_SW_COMPAT_NR = 0x0c, 00715 NM_IPAC_EIE_MANUF_SER_NR = 0x0d, 00716 NM_IPAC_EIE_OEM_ID = 0x0e, 00717 NM_IPAC_EIE_DATE_TIME_MANUF = 0x0f, 00718 NM_IPAC_EIE_DATE_TIME_CALIB = 0x10, 00719 NM_IPAC_EIE_BEACON_INFO = 0x11, 00720 NM_IPAC_EIE_FREQ_ERR = 0x12, 00721 /* FIXME */ 00722 NM_IPAC_EIE_FREQ_BANDS = 0x1c, 00723 NM_IPAC_EIE_MAX_TA = 0x1d, 00724 NM_IPAC_EIE_CIPH_ALGOS = 0x1e, 00725 NM_IPAC_EIE_CHAN_TYPES = 0x1f, 00726 NM_IPAC_EIE_CHAN_MODES = 0x20, 00727 NM_IPAC_EIE_GPRS_CODING = 0x21, 00728 NM_IPAC_EIE_RTP_FEATURES = 0x22, 00729 NM_IPAC_EIE_RSL_FEATURES = 0x23, 00730 NM_IPAC_EIE_BTS_HW_CLASS = 0x24, 00731 NM_IPAC_EIE_BTS_ID = 0x25, 00732 }; 00733 00735 enum ipac_bcch_info_type { 00736 IPAC_BINF_RXLEV = (1 << 8), 00737 IPAC_BINF_RXQUAL = (1 << 9), 00738 IPAC_BINF_FREQ_ERR_QUAL = (1 << 10), 00739 IPAC_BINF_FRAME_OFFSET = (1 << 11), 00740 IPAC_BINF_FRAME_NR_OFFSET = (1 << 12), 00741 IPAC_BINF_BSIC = (1 << 13), 00742 IPAC_BINF_CGI = (1 << 14), 00743 IPAC_BINF_NEIGH_BA_SI2 = (1 << 15), 00744 IPAC_BINF_NEIGH_BA_SI2bis = (1 << 0), 00745 IPAC_BINF_NEIGH_BA_SI2ter = (1 << 1), 00746 IPAC_BINF_CELL_ALLOC = (1 << 2), 00747 }; 00748