aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2009-08-06use talloc_free() rather than free()Harald Welte1-2/+2
Fix two bugs in OML software download code where we allocate data structures using talloc, but free() them using the system memory allocator. Spotted by dexter.
2009-08-04e1_config now supports up to three BTSHarald Welte1-22/+39
Each BTS gets its own E1 line data structure. They are meant to bind each to their own (virtual?) mISDN device. BTS0 uses TS01 (siganlling) and TS02/03 (TRX0), TS04/05(TRX1) BTS1 uses TS11 (siganlling) and TS12/13 (TRX0), TS14/15(TRX1) BTS2 uses TS21 (siganlling) and TS22/23 (TRX0), TS24/25(TRX1)
2009-08-04prepare mISDN driver for multiple lines/instancesHarald Welte1-12/+6
In order to use multiple mISDN cards, we need to: 1) move driver initialization out of line initialization 2) make sure we allow partial (virtual) E1 cards with < 30 B-channels
2009-08-04fix \n at end of line of certain RSL debug messagesHarald Welte1-7/+5
2009-08-04alter initial MS RF power to 100mWHarald Welte1-1/+2
2009-08-04parse and decode Siemens specific T_MSRFPCI messageHarald Welte1-0/+1
2009-08-04fix initialization of TRX1 / TS0Harald Welte1-5/+5
also fix a minor error when printing BTS/TRX number
2009-07-29make channel allocator policy multi-TRX awareHarald Welte1-14/+28
For now, we assume that TRX1 (and higher) all have a TCH/F configuration on all of their timeslots
2009-07-29complete TRX1 support for BS11Harald Welte2-34/+118
* remove old HAVE_TRX1 definition, replace it with '-1' commandline argument * make sure we actually configure the OML TRX attributes with a different ARFCN than TRX0 * make sure we configure timeslot 0 of TRX1 also in TCH/F mode This code is untested, but if you have a dual-trx BS-11, and the second TRX is activated, you should be able to run bsc_hack with the -1 option to enable and use the second trx. It works like this: * TRX1 shares E1 timeslot 0 for signalling * TRX1 RSL link uses TEI2 (TRX0 uses 1) * TRX1 on ARFCN+2, i.e. if you have TRX0 on 122, TRX1 will be 124
2009-07-29generalize channel activation / channel mode modifyHarald Welte2-75/+68
* we only need one piece of code to calculate rsl_ie_chan_mode from our run-time data structures (gsm_lchan) * add some more channel modes for TCH/H and data * use enum's to make the compiler warn us about unhandled enum values * make sure the caller determines the (signalling,speech,data) mode
2009-07-29actually derive the ip.access speech mode from tch_modeHarald Welte1-18/+16
also make sure we always print the speech_mode on IPAC_BIND and IPAC_CONNECT.
2009-07-29postpone IPAC_BIND until we do a LCHAN_MODIFYHarald Welte1-7/+18
only after the LCHAN_MODIFY we know the final mode of the channel, so we have to postpone our IPAC_BIND until then to make sure we set the correct speech codec.
2009-07-29add support for more RSL channel modesHarald Welte1-1/+20
2009-07-29Merge commit 'origin/master'Harald Welte2-1/+2
2009-07-29fix typo when using sizeof() to determine the size of the RTCP headerHarald Welte1-1/+1
This was spotted by zecke, thanks.
2009-07-29rtp_proxy.c: Spelling fix, kook -> lookHolger Hans Peter Freyther1-1/+1
2009-07-29vty/command.c: Fix compile warning by including gsm_subsriber.hHolger Hans Peter Freyther1-0/+1
2009-07-28add RTP proxy mode for ip.accessHarald Welte4-36/+293
Up until now, we only supported direct RTP streams between ip.access BTS. With this commit, the user can specify '-P' to the command line to enable a RTP/RTCP proxy inside OpenBSC. The nanoBTS will then send all their voice data to OpenBSC, which will relay it to the respective destination BTS (which can be the same BTS). The default behaviour remains unchanged. Without '-P' on the command line, RTP/RTCP is exchanged directly.
2009-07-28improve ip-access BIND/CONNECT RTP supportHarald Welte1-7/+51
* explicitly set the "ip speech mode" IE during BIND and CONNECT messages, depending on the speech codec used by the voice call * more verbose debug messages regarding IPAC_BIND and IPAC_CONNECT * do not always blindly specify RTP payload type, but use the value returned by BIND_ACK, _if_ it is present.
2009-07-28send a [new] signal in case of IPAC_DISCONNECT_INDicationHarald Welte1-0/+2
2009-07-28implement human-readable RSL cause printingHarald Welte1-18/+64
2009-07-28enable select.c handler to support removal of two consecutive fd'sHarald Welte1-0/+9
2009-07-28Merge branch 'master' into rtp_proxyHarald Welte11-53/+64
2009-07-28move allocation of talloc contexts into link-time constructorHarald Welte11-53/+64
This is much more optimal than checking if the context exists every time we allocate the respective object.
2009-07-28add new rtp_proxy code, but not use it yetHarald Welte1-0/+282
The rtp_proxy.[ch] code is intended to be used as a transparent RTP/RTCP proxy, relaying the media streams from one ip.access BTS to another. In an 'ideal' network, this is obviously not needed, since the BTS's can send those streams directly between each other. However, for debugging, 'lawful interception', transcoding or interfacing a TRAU/E1 based BTS, we actually need to process those RTP streams ourselves.
2009-07-23move allocating new transaction_ids to transaction.cHarald Welte2-19/+16
2009-07-23add missing files to gitHarald Welte1-0/+134
2009-07-23trans->transaction_id now reflects the actual (unshifted) valueHarald Welte1-9/+9
2009-07-23centralize the code that needs to deal with transaction_idHarald Welte1-79/+41
There were many places in the code where we had to explicitly reference the transaction_id and put it into a packet. By introducing and optional gsm_trans parameter to gsm48_sendmsg(), we can implement this code once rather than dozens of time.
2009-07-23make sure subscr->net is always setHarald Welte5-23/+40
since a subscriber is an element of the gsm_network, we have to ensure subscr->net is always set correctly. We do this by using gsm_network as an argument to all functions that resolve or create a subscriber.
2009-07-23remove bogus 'network' member of 'struct gsm_transaction'Harald Welte1-30/+35
Since a transaction is associated to a gsm_subscriber, and the subsciber is part of a network, we don't need to have a dedicated transaction->network pointer.
2009-07-23gms_transactions data model reorganizationHarald Welte3-118/+69
This changeset factors out gsm_transaction as something independent of call control in preparation to re-use the code from SMS. A transaction is uniquely identified by either its callref, or by a tuple of (transaction_id, protocol, subscriber).
2009-07-21allow user to set BSIC and TSC from command lineHarald Welte1-4/+19
2009-07-21use actual bts->tsc rather than hard-coded valueHarald Welte1-1/+1
2009-07-21use the TSC that is configured in bts->tsc rather than hardcoded valueHarald Welte1-1/+1
2009-07-19send DEACTIVATE SACCH when sending RR CHANEL RELEASEHarald Welte2-1/+24
As per specification, we first send the RR CHANNEL RELEASE to the MS, and then tell the BTS to disable the SACCH on that channel.
2009-07-19fix copy+paste mistake in ecnoding short net name in mm infoHarald Welte1-1/+1
2009-07-18some more comments for BS11 attributesHarald Welte1-35/+36
2009-07-16bsc_hack.c: Make adding of (nano)BTS to the network dynamicHolger Hans Peter Freyther1-13/+40
Fix the FIXME and replace the hardcoded site_id's of the nanoBTS with a command line option. You can use -i DEVICE_X for every BTS you want to handle.
2009-07-12add more ipaccess 12.21 object classes, NSVC only exists onceHarald Welte1-4/+2
2009-07-12more ip.access RSL TLV parser definitionsHarald Welte1-1/+9
2009-07-12rename ip.access structure field members and variablesHarald Welte3-13/+18
to reflect that we now know their true names/meanings
2009-07-12give ip.access RSL IE's their proper namesHarald Welte1-11/+11
2009-07-12more ip.access abis_nm attributesHarald Welte3-11/+11
we also rename some existing attributes to reflect reality
2009-07-09abis_rsl.c: Clarify from which specification this table comes fromHolger Hans Peter Freyther1-1/+2
It appears to be the table of TS 05.02.
2009-07-08ipacess-config: Handle NVATTR NACKs in ipaccess-configHolger Hans Peter Freyther2-0/+41
Currently we send the attribute changes in a send and forget fashion. But sometimes the nanoBTS is sending us a NACK, e.g with a invalid unit id. Start handling the NACK and provide an error message to the user. The error message is not yet describing the cause of the error but this is a slight progress to the previous silent failure.
2009-07-05Merge commit 'origin/master'Harald Welte1-2/+21
2009-07-05Store classmark1/2/3 in equipment SQL tableHarald Welte2-10/+49
For further evaluation/analysis, this patch stores the classmark 1, 2 and 3 values of every equipment in the SQL database. We can use this non-volatile data to determine the supported features for each handset that we've ever seen on our network.
2009-07-05remove SI3 and SI4 rest octetsHarald Welte1-17/+6
As Dieter has pointed out, we currently send incorrect information in the rest octets, particularly about our GPRS capability. Since the format of the rest octets is highly complex, and we don't actually need any of those features yet, we might just fill them with padding.
2009-07-04ipaccess-config: Add --help to the ipaccess-configHolger Hans Peter Freyther1-2/+21
Just a beginning...