summaryrefslogtreecommitdiffstats
path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2009-08-06Merge branch 'master' into proxyproxyHarald Welte12-226/+1048
2009-08-06add code to save BTS/TRX/TS config to config fileHarald Welte1-1/+52
we don't yet have the parser to fully re-read it. So this has not mcuh use so far.
2009-08-06change order of BTS and TRX list as well as band names for prettier printoutHarald Welte1-7/+7
2009-08-06don't define zencrypt function if VTY_CRYPT is not definedHarald Welte1-0/+2
2009-08-06re-enable config file handling of vty layerHarald Welte1-9/+4
2009-08-06add function for performing 'CONNECT MULTI-DROP LINK" as per GSM 12.21Harald Welte1-0/+29
don't be confused, BS-11 does not need this. But since I wrote the code before knowing that, I can just as well commit it.
2009-08-06add more ip.access attribute TLV definitionsHarald Welte1-4/+33
2009-08-06introduce '-2' commandline option for second BS-11Harald Welte1-4/+27
Using this option, you can use two BS-11 connected to the same E1 link. The first BS-11 needs to have BPORT0 and BPORT1 objects created with E1 Line Configuration attribute "multi-drop". The second BS-11 is configured with only BPORT0 in star configuration, and needs to have the OML signalling on TS6 instead of TS1. Also, a kernel patch providing a second virtual E1 interface is needed.
2009-08-06shut down the OML (and thus the BTS) when bsc_hack is terminated with ctrl+cHarald Welte1-2/+6
2009-08-06only set BCCH INFO on first TRX (C0) of BTSHarald Welte1-4/+6
2009-08-06use HARDCODED_BTSn_TS defines from bsc_hack.cHarald Welte1-19/+36
2009-08-06add HARDCODED_BTSn_TS to define the base TS for each BTSHarald Welte1-5/+5
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-28Merge branch 'master' into proxyHarald Welte18-401/+645
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-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