path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2009-06-10move openbsc into its own subdirectoryHarald Welte37-20105/+0
2009-06-09* add support for storing classmark1/2/3 per subscriberHarald Welte2-7/+149
* 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 Welte2-7/+22
2009-06-09fix typo CHANNL->CHANNELHarald Welte1-1/+1
2009-06-09some more commentsHarald Welte1-2/+3
2009-06-09db.c: tmsi may be empty so put it into '' to make that obvoius (Andreas ↵Holger Freyther1-3/+3
Eversberg) during attachment, the "tmsi" field of the subscriber may be an empty string, so the string must be quoted in the sql request, or the sql request fails due to incorrect syntax. also i added "extension" field to debug output.
2009-06-09gsm_04_08.c: Kill duplication pointed out by Andreas EversbergHolger Freyther1-22/+18
Introduce the internal gsm0408_authorize that will determine if we allow the user into our network. If allowed a new tmsi will be allocated, the subscr_update will be called, the loc_operation released, and the accept sent. Otherwise just return 0. The code was copied from mm_rx_id_resp.
2009-06-09gsm_04_08.c: Call subscr_update everytime we let someone in (Andreas Eversberg)Holger Freyther1-0/+1
If location update is requested, but subscriber is not yet authorised within mm_rx_loc_upd_req() function, the subscr_update() is not called, because subscriber information is not complete. During mm_rx_id_resp() the subscriber informations is may be complete, so authorize subscriber succeeds and database must be updated.
2009-06-09bsc_hack.c: Fix the -l db option (Andreas Eversberg)Holger Freyther1-1/+1
Add ':' to indicate an argument will follow -l.
2009-06-08Add the isdnsync program which enable layer1 and layer2 on a cardHolger Freyther2-1/+195
this small tool is used to enable layer 1 and 2 on a given isdn card. the card can be used to retrieve clock signal from a network. layer 2 (PTP) is required to keep layer 1 without interruption. this tool works on e1 and s0 cards. to use the clock signal with other cards, interconnection with a clock-slave-card is required. (Andreas Eversberg)
2009-06-06gsm_04_08.c: Some spoofing protection against two location updating requestsHolger Freyther1-0/+11
Do not allow two location updating requests on the same lchan. Such an event is certainly spoofed and can confuse the internal logic of the application. Prevent that.
2009-06-06lchan: Handle the abnormal case of channel getting closedHolger Freyther2-1/+28
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 Freyther2-4/+2
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-05fix CONN FAIL and IPAC_DISCONNECT_IND log printingHarald Welte1-3/+2
2009-06-05print reject cause of MM STATUS messageHarald Welte1-1/+10
2009-06-05missing newline in log message about measurement resultHarald Welte1-0/+2
2009-06-05fix printing of measurement resultsHarald Welte1-1/+0
2009-06-05BS11: add nm_state for EnveBTES, PA and BBSIG physical objectsHarald Welte1-0/+21
2009-06-04[subscr] Remove the struct gsm_bts pointer from subscriberHolger Freyther1-6/+2
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-04[debug] Move subscr_get_by_tmsi below the debug statement (Andreas Eversberg)Holger Freyther1-1/+2
subscr_get_by_tmsi might log as well and then the order of debugging it not as clear as it could be.
2009-06-02[misc] Search for the crypt symbol to conditionally enable crypt in VTYHolger Freyther1-2/+2
It will define -DVTY_CRYPT_PW= if crypt is found. If -lcrypt is needed, $(LIB_CRYPT) will be -lcrypt. Compiles on OS X and Linux and reenables crypt. Patch by: Lars Immisch
2009-06-02[l2] Do not always release the layer2 when closing the socket (Andreas ↵Holger Freyther1-3/+2
Eversberg) Tells mISDN not to release layer 2 on closing socket, when not requested. If mISDN was told to release layer 2 once, it will continue to release layer 2 on every shutdown of OpenBSC.
2009-06-02[e1] Correctly initialize the e1link (Andreas Eversberg)Holger Freyther1-8/+24
During bootstrap of BS11, the e1links are initialized. This must also be done when BS11 is already bootstrapped (when restarting OpenBSC). It is required to correctly multiplex the audio traffic between channels. Without it, all time slots refer to card 0, slot 0, subslot 0, which causes crashes when handling TRAU frames..
2009-06-02[debug] Change DEBUGPC statements to contain \n (Andreas Eversberg)Holger Freyther2-12/+14
Some debug outputs now correctly use end-of-line characters.
2009-06-02[rsl] Change logging of handling reason 0x18 in rsl_rx_conn_fail (Andreas ↵Holger Freyther1-3/+5
Eversberg) Release the channel when it is not used, otherwise claim it is still in use...
2009-06-02[subcriber] Fix the subscriber use counting in gsm_04_08.c (Andreas Eversberg)Holger Freyther1-2/+8
This patch will fix subscriber usage countinig. It may happen, that the subscriber count will not be 0 after releasing of a call. (This problem is solved with the application patch (27), which will replace static call transaction by a dynamic transaction list, and use subscriber for each transaction created.)
2009-06-02[subscriber] Log changes in the usage of a subscriber (Andreas Eversberg)Holger Freyther1-1/+7
Log changes of the use count of a gsm_subscriber.
2009-06-02[subscriber] Update the lac entry in subscr_update (by Andreas Eversberg)Holger Freyther1-1/+7
This is coming from patch 16 and is one of the two changes. When invoking subscr_update update the lac entry as well.
2009-06-02debug: Fix the definition on DMM (Andreas Eversberg)Holger Freyther1-1/+1
Now MM can be specified on the command line with the debug option.
2009-05-28* give Siemens ObjClass reasonable names rather than A3/A5/A6Harald Welte3-17/+70
* 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-23some more comments on the abis attributesHarald Welte1-3/+5
2009-05-23make sure even our predefined structures use HARDCODED_BSIC as initial valueHarald Welte1-2/+2
2009-05-23show and edit subscribers from the vty interfaceHarald Welte2-0/+122
2009-05-23mark two functions as static, fix typo in vty messageHarald Welte1-3/+3
2009-05-23Add user-configurable BSIC settingHarald Welte3-2/+26
2009-05-23* replace some more hex bytes in init msgs by #definesHarald Welte1-10/+14
* 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 Welte5-14/+106
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/+27
2009-05-23RSL should not be called RSSL in the debug definition (Andreas Eversberg)Harald Welte1-1/+1
2009-05-23A new debug flag is introduced: "DMNCC". MNCC is the Mobile Network CallHarald Welte2-0/+5
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 Welte4-6/+38
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-23add FIXME comment about the fact that we're paging in the wrong BTSHarald Welte1-0/+3
2009-05-23To slow down transmission of many ABIS frames at a time, a delay timerHarald Welte2-24/+42
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-1/+3
2009-05-23fix two compiler warningsHarald Welte1-1/+2
2009-05-23An application that has own events and file descriptors, must pollHarald Welte5-12/+16
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-23Correct handlong of data link status change (Andreas Eversberg)Harald Welte1-2/+14
2009-05-23* rename the timer functions to avoid name collisions with libmisdn.Harald Welte7-25/+29
* the return value of bsc_update_timers() is required for applications to find out if a timer was fired (Andreas Eversberg)
2009-05-21vty: disable password encryption, remove dependency to lcryptHarald Welte3-2/+16
2009-05-21Fix compilation issues on OS X - mainly #include file changes (Lars Immisch)Harald Welte4-4/+4