aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_data.h
AgeCommit message (Collapse)AuthorFilesLines
2010-05-11bsc_msc_ip: Move the MSC connection into the structureHolger Hans Peter Freyther1-0/+3
2010-05-05bsc_msc_ip: Make the ping/pong timeouts configurableHolger Hans Peter Freyther1-0/+2
Take the timeouts from the struct.
2010-05-03'struct gprs_ra_id' is now defined in libosmocoreHarald Welte1-8/+0
2010-05-01remove any reference to 'struct gsm_bts_link'Holger Hans Peter Freyther1-5/+0
2010-04-23bsc_msc_ip: Add a timeout for waiting for the CC of the networkHolger Hans Peter Freyther1-0/+1
Start a timeout to wait for the CC of the network and if it does not come in time we will abort the connection and take down the allocated lchans.
2010-04-20[vty] Allow to set the RACH NM attributes on a per BTS basisHolger Hans Peter Freyther1-0/+4
Be able to tune the RACH settings of the BTS via the vty interface, by default they are initialized to -1 which means we will use the content of the static array (BTS default) and can be changed via the VTY interface. I have verified the setting on the nanoBTS with wireshark and I have tested writing the config file.
2010-04-20[paging] Only page if we have some free channels right nowHolger Hans Peter Freyther1-0/+3
Only page if we have a load that is acceptable for paging. This option is off by default, and can be enabled per bts. The idea is that when we have no resources right now we will not page as it will only create more RACHs and increase the load.
2010-04-20Revert "ipaccess: Send RTP Payload IE for CRCX & MDCX"Holger Hans Peter Freyther1-1/+0
This is causing a regression with AMR audio. The nanoBTS is sending a MDCX NACK with Cause 0x52. Reverting this commit makes it work again. This reverts commit b54dda4cefe89665d98074cf3767858fa6ecdb6e.
2010-04-19[paging] When we ran down to 0 available paging slots start a credit timerHolger Hans Peter Freyther1-0/+1
It might be that we run down to zero available slots but the BTS might not send us a load indication. This can happen if we think we send paging requests and the BTS disagrees and considers them as errors and does not count the paging message. When we drop to zero we will start a credit timer to give us extra credit after six seconds, if we get a CCCH load indication before we will stop the timer.
2010-04-19Merge remote branch 'origin/master' into on-waves/bsc-masterHolger Hans Peter Freyther1-1/+11
Conflicts: openbsc/include/openbsc/abis_rsl.h openbsc/include/openbsc/mgcp.h openbsc/src/abis_rsl.c openbsc/src/chan_alloc.c openbsc/src/handover_logic.c openbsc/src/mgcp/mgcp_network.c openbsc/src/vty/command.c openbsc/src/vty_interface.c
2010-04-18GPRS: change 'gprs enabled <0-1>' to 'gprs mode (none|gprs|egprs)'Harald Welte1-1/+10
This causes some config file breakage but sounds like a much cleaner approach than to have two separate config variables for this.
2010-04-17bsc_msc_ip: Allow to put the MSC address into the network configHolger Hans Peter Freyther1-0/+2
2010-04-17[statistics] Keep track of OML/RSL failures of the BTS.Holger Hans Peter Freyther1-0/+4
2010-04-17[statistics] Keep track of rf failures and rll release failuresHolger Hans Peter Freyther1-0/+4
Add two new counters to count the RF Failures and the RLL Release failure and make them available via the vty interface.
2010-04-13[statistics] Keep track of OML/RSL failures of the BTS.Holger Hans Peter Freyther1-0/+4
2010-04-13[statistics] Keep track of rf failures and rll release failuresHolger Hans Peter Freyther1-0/+4
Add two new counters to count the RF Failures and the RLL Release failure and make them available via the vty interface.
2010-04-12ipaccess: Send RTP Payload IE for CRCX & MDCXSylvain Munaut1-0/+1
For GSM V1 FR, the payload type is fixed to 3 in the RFC. But for the other codecs, the payload type is dynamically assigned between 96 and 127. Here, we use a static mapping internal to OpenBSC. This patch is needed to make a rather old 139 unit (with sw version 120a002_v149b42d0) work with something else than FR codec. I also tested this patch on a newer 139 (with sw version 120a352_v267b22d0) to make sure it didn't add a regression. More testing with newer EDGE units should be done by whoever has some of theses. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-04-10[paging] Simplify the last request and treat llist as a queueHolger Hans Peter Freyther1-1/+0
The current code was overly complex. It tried to iterate over the list in a round robin and we had to keep track of the last element, see if we remove that one, check if the list becomes empty... This can all replaced by treating the double linked list as a queue. We take the item at the front, do something on it and then and then put it back to the list at the end.
2010-04-09[paging] Simplify the last request and treat llist as a queueHolger Hans Peter Freyther1-1/+0
The current code was overly complex. It tried to iterate over the list in a round robin and we had to keep track of the last element, see if we remove that one, check if the list becomes empty... This can all replaced by treating the double linked list as a queue. We take the item at the front, do something on it and then and then put it back to the list at the end.
2010-04-09[rsl] Rework the lchan channel release procedureHolger Hans Peter Freyther1-0/+3
1.) free every SAPI from 1-7 and wait for the confirmation and then continue until all of them are freed. If the SAPI is not torn down we will receive a timeout and then we force the RF Channel Release... 2.) once SAPI is down we send the RR Release, SACCH Deact 3.) the abis_rsl will see that all SAPIs are down and then will release channel...
2010-04-09[rsl] Introduce an error state for the lchan and set it on releaseHolger Hans Peter Freyther1-0/+2
When we issue a RF Channel Release in case of a failure we receive RLL release indications after the channel was tearn down and we issue another RF Channel Release as a result. The channel allocator might have already allocated this channel and we release the channel again with another MS on it. Make rsl_rf_chan_release take an error argument and make it set a new state in case of an error and change the RF Channel Release ack to not set the state back to none in case of an error but wait for a timeout that is a bit higher than T3111. I tested this with removing the battery during a phonecall and waiting for the channel failure. With this test we only send the release once.
2010-04-09[rsl] Implement the T3111 timer to delay the RF Channel releaseHolger Hans Peter Freyther1-0/+1
2010-04-06Merge remote branch 'origin/master' into on-waves/bsc-masterHolger Hans Peter Freyther1-16/+26
* Move to the new log code and update binaries * Catch up with lchan changes from master Conflicts: openbsc/include/openbsc/Makefile.am openbsc/include/openbsc/gsm_data.h openbsc/src/Makefile.am openbsc/src/bsc_rll.c openbsc/src/chan_alloc.c openbsc/src/debug.c openbsc/src/gsm_04_08.c openbsc/src/gsm_04_11.c openbsc/src/gsm_subscriber_base.c openbsc/src/handover_logic.c openbsc/src/silent_call.c openbsc/src/transaction.c openbsc/src/vty_interface.c openbsc/src/vty_interface_cmds.c
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-03-26bsc_msc_ip: Keep track of active connections so we could clear them.Holger Hans Peter Freyther1-0/+3
Keep track of SCCP connections so we can clear them when the MSC is going down.
2010-03-25Store the GSM BTS in the gsm subscriber connectionHolger Hans Peter Freyther1-1/+2
Remove further usage of lchan from the gsm 04.11 bits
2010-03-25lchan: Create a structure for MSC data of the lchanHolger Hans Peter Freyther1-27/+36
Prepare to split the BSC and the MSC part by putting the MSC data for a connection into a "gsm_subscriber_connection" struct and renaming the macros.
2010-03-25channel requests: Add configuration to handle paging any with TCHHolger Hans Peter Freyther1-0/+3
It is possible that the MSC is not sending the channel type it needs for the operations it wants to do. Add a configuration option to assign a TCH in case of paging any requests. It can be a good idea to leave SDCCHs free for location updating requests.
2010-03-25channel request: Store the to be assigned channel type in the GSM NetworkHolger Hans Peter Freyther1-0/+2
Store the mapping from request to channel type in the GSM Network struct as there is some policy involved with handling the request. E.g. in a half rate network we don't want emergy calls to be getting a TCH/F, or we want to have a different policy for early/late assignment of phone calls. Update the table when creating the network and when the neci is changed.
2010-03-24Merge remote branch 'origin/master' into on-waves/bsc-masterHolger Hans Peter Freyther1-0/+18
Keep a static version as the shell script is not dealing well with branch tags/names containing text. Resolve merge conflict in the Makefile.am by adding both sides to the list of sources for the libbsc.a Conflicts: openbsc/configure.in openbsc/src/Makefile.am
2010-03-24Merge remote branch 'origin/master' into on-waves/bsc-masterHolger Hans Peter Freyther1-52/+77
* Move to libosmocore * Move to new debugging architecture * Register the BTS types * Has only been compile tested Conflicts: openbsc/include/openbsc/Makefile.am openbsc/include/openbsc/gsm_data.h openbsc/include/openbsc/ipaccess.h openbsc/include/openbsc/mgcp.h openbsc/include/openbsc/msgb.h openbsc/include/openbsc/tlv.h openbsc/src/Makefile.am openbsc/src/abis_rsl.c openbsc/src/bsc_init.c openbsc/src/bsc_mgcp.c openbsc/src/chan_alloc.c openbsc/src/debug.c openbsc/src/gsm_subscriber_base.c openbsc/src/msgb.c openbsc/src/rest_octets.c openbsc/src/sccp/sccp.c openbsc/src/vty/command.c openbsc/src/vty_interface.c openbsc/tests/Makefile.am
2010-03-22GPRS: make NSEI configurable from VTYHarald Welte1-0/+1
2010-03-22GPRS: make NSVC parameters VTY-configurableHarald Welte1-0/+4
2010-03-22Create new gprs-conf branch with the non-SGSN part of the gprs branchHarald Welte1-0/+13
This new gprs-conf branch is intended to contain everything needed to configure GPRS in the nanoBTS, but without implementing the SGSN/GGSN functionality. The SGSN/GGSN development will happen in a branch based on this branch called "gprs-sgsn"
2010-03-04decleare gsm_bts_model_register()Harald Welte1-0/+2
2010-03-04move some gsm48 utility functions to libosmocoreHarald Welte1-3/+0
* gsm48_generate_lai() gsm48_generate_mid_from_tmsi() gsm48_generate_mid_from_imsi() * gsm48_cc_msg_names[]
2010-03-01value_string functions and some RSL related stuff has moved to libosmocoreHarald Welte1-8/+0
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-14/+6
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-07[vty] Add a config for a simple OpenBSC BSC tokenHolger Hans Peter Freyther1-0/+3
We will use this token to identify us at the MSC for now. This assumes that something like OpenVPN is already used to secure the networking. In the future we will explore using TLS for the communication and certificates for the authentication.
2010-01-28[bsc] Implement early assignment for CC for the MT case.Holger Hans Peter Freyther1-0/+1
In case we need to handle speech but we are currently on a SDCCH we need to assign a new channel and close the old one. This implementation should have the correct flow of things but we might need to fix some error situations properly. It is implemented by keeping a secondary_lchan pointer that will be swapped into the lchan pointer after the assignment complete message from the MS. The old lchan will be deactivated (the SACCH should stay open). We have to manually remove the subscr from the lchan structure to properly close things down.
2010-01-27[msc] Fix compilation by adding blocked_gsm to the structHolger Hans Peter Freyther1-0/+1
2010-01-10[OML] parse attributes depending on BTS typeHarald Welte1-1/+11
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-07introduce new gsm_bts_trx_by_nr() functionHarald Welte1-0/+1
2010-01-07[bssap] More brown paper... Make variables really signedHolger Hans Peter Freyther1-2/+2
-1 is assigned in case the variables are not set. This means it must be a signed type (as the comment says), now really use a signed type.
2010-01-07[bssap] Allow to use a different country code tooHolger Hans Peter Freyther1-0/+1
* Be able to have a country code in the air but use a different country code when talking to the core network. * Now both country and network code can be different on air and on the MSC communication.
2010-01-05[bsc_msc_ip] Turn the MNC hack into a config optionHolger Hans Peter Freyther1-0/+3
* Make it possible to have a different MNC in the RSL traffic than in the core network. * Introduce the "core network code NUMBER" variable. If it is set this network code will be used in traffic with the MSC. * Use the core_network_code number when sending a packet to the MSC * Regenerate the LAI (this is where I could have a bug) when sending packets to the BTS. * Add size checks. This is not tested, I might got something wrong.
2010-01-03gsm_data: Move auth related structure earlierSylvain Munaut1-20/+22
This is gonna be needed by the next commit ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-01-03gsm_data: Fix sres to be 4 bytesSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-01-03db: Add issued/use_count/key_seq fields to AuthTuplesSylvain Munaut1-0/+2
Theses will be useful to know if we can reuse the tuples or if we should renew. The 'issued' is currently purely informative. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-01-01keep 'silent call' state in struct lchanHarald Welte1-0/+2
This enables us to reliably detect if a lchan is part of a silent call or not.