aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2009-06-10move openbsc into its own subdirectoryHarald Welte28-3893/+0
2009-06-09* add support for storing classmark1/2/3 per subscriberHarald Welte2-2/+42
* add support for parsing measurement results (both BTS and MS side)
2009-06-09don't prefix every line with timestamp, this saves some screen real estateHarald Welte1-0/+1
2009-06-08openbscdefines.h: Add header file to control visibility of symbolsHolger Freyther2-1/+36
Add the hooks/configure detection to compile everything with -fvisibility=hidden and then make certain symbols visible. This will be used to make parts of the API public. There are no users yet but we should have some soon.
2009-06-06lchan: Handle the abnormal case of channel getting closedHolger Freyther1-0/+11
The abnormal case is that lchan_free ist getting called due a RSL_MT_CHAN_REL_ACK in the RSL but the refcount of this channel is not zero. This means that some "logical operation" is still going on that needs to be cancelled. Instead of always queuing up all operations in the struct gsm_lchan use the signal framework to inform higher layers about this abnormal case. In gsm_04_08.c a signal handler is installed and in the abnormal case the location updating request operation is freed.
2009-06-06Revert "[db] Keep track of the current gsm_network"Holger Freyther1-1/+1
This was a stupid decision. We will have to assign the network at some other place. The problem will be a problem when we have two gsm_networks in one process and the same subscriber is traveling in both networks.
2009-06-05BS11: add nm_state for EnveBTES, PA and BBSIG physical objectsHarald Welte1-1/+16
2009-06-04[subscr] Remove the struct gsm_bts pointer from subscriberHolger Freyther1-1/+0
The pointer was initially added to support to open a lchan by using the gsm_subscriber structure. We would have restored the struct gsm_bts from the db when loading the subscriber. Instead we will dynamically resolve the gsm_bts and might end up paging multiple bts in the same (stored/old) location area until it answers.
2009-06-04gsm_subscriber.h: Remove trailing whitespace...Holger Freyther1-1/+1
Cosmetic changed
2009-06-02[subscriber] Change id to long long unsigned int (Andreas Eversberg)Holger Freyther1-1/+1
Changes the subscriber id type defintion from "long unsigned int" to "long long unsigned int". Without, printf with '%llu' caused a crash.
2009-06-02[lchan] Log increase/decrease of channel use count (Andreas Eversberg)Holger Freyther1-1/+9
This is part of patch 22 and will log changes in the usecount of the lchan.
2009-05-28* give Siemens ObjClass reasonable names rather than A3/A5/A6Harald Welte2-10/+26
* add nm_state objects for RACK and CCLK * add obj_class human-readable printing for all vendor obj_classes * add human-readable printing of administrative state * add enum for cell_alloc numbers
2009-05-23show and edit subscribers from the vty interfaceHarald Welte1-1/+1
2009-05-23Add user-configurable BSIC settingHarald Welte1-0/+3
2009-05-23* replace some more hex bytes in init msgs by #definesHarald Welte1-0/+4
* when using patch_tables(), use the ARFCN of the BTS, not the cmdline argument
2009-05-23With this patch, the TRAU muxing code supports not just bridging only. Harald Welte2-2/+10
A new function trau_recv_lchan() is used to link a channel to a call reference of a transaction. (Transactions are used in later patches.) TRAU frames will then be forwarded to the application with the given call reference (in later patches). Also the application can send TRAU frames by using trau_send_lchan(). A new list is introduced in trau_mux.c. (upqueue_entry) All subslots that must be sent to application are listed here. Received TRAU frames are written in the upqueue of application interface, if a call reference is found in the upqueue-list. If an entry is found the ss_entry list, the TRAU frames are bridged as before. The frames have a message type (msg_type), a call reference (callref) and a trau frame (data). The length of trau frame is defined by the content of the c-bits inside the frame. There is no support for ip.access yet, as they don't use the traditional TRAU frame format. Harald must add this in order to use application interface with ip-access. The bridging with ip-access works as before. (Andreas Eversberg)
2009-05-23add new function gsm_bts_by_lac() to search for BTS based on location areaHarald Welte1-0/+2
2009-05-23A new debug flag is introduced: "DMNCC". MNCC is the Mobile Network CallHarald Welte1-1/+2
Control. This is required for later patches, that extract the call control from gsm_04_08.c. (Andreas Eversberg)
2009-05-23Some messages have one or two length-value information elements. The isHarald Welte1-1/+28
no IE type included in the message. These information elements are mandatory, so their actual IE type is known. The improved parse_tlv() function allows to parse zero, one, or two length-value elements. (Andreas Eversberg)
2009-05-23To slow down transmission of many ABIS frames at a time, a delay timerHarald Welte1-0/+3
is used for the E1's time slot. This timer replaces the "usleep()" function, so the process will not block the execution of libbsc. The timer is started after a frame is transmitted. If another frame is in the transmit queue, the frame will only be queued until the timer times out. If the timer is not running or times out, the frame is transmitted and the timer is restarted. The problem with partly provisioned TRX (locks show on LMT) is solved. The adjustment for the inter frame delay of 50 miliseconds is for further study. (Andreas Eversberg)
2009-05-23fix some more compiler warningsHarald Welte1-0/+2
2009-05-23An application that has own events and file descriptors, must pollHarald Welte1-1/+1
select function ob libbsc. A "polling" flag is used to enable polling. In this case select() will not sleep until file descriptor events occurr or nearest timer expires. Also a return value will indicate if there was an event that has been handled. If there was an event, the application decides to poll again and don't wait. In case for bsc_hack, the polling flag is not set. select will sleep as usual. (Andreas Eversberg)
2009-05-23Add missing "extern" prefix (Andreas Eversberg)Harald Welte1-2/+2
2009-05-23Change the variable "new" to "_new" in order to include it from C++ code.Harald Welte1-13/+13
The define "container_of" will cast pointer before assigning. Compilers with stricter options require this. (Andreas Eversberg)
2009-05-23* rename the timer functions to avoid name collisions with libmisdn.Harald Welte2-8/+8
* the return value of bsc_update_timers() is required for applications to find out if a timer was fired (Andreas Eversberg)
2009-05-21Fix compilation issues on OS X - mainly #include file changes (Lars Immisch)Harald Welte1-1/+1
2009-05-17dump CCLK accuracy/type as part of bs11_config queryHarald Welte1-0/+2
2009-05-01add verbose reporting of RR STATUS causeHarald Welte1-1/+1
2009-05-01abis_nm: print some information about failure event report type / severityHarald Welte1-0/+26
2009-05-01send a signal for every software activation or failure event reportHarald Welte1-0/+7
2009-05-01* Add support for multiple ip.access nanoBTS at one BSCHarald Welte3-2/+8
* keep track of site_id/bts_id in struct gsm_bts * dynamically match incoming OML/RSL over TCP connections by BTS Unit ID * introduce new debug category DINP (separate from DMI for hexdumps) * remove ia_config() as it is no longer needed * * ensure that signalling links / E1 line information is correctly printed * when bootstrapping RSL or OML, tell us for which BTS it is being doen * separate bootstrap_bts() out from bootstrap_network() * statically configure two ip.access BTS, one with unit id's 1800/0/0 and 1801/0/0
2009-04-30add new 'ipaccess-config' program to set Unit ID and primary OML NVRAM ↵Harald Welte2-1/+3
parameters of ip.access BTS
2009-04-30functionality to set nanoBTS NVRAM attributes and to restart BTSHarald Welte1-3/+17
2009-04-29Add some more ip.access specific OML attributes/messages. In this case it is Harald Welte1-0/+3
about configuring the primary OML link IP address in the NVRAM of the device.
2009-04-28Add bs11_config commands to set the PLL mode from E1_LOCKED to STANDALONEHarald Welte1-0/+7
and vice-versa. This has not yet been tested yet.
2009-04-22[misdn] Add option to automatically release layer2 on exitHolger Freyther2-2/+2
Patch by Andreas Eversberg to automatically release layer2 on exit of the application. Made the naming of the variables consistent (only release_l2 and not both release_l2 and l2_release).
2009-04-22[bsc_hack] Allow to select the cardnr defaulting to number 0Holger Freyther1-1/+1
Patch from Andreas Eversberg to allow to select the ISDN card number. The default remains the same.
2009-04-19[bsc_hack] House keeping, remove dead codeHolger Freyther1-3/+0
This callback is not used from within the paging layer. We do have a different set of callbacks in place. Remove it here.
2009-04-19[db] Keep track of the current gsm_networkHolger Freyther1-1/+1
2009-04-12[subscriber] Introduce subscr_put_channelHolger Freyther1-0/+1
Introduce subscr_put_channel to release a channel and to allow gsm_subscriber.c to hand this channel to any suitable pending requests.
2009-04-12[subscriber] Update the current_bts field on imsi detach and LOC acceptHolger Freyther1-1/+7
When sending LOCATION UPDATING REQUEST Accept or when getting a IMSI Detach update the gsm_bts of the gsm_subscriber.
2009-03-31[e1] Enable dumping of LAPD frames againHolger Freyther2-1/+3
Kill mi_set_pcap_fd from the header, introduce e1_set_pcap_fd and call it from bsc_hack.c. Hook into abis_rsl_sendmsg and _abis_nm_sendmsg for sending and e1inp_rx_ts for reading. It compiles and should not cause a regression.
2009-03-30Store incoming SMS into SQL databaseHarald Welte4-8/+110
* gsm_util now uses caller-allocated data (rather than callee-allocated) * correctly parse destination address * parse (but not transcode) non-default encodings of SMS * reject SMS to unknown destination number * resolve target subscriber id and store incoming SMS (without header) in 'sms' table What we're now missing is the sending part, i.e. a regular task iterating over all pending SMS and trying to deliver them. Also, check for pending SMS once we get a LOCATION UPDATE.
2009-03-28Fix 'delete-trx1' command of bs11_config (we can now delete TRX1)Harald Welte1-1/+2
2009-03-10* make sure we can obtain signalling type and timslot type namesHarald Welte1-0/+2
* make sure every e1 timeslot has a valid backpointer to its line
2009-03-10export nm_*_name() functions to get operational and availability state to ↵Harald Welte1-0/+2
strings
2009-03-10export list of e1 drivers and e1 linesHarald Welte1-0/+2
2009-03-10make telnet interface use VTY codeHarald Welte1-0/+4
2009-03-10move is_ipaccess_bts() and parse_btstype9) to gsm_data.cHarald Welte1-0/+15
2009-03-10add USSD protocol discriminatorHarald Welte1-0/+1