aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2010-05-04GPRS: Introduce a GPRS Gb ProxyHarald Welte1-2/+7
The ida of the Gb proxy is to aggregate Gb links with a number of BSS and then present all the BSSGP-VC's together inside one NS-VC to the actual SGSN. The code is not yet expected to be complete.
2010-05-04Create new 'gprs-sgsn' branch on top of 'gprs-conf'Harald Welte1-2/+5
This branch contains the partial SGSN/GGSN implementation that was originally developed as part of the gprs branch.
2010-05-01Makefile cleanupHarald Welte1-4/+5
move vty_interface_cmds.c and telnet_interface.c into libvty rather than explicitly linking the C files for every program
2010-04-07[mgcp] Add the logging commands for the MGCP command.Holger Hans Peter Freyther1-1/+1
2010-04-06[vty] Move the VTY logging commands to a new fileHolger Hans Peter Freyther1-1/+1
Currently vty_interface.c is used for the BSC config, in case of the MGCP Gateway or the BSC Nat process these logging commands are not available. Move the commands to a new vty_interface_cmds.c file to allow to share basic commands across different programs.
2010-03-25bsc: Start creating 08.08 like APIHolger Hans Peter Freyther1-1/+1
The 08.08 API will interface with the internal BSC code and it is the boundary between MSC and BSC. So nothing that calls the BSC functionality should know about lchan or such.
2010-03-24Move the version/copyright string to a separate fileHolger Hans Peter Freyther1-1/+1
It didn't really belong into the bsc_init.c... now we could even easily autogenerate this file.
2010-03-24Include bscconfig.h without ../ for the srcdir != build dir caseHolger Hans Peter Freyther1-1/+1
2010-02-26Merge remote branch 'origin/master' into on-waves/mgcpHolger Hans Peter Freyther1-14/+17
Conflicts: openbsc/include/openbsc/Makefile.am openbsc/src/Makefile.am
2010-02-22[mgcp] Move the network bits to a separate file...Holger Hans Peter Freyther1-1/+1
This change separates the protocol from the actual network code (bind, forward data). This will allow to more easily hook up the RTP code from OpenBSC and to not use local sockets at all.
2010-02-22[mgcp] Move away from global variables and split out VTY codeHolger Hans Peter Freyther1-1/+2
In separation of using the MGCP parsing in another context, refactor the code to operate on a struct mgcp_config, split out the vty code from the mgcp_protocol.c, and move the callbacks into the mgcp code. There should be no functional changes.
2010-02-20finish openbsc / libosmocore separationHarald Welte1-7/+5
* use pkg-config from openbsc to find header and library * move sms and timer tests to libosmocore itself * ensure "make distcheck" works on both packages
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-18/+18
This library is intended to collect all generic/common funcitionality of all Osmocom.org projects, including OpenBSC but also OsmocomBB The library currently includes the following modules: bitvec, comp128, gsm_utils, msgb, select, signal, statistics, talloc, timer, tlv_parse, linuxlist msgb allocation error debugging had to be temporarily disabled as it depends on 'debug.c' functionality which at the moment remains in OpenBSC
2010-02-12Move debug.c into the liblaf0rge1.a tooHolger Hans Peter Freyther1-2/+2
The msgb class is using the debug framework and needs to be able to output data. We would need a way to add custom areas or to have the struct of areas outside of the default debug.c... but this can happen at a later point.
2010-02-12[sccp] Install the static sccp library and the headersHolger Hans Peter Freyther1-2/+2
2010-02-09liblaf0rge: Make the other targets depend on the liblaforge...Holger Hans Peter Freyther1-5/+5
Everything is linking fine here.
2010-02-09Create a liblaforge with OpenBSC utility functions to be used for other projectsHolger Hans Peter Freyther1-0/+5
2010-02-03[mgcp] Prepare to do MGCP over TCP and inside the bsc_msc_ip processHolger Hans Peter Freyther1-1/+1
* Separate main process and protocol handling into two parts. * Change the protocol handling to work with UDP and TCP connection * This will allow to speak MGCP over TCP between the BSC MUX and the real BSC.
2010-02-02[mgcp] Rename the source to mgcp_main.cHolger Hans Peter Freyther1-1/+1
2010-02-01[mgcp] Move the MGCP procoess into a sub directoryHolger Hans Peter Freyther1-1/+1
2010-01-14Register GSM_BTS_TYPE_UNKNOWN in bsc_hack.cDaniel Willmann1-1/+2
The way the VTY configuration sytem works is that it first registers a BTS of type GSM_BTS_TYPE_UNKNOWN and then sets the type correctly (after encountering the type statement). This makes sure that registering a BTS of type UNKNOWN succeeds.
2010-01-10[OML] parse attributes depending on BTS typeHarald Welte1-2/+3
Some NM attributes are defined differently depending on the BTS type. Having one big nm_att_tlvdef[] table for all BTS types is no longer sufficient. This patch * introduces 'struct gsm_bts_model' to describe a BTS model * adds definitions of gsm_bts_model for BS-11 and nanoBTS * changes the abis_nm_tlv_parse() function: include a bts pointer
2010-01-03encryption: Import a GPL comp128 implementationSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-30[ipaccess] Move firmware analysis into the ipaccess-config utilityHolger Hans Peter Freyther1-4/+2
* This turns ipaccess-firmware.c into a plain helper, fix the ipaccess name...
2009-12-30[ipaccess] Start using talloc in the firmware codeHolger Hans Peter Freyther1-1/+1
* We are not leaking anything... *yeah*, talloc rocks
2009-12-27[ipaccess] Call it ipaccess-firmwareHolger Hans Peter Freyther1-1/+1
2009-12-24[ipaccess] Move ipaccess utilities into a dedicated subdirectoryHolger Hans Peter Freyther1-4/+4
2009-12-23Add ipaccess-proxy, a proxy for ip.access A-bis over IPHarald Welte1-1/+3
This proxy allows us to restart OpenBSC while the BTS's are kept running with their CCCH/BCCH alive. This is very useful to make sure the phones don't roam to other networks while restarting OpenBSC. The proxy also intrduces UDP sockets for injecting UDP packets into the A-bis data stream.
2009-12-23[ipaccess] Start adding a tool that analyzes the ipaccess headerHolger Hans Peter Freyther1-1/+3
So far I have not much idea about the format. It is starting with the magic byte and the header is spanning until the next occurence of the " SDP" marker.
2009-12-22statistics: Introduce 'struct counter' instead of using unsigned longHarald Welte1-1/+1
This has the advantage that counters can be added all over the code very easily, while having only one routine that stores all of the current counter values to the database. The counters are synced every 60 seconds, providing relatively fine grained statistics about the network usage as time passes by.
2009-12-22[misc] Move handover into libmsc.aHolger Hans Peter Freyther1-3/+4
Handover is a high level decision, it can span multiple BSCs and belongs mostly into the MSC domain.
2009-12-22[misc] Move rtp_proxy.c into the libbsc.cHolger Hans Peter Freyther1-2/+2
For the time being RSL has to know about Layer4 and upwards and is using the RTP socket class....
2009-12-21meas_rep: utility function for processing of measurement reportsHarald Welte1-1/+1
This provides two functions: get_meas_rep_avg() to obtain the sliding window average of one particular field, and meas_rep_n_out_of_m_be() to check if at least N out of M measurments are >= BE.
2009-12-17[handover] first functional handover implementationHarald Welte1-1/+2
With this commit, we can successfully hand over a channel from one cell to another cell. We implement asynchronous intra-BSC (but inter-BTS) handover. Changes: * introduce new DHO log category * extend rsl_chan_activate_lchan() with argument for HO reference * introduce actual minimal handover decision making in handover_decision.c * various fixes to bsc_handover_start() in handover_logic.c
2009-12-01Replace template-based SYSTEM INFORMATION with real implementationHarald Welte1-1/+1
Before this commit, OpenBSC used templates for the SYSTEM INFO 1, 2, 3, 4, 5 and 6 messages. Those templates were patched in various places to reflect the network config like ARFCN. Now, we actually generate those SI messages ourselves, using values from the configuration file, and even calculating neighbor cell lists. All bts'es that you have configured in OpenBSC will end up in the neighbor cell list - which should be more than sufficient for the current small-single-site networks.
2009-11-29[handover] Implement handover control logicHarald Welte1-1/+1
Code to implement handover control logic. A yet-to-be-implemented handover algorithm will call bsc_handover_start(old_lchan, new_bts) to start the handover process.
2009-11-20[misc] Fix the make distcheckHolger Hans Peter Freyther1-1/+1
Mention the two new header files, do not list isdnsync twice
2009-11-20[mgcp] Add telnet interface for mgcp.Holger Hans Peter Freyther1-1/+1
2009-11-20[mgcp] Add a simple mgcp gateway used for the BSCHolger Hans Peter Freyther1-1/+5
The python script is a simple call-agent driving the client. Currently it is sending a AuditEndpoint message and is printing the result. The bsc_mgcp.c is a standalone process that will implement a MGCP Gateway for the MSC. On call handling the Call-Agent will ask the Gateway to "CreateConnection" and then this gateway needs to communicate with OpenBSC. Currently CreateConnection,ModifiyConnection,DeleteConnection and Endpoint auditing is implemented. [mgcp] Send RSIP on start and on first receive of any message Ignore the first request and send a RSIP. We do that because we might tunnel UDP through some other things and have no direct way to connect to the call-agent. Also the transaction is not checked and we ignore the response from the call-agent, actually we print the '200 ' or any other value as unhandled... [mgcp] Print the MGCP command next to the response code This allows to see which commands were sent by the server mgcp: Terminate it with a new line [mgcp] Make number of endpoints static... For now this is fixed to the number of endpoints as of the GSM specification... [mgcp] The endpoint names seem to be base 16... use strtoul to parse Use strtoul to parse the base 16 number from the mgw string. [mgcp] Log the endpoints as hex numbers... [mgcp] Only send the RSIP on the first incoming message.. Remove call_agent option (also remove the number from the getopt call). [mgcp] Start couting at 1 for the mgcp [mgcp] Slight attempt to improve the grammar of the strings [mgcp] Share validation routines between DLCX and MDCX [mgcp] Remove help for dead config options [mgcp] Specify a different IN addr in the SDP records In case of NAT traversal be able to listen on a given interface (like 127.0.0.1) but claim to receive data at the beginning of the tunnel. [mgcp] Fix the static copy of the SDP file WIP verify out factoring broken.. [mgcp] Introduce VTY to the mgcp for config file parsing... Parse the MGCP config file via the VTY framework. [mgcp] Handle SDP parameters through VTY.. Currently the payload type, name and rate can be specified in the config file. [mgcp] Add an option to bind all rtp ports early This can be useful for testing and in deployment to make sure no runtime resource limit can be hit. [mgcp] Add some API doc comment [mgcp] Convert the packets of the example server to ascii This will allow to easily patch the call id... to run the server in a loop and make it work with the mediagateway [mgcp] Assign CI_UNUSED... to be more obvious... [mgcp] Use DEBUG and not DEBUGPC and specially not printf Improve the logging a bit in the mgcp [mgcp] Change the fake server to change the call id This assume the call-agent will just increment the id as well.... this is true for our implementation [mgcp] Generate the transaction id dynamically.. This way wireshark will be more happy about it... [mgcp] Recognize responses from the network.. This is just recognizing the response code and then is doing nothing with it. Also change the script to generate response messages... [mgcp] Improve debug messages for CRCX/MDCX.. Log on which ports the media gateway is listening and where the other (server) gateway is located
2009-11-20[sccp] Implement parts of ITU SCCP for use in the A-InterfaceHolger Hans Peter Freyther1-1/+3
include/sccp/sccp_types.h contain Q.713 and GSM definitions include/sccp/sccp.h is the application interface resembling the esentials of the UNIX socket interface. src/sccp.c is the actual implementation of SCCP featuring connection and UDT1 support. tests/sccp/sccp.c is testing connection creation and formating of the SCCP messages used by the A-interface. And it contains a simple fuzzing test to test the robustnes of the implementation.
2009-11-14Add "silent call" feature to OpenBSCHarald Welte1-1/+1
This allows the administrator to use the vty interface to issue a silent call to a given subscriber by using "subscriber extension XXXX silent call start" and stopping that silent call with "subscriber extension XXXX silent call stop"
2009-10-26Add USDD code from Mike HabenHarald Welte1-1/+1
This is the initial checkin of the USSD code from Mike Haben. I didn't put it in the main branch as I think it still needs some cleanup.
2009-08-17[bsc_init] Create a bsc_init.c that can be used for setting up hings.Holger Hans Peter Freyther1-1/+1
Share the initialization and bootstraping of the network by moving the code to a new file and making boostrap_network and shutdown_net external. Cleanup the header list after the move and remove trailing whitespace.
2009-08-17[vty] Move layer3+ functionality to vty_interface_layer3.cHolger Hans Peter Freyther1-1/+1
Move everything that is policy, requires access to a DB or is generally in the domain of the MSC to vty_interface_layer3.c.
2009-08-17[bsc] Move the GSM 04.08 helper functions to gsm_04_08_utils.cHolger Hans Peter Freyther1-4/+4
The existing gsm_04_08.c implementation is mixing BSC and MSC behavior. Move some simple parsing and generation functions over to gsm_04_08_utils.c to allow a different MSC to define the policy.
2009-08-17[msc] Move gsm_04_08.c, mncc and various others to libmscHolger Hans Peter Freyther1-7/+9
Currently we have circular dependencies from libbsc to libmsc and this requires to play some linker tricks. The problem will be solved in two ways, first we will get rid of the circular dependencies and second we can start using --start-group and --end-group of the linker to play the tricks for us.
2009-08-17[subscr] Split gsm_subscriber.c in BSC and MSC partHolger Hans Peter Freyther1-1/+1
For the BSC part we still assign a gsm_subscriber to lchan but it might only contain the TMSI of this subscriber. For the MSC part we will need the HLR/VLR feature of the gsm_subscriber, specially the lookup's by number... So if libbsc.a/libmsc.a are compiled in one app and used the subscribers will be shared, and if only libbsc.a gets used we will have more empty gsm_subscriber.c..
2009-08-17[msc] Introduce a libmsc.a libraryHolger Hans Peter Freyther1-5/+7
Attempt to split up bsc/msc functionality according to the specs. The libbsc.a will be responsible for communicating with the BTS, configuring it, paging, channel allocation and passing layer3 messages in both ways. libmsc.a will implement the policy and such.
2009-08-16trigger RRLP position requests after paging succeeded and after subscriber ↵Harald Welte (local)1-1/+1
attach
2009-08-15move talloc context creation out of on_dso / constructorsHarald Welte (local)1-1/+1
the various constructors get called in a non-obvious, linker determined order, which makes certain objects disappear from the talloc report. This change moves the talloc context creation into a new talloc_ctx.c file