aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/abis_rsl.h
AgeCommit message (Collapse)AuthorFilesLines
2010-07-31chan_alloc: Change Channel Release to release SAPIs, then the channelHolger Hans Peter Freyther1-0/+1
Currently every SAPI release indication will trigger the channel. It was possible that we had SAPI=3 and SAPI=0 allocated and we tried to release the channel by sending a RF Channel Release, the BTS answered with a RF Channel Release ACK but also sent the SAPI Release Indication which triggered a channel release here. So it was possible that we would have released a newly allocated channel because of the SAPI release of the old connection. This code now works by releasing all SAPIs from highest to lowest, then sending a SACH Deactivate and finally releasing the channel. This approach is in use on the on-waves/bsc-master.
2010-07-23rsl: Add method to send a SMSCB inside a SMS BROADCAST COMMANDHolger Hans Peter Freyther1-0/+4
* Untested code for sending the SMS BROADCAST COMMAND.
2010-06-08abis_rsl: Allow to specify the release mode for a given channel.Holger Hans Peter Freyther1-1/+1
This can be used by handover, early assignment to indicate the close of the old channel...
2010-04-10[rsl] Introduce a method to set the state of the lchanHolger Hans Peter Freyther1-0/+2
Setting the state through a dedicated method allows us to track the state transitions and check if they are done in a proper way.
2010-04-10[rsl] Remove method that is not called by anything.Holger Hans Peter Freyther1-1/+0
2010-03-28RSL: keep track of ip.access dynamic TCH/PDCH activationHarald Welte1-1/+1
We use the (currently unusued) flags member of the bts_trx_ts structure to track if a dynamic TCH/PDCH is currently on PDCH mode or not.
2010-02-20move GSM protocol definitions to include/osmocore/protocol/*Harald Welte1-481/+1
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-1/+1
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
2009-12-20rename ipacc_connect_proxy_bind() to rsl_ipacc_mdcx_to_rtpsock()Harald Welte1-0/+1
Our RTP sockets are no longer just for the proxy mode, so having "proxy" in the function name is really misleading.
2009-12-19ip.access: Keep a full copy of local and remote IP/PORT in lchanHarald Welte1-2/+1
Keeping all parameters for each RTP connection in the abis_ip member of lchan will help us with actual TCH handover later on.
2009-12-17[handover] first functional handover implementationHarald Welte1-1/+1
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-09mark lchan2chan_nr() using a 'const' parameterHarald Welte1-1/+1
which fixes some compile warnings at some callers.
2009-11-19[ipa] Change names of RTP methods to follow MGCP namingHolger Hans Peter Freyther1-14/+14
IPA is naming these functions CRCX, MDCX, DLCX to follow the naming of the MediaGatewayControlProtocol. Change the code to go from BIND to CRCX (create connection) and from CONNECT to MDCX (modify connection). Connect indicates that it is only possible to call it once while it is possible to call it more than once to modify the audio parmaters and such. So the IPA terminology is making a bit more sense here (now that we know it).
2009-10-24[GPRS] Add RSL function for ip.access PDCH activationHarald Welte1-0/+1
If we have a dynamic TCH/F / PDCH channel configuration, then we can either ACTIVATE CHANNEL it for a TCH/F, or we need to send this vendor-specific PDCH ACTIVATE command to use it as a PDCH. As opposed to a fixed configuration, this allows an intelligent BSC channel allocator to use otherwise idle channels as PDCH as long as no more TCH's are needed.
2009-08-30A5 support for RSL and 04.08 (not used yet)Harald Welte1-0/+1
This just adds the 04.08 and RSL bits for A5, but not the logic for performing authentication. The caller would first set lchan->encr and then call gsm48_send_rr_ciph_mode(lchan), which encapsulates the 04.08 CIPHERING MODE COMMAND into a RSL ENCRYPTION COMMAND and sends it to the BTS for execution + forwarding.
2009-08-10siemens vendor specific message type and IE definitionsHarald Welte1-0/+22
2009-08-10make rsl_siemens_mrpci() use struct rsl_mrpciHarald Welte1-1/+1
2009-08-10Add function to generate siemens-specific MRPCI RSL messageHarald Welte1-1/+33
MRPCI (MS RF Power Indicator) informs the BTS about the power capabilities of the MS.
2009-08-10misc: Add prototypes to header files, include more header filesHolger Hans Peter Freyther1-0/+1
Fix various warnings about implicit declarations of functions.
2009-08-09Add new BSC RLL layer of codeHarald Welte1-0/+1
A caller can call rll_establish(lchan, link_id) and a callback to the GSM RLL code. He will get called back if the RLL link is established or receives some error message, or the establishment times out. We need this for proper SMS implementation, where we need to restablish a SAPI3 RLL link before transmitting the actual CP-DATA messages.
2009-08-08start using the RLL RELEASE proceduresHarald Welte1-0/+1
So far, we immediately disable the RF channel without following a proper RLL RELEASE procedure. This patch changes this. If we locally terminate the connection, the channel allocator now triggers a RLL RELEASE REQuest, which is responsed by the MS with a RLL RELEASE CONFirm, based on which we send the RF CHANnel RELease to the BTS. If the MS terminates the connection, we receive a RLL RELEASE INDication, based on which we trigger RF CHANnel RELease to the BTS.
2009-08-04parse and decode Siemens specific T_MSRFPCI messageHarald Welte1-0/+1
2009-07-29generalize channel activation / channel mode modifyHarald Welte1-4/+11
* 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-28implement human-readable RSL cause printingHarald Welte1-2/+10
2009-07-19send DEACTIVATE SACCH when sending RR CHANEL RELEASEHarald Welte1-0/+1
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-12yet again some more ip.access RSL definitions + parsingHarald Welte1-1/+20
2009-07-12add some more ip.access RTP related definitionsHarald Welte1-0/+39
2009-07-12rename ip.access structure field members and variablesHarald Welte1-1/+2
to reflect that we now know their true names/meanings
2009-07-12give ip.access RSL IE's their proper namesHarald Welte1-0/+14
2009-06-20Introduce BS and MS power control related functionsHarald Welte1-0/+3
* add bts->band field plus corresponding VTY and commandline argument * add trx->nominal_power and trx->max_power_red fields * add rsl_chan_bs_power_ctrl() to control TRX RF power for a given TS * add rsl_chan_ms_power_ctrl() to control MS RF power for a given lchan.
2009-06-10move openbsc into its own subdirectoryHarald Welte1-0/+415