aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/abis_rsl.h
AgeCommit message (Collapse)AuthorFilesLines
2014-12-28lchan: Remember why a channel is broken using static stringsHolger Hans Peter Freyther1-0/+1
Remember why a channel is being marked as broken. So we can maybe understand what happend.
2014-08-04dyn PDCH: Cleanup of rsl_chan_activate_lchan() and usersAndreas Eversberg1-1/+1
Timing advance is stored inside lchan structure, so it is removed from arguments. This is useful, if other actions are required prior calling rsl_chan_activate_lchan. (like deactivating PDCH first) The "shifted TA value" that is required by BS11 is now calculated inside rsl_chan_activate_lchan and not by each user. [Rebased by Holger. So some hunks were skipped as the patch depended on Jolly's HO code]
2012-12-26gsm: Do not attempt to release SAPI=0 if it was never allocatedHolger Hans Peter Freyther1-0/+2
In case of handover (but probably on RACH) we would send a RLL for SAPI=0 even if this SAPI was never established. After we have released all SAPI>0 locally check that SAPI=0 is established and if not release the rf channel directly.
2012-12-23lchan: Introduce T3109 handling for the release procedureHolger Hans Peter Freyther1-0/+1
T3109 is started when the SACCH is deactivated. It is stopped when the phones sends the DISC/UA/UM on LAPDm for the main signalling link. In case of timeout the abnormal release procedure will be initiated. Make sure to not issue the SACCH Deactivate twice to avoid confusing the equipment. This is still not fully spec compliant. In case of a timeout the abnormal release handling will be started which involves starting T3111+2. The error handling should be split out of the rf channel release method, e.g. lchan_release should be called and check if the channel release was already initiated.
2012-12-23lchan: Release the lchan more quickly, align with GSM 04.08Holger Hans Peter Freyther1-1/+4
* Release all channels with SAPI > 0 with the "local end release" (as of NOTE 1 of GSM 04.08). * No need to wait for all SAPIs to be torn down and the normal REL_IND/REL_CONF will call rsl_handle_release and the channel should be released. * Update the documentation
2012-12-23rsl: Rename the reason to release_mode and use the enum valueHolger Hans Peter Freyther1-1/+2
The API with 0 and 1 as legal values is hard to understand. Use the recently introduced enum values instead.
2012-01-17rsl: This is provided by libosmo-abis, remove it hereHolger Hans Peter Freyther1-1/+0
2011-08-10Initial version of Support for Nokia *Site BTSDieter Spaar1-0/+7
This includes the MetroSite, but also other Nokia BTS models.
2011-06-26move gsm 05.02 related calculations into libosmocoreHarald Welte1-3/+0
2011-06-26use new gsm48_number_of_paging_subchannels from libosmocoreHarald Welte1-1/+0
2011-06-25move {ts,lchan}2chan_nr() functions to gsm_data_shared.cHarald Welte1-1/+0
... this way osmo-bts can use them
2011-04-18misc: Move from u_int to uint types of stdint.hHolger Hans Peter Freyther1-25/+25
This was done with sed on the files.
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-2/+2
libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-01-13RSL: add code to generate SACCH INFO MODIFY commandHarald Welte1-0/+3
SACCH INFO MODIFY is intended to modify the SACCH content for a single logical channel (as opposed to the default SACCH FILLING)
2011-01-06misc: Forward declare the struct gsm_bts_trx_ts to avoid warning.Holger Hans Peter Freyther1-0/+1
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte1-6/+5
The reason for this is quite simple: We want to make sure anyone running a customized version of OpenBSC to operate a network will have to release all custom modifiations to the source code.
2010-12-23Dynamic PDCH: rsl_ipacc_pdch_activate() operates on a timeslotHarald Welte1-1/+1
... not on the lchan.
2010-12-22rsl: Remove unimplemented/unused rsl_paging_cmd_subscrHolger Hans Peter Freyther1-2/+0
RSL should not know the details of a GSM Subscriber anyway.
2010-12-01include: Add proper predeclaration for struct in abis_rsl.hSylvain Munaut1-0/+5
We use them, so declare them. (avoid including all gsm_data.h) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
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