aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2013-04-05sysmobts: Add the necessary data structure and init for the SAPI queueHolger Hans Peter Freyther2-0/+5
The sysmobts is now having a SAPI queue with all pending SAPI operations on the BTS. Add the llist_head to the lchan and make sure it is initialized by the shared code.
2013-04-02nat: Fix authentication by-pass using shorter tokensHolger Hans Peter Freyther1-2/+20
The token was compared with the configured one but only up to a user supplied length. Compare the token sizes and then use memcmp for the actual comparison to make sure to compare the right ammount of characters. There is no unit-test but there should be one.
2013-03-28bsc-ctrl: Fix a potential memory leak on failed verificationHolger Hans Peter Freyther1-2/+5
It was possible that the tmp was strduped but not freed, e.g. when the number of commas was not right. It would evenutally be freed at the time the cmd is freed thanks to the talloc hierachy.
2013-03-21db: Link to the VTY library for the vty_config_unlock symbolHolger Hans Peter Freyther1-1/+1
Linking started to fail for me due the symbol coming from the vty library and the db code not linking to it.
2013-03-17Add VTY option to set GPRS network-control-order to enable MS measurementsAndreas Eversberg3-0/+25
In order to enable GPRS downlink measurements at mobile, the network-control-order must be set to nc1.
2013-03-13Fix osmo-nitb build without libsmppHarald Welte1-0/+2
2013-03-13SMPP: Implement SMPP Osmocom Estensions on MO-SMS0.13.0Harald Welte5-7/+112
An ESME can now be configured in the VTY to enable osmocom-extensions, which will add vendor-specific SMPP TLVs for RxLev/RxQual/ARFCN/IMEI and transmit power to the SMPP DELIVER-SM message type.
2013-03-13SMPP: Fix crash on delivery of incoming SUBMIT-SMHarald Welte2-6/+10
As bsc_gsmnet is NULL at the time we call smpp_openbsc_init(), we later run into segfaults with subscribers that don't have a subscr->net set. However, we cannot delay smpp_openbsc_init() until after bsc_bootstrap_network(), as we then fail to parse the SMPP specific VTY/config file options...
2013-03-12IPA: Allow RSL connection to different IP address as OMLHarald Welte3-1/+32
This patch adds a new VTY command "ip.access rsl-ip A.B.C.D" at the BTS level. If you set this IP address, the BTS will be instructed to establish the RSL link to the indiciated IP address, rather than using the same as for the OML link (default). Use "ip.access rsl-ip 0" to disable the feature.
2013-03-11BTS: Add S counter for link loss criterion to lchan structureAndreas Eversberg1-0/+2
2013-03-10si: Another round of PCS related fixesHolger Hans Peter Freyther3-5/+22
Inside the SI1 rest_octets we will need to indicate if the ARFCN is band 1800 or 1900. If the BTS is either 850 or 1900 we assume we are running a PCS network, otherwise it is a DCS network. The band indicator is not documented in GSM 04.08 but it is in the GSM 05.14 version 6.1.0 Release 1997.
2013-03-09rsl: Properly initialize the cm structure with memsetHolger Hans Peter Freyther1-1/+1
abis_rsl.c:332:23: warning: 'memset' call operates on objects of type 'struct rsl_ie_chan_mode' while the size is based on a different type 'struct rsl_ie_chan_mode *' [-Wsizeof-pointer-memaccess] memset(cm, 0, sizeof(cm)); ~~ ^~ abis_rsl.c:332:23: note: did you mean to dereference the argument to 'sizeof' (and multiply it by the number of elements)? memset(cm, 0, sizeof(cm)); ^~ 1 warning generated.
2013-03-08bsc_vty: Prevent printing -1 as unsigned integer for timeslot TSCHarald Welte1-1/+2
2013-03-03bsc: Stop "show paging" from crashing before the first pagingHolger Hans Peter Freyther1-0/+3
The paging structure is still initialized lazily and we attempt to traverse it before it is ready. The crash was discovered by Katerina. Removing the lazy initialization will take a bit of work as the gsm_data_shared is used by the osmo-bts and the OpenBSC but paging is different.
2013-03-03doc: Do not have examples with accept-all in our repositoryHolger Hans Peter Freyther1-1/+0
We do not want to tell random users to run a network with the accept-all. This was pointed out by Katerina.
2013-03-03vty: Document some previously undocumented parametersHolger Hans Peter Freyther4-9/+14
Katerina pointed out that some nodes are not fully documented and proposed some messages. The token/timeout messages were correct, I have modified the other messages. I removed the full-stop from the PING/PONG documentation as we are normally not using a full sentence.
2013-02-26doc: Create a documentation on the SCCP/lite implementation we haveHolger Hans Peter Freyther1-0/+94
Describe how we handle/dispatch SCCP messages in the osmo-bsc.
2013-02-12VTY: backwards compatibility for 'logging level sms'Harald Welte1-0/+14
when the SMS code was moved into libosmocore, its logging prefix was changed from 'sms' to 'lsms', which breaks existing config files. This introduces a deprecated/hidden vty command to make sure those config files are still parsed OK, and will simply print a warning message about the config needing some update.
2013-02-08Fix of IMMIDIATE ASSIGNMENT REJECT messageAndreas Eversberg3-2/+7
The message was corrupt at several points. They are fixed now and successfully tested. A default T3122 timer value of 10 is defined by default now. If set to 0, the reject message will not be sent. Note that when using existing configs with T3122 value set to 0.
2013-02-07add some more docbook snippetsHarald Welte2-8/+39
2013-02-07dump_all_docs.py: Also extract documentation for SGSNHarald Welte1-0/+1
2013-02-07fix osmo-bsc example configuration fileHarald Welte1-1/+0
2013-02-06doc: Add some documentation on how the paging system is workingHolger Hans Peter Freyther1-0/+48
2013-01-28bsc: Allow to page a BTS that is excluded from the RF lockHolger Hans Peter Freyther5-20/+77
The RF lock excluded BTS was not paged at all. Now forward the paging message to the handler and call a function that will check if this LAC can be paged right now. Introduce a new paging method that allows to page on a dedicated bts, refactor the code to use this method for paging.
2013-01-28bsc: A BTS excluded from the RF lock should be allowed to make a connectionHolger Hans Peter Freyther4-9/+8
When introducing the exclude for the BTS lock the RF stayed up but all connections were immediately released. Optionally pass the BTS as second parameter and check the exclude bit. Tested-with: rf-lock-exclude/RFLockExcludeTest.st
2013-01-28bts: Allow to exclude a BTS from the global RF lock handlingHolger Hans Peter Freyther3-3/+55
Some BTS might be in locations where they can run all the time, allow to exclude them from the global lock handling.
2013-01-25CC: gsm48_cc_tx_release() must not remove callrefAndreas Eversberg1-2/+0
If after release has been sent, the call control layer waits for: - reception of release complete - or timeout - or release of transaction (due to radio link failure) In this case, an MNCC_REL_CNF is sent to upper layer. The callref must still exist, so the upper layer can handle this confirm.
2013-01-25CC: mncc_release_ind() must send MNCC_REL_CNF in state N19Andreas Eversberg1-0/+2
If transaction is destroyed, but callref still exists, the mncc_release_ind function is called. If the upper layer already sent an MNCC_REL_REQ, the state N19 was entered. In this case it expects an MNCC_REL_CNF.
2013-01-25CC: Be sure to allocate call instance with talloc_zero()Andreas Eversberg1-1/+1
2013-01-24smpp_vty: Ensure to not print 'system-id' in openbsc.cfg if its emptyHarald Welte1-1/+2
... as an empty system-id would render the openbsc.cfg unparseable on next openbsc start.
2013-01-20smpp: Fix a memleak of the SMS on the submit pathHolger Hans Peter Freyther1-1/+2
2013-01-20SMPP: Inform the SMS Queue that a SMS was submitted to kick the queueHolger Hans Peter Freyther1-1/+6
Work on the 'forward' part.. tell the sms queue that something has been submitted for it.. Conflicts: openbsc/src/libmsc/smpp_openbsc.c
2013-01-17si: Deal with DCS1800 and PCS1900 have overlapping ARFCN rangesHolger Hans Peter Freyther1-3/+23
For PCS1900 the SI1 does not contain the ARFCN of the serving cell. This is because the arfcn2band method will return GSM_BAND_1800 and not GSM_BAND_1900. The academic fix would be to set the ARFCN_PCS bit but this would require increasing the bitvector sizes from 1024/8 to (0x8000 + 1024) / 8. This would increase the storage size for each bitvector by three. It is not possible to have DCS1800 and PCS1900 in one network so we can avoid increasing the memory usage and check if the ARFCN resolved to 1800 and then check if the BTS is a 1900 BTS and then claim that this is compatible.
2013-01-17si: Share the ARFCN selection condition between the two statementsHolger Hans Peter Freyther1-30/+37
This makes reading the condition more easy and allows me to fix it for GSM1900 more easily and I can remove one level of indention.
2013-01-16rsl: Properly parse the RLM cause from the error indicationHolger Hans Peter Freyther1-3/+13
The code predates the TLV parser and we were parsing the RLM from the wrong offset. In general we were using the length of the TLV which happened to be equal to the T200 indication. After consulting the RLM cuases not every of them should generate a BSC_RLLR_IND_ERR_IND as these are forwarded to the MSC as a SAPI reject right now. TLV parsing now generates this due a bug in the osmo-bts code: abis_rsl.c:1605 (bts=0,trx=0,ts=2,ss=0) SAPI=0 <0000> abis_rsl.c:1547 (bts=0,trx=0,ts=2,ss=0) ERROR INDICATION cause=Fraeme not implemented
2013-01-15osmo-bsc: Add ctrl cmd bts RF stateDaniel Willmann1-0/+38
Returns opearional, administrational state and RF policy
2013-01-15osmo-bsc: Add VTY command show positionDaniel Willmann4-10/+54
2013-01-15bsc: Auto RF Off in case of missing MSC connectionHolger Hans Peter Freyther5-2/+84
For short IP failures we want the RF to stay up and wait for the re-connect but in case the A-link is gone too long it is good to switch off the RF and wait for commands to enable it again.
2013-01-15nat: Fail if the control interface can not be initializedHolger Hans Peter Freyther1-0/+4
2013-01-15bsc: Create a better error message for when RF commands are rejectedHolger Hans Peter Freyther1-1/+1
Provide an error message that makes it more clear that the command is rejected because RF handling is not enabled in the BSC.
2013-01-15bsc: Simplify the trap sending by using the location state methodHolger Hans Peter Freyther1-17/+2
2013-01-15bsc: Send a TRAP with the locations on a MSC connectionHolger Hans Peter Freyther1-0/+41
Send the current position when the MSC connection is established.
2013-01-15bsc: Use the BSC RF CTRL to change the RF state of the TRXsHolger Hans Peter Freyther3-9/+14
Use the delayed scheduling feature of the osmo_bsc_rf class to avoid crashing the site controller of the nanoBTS.
2013-01-15bsc: Do not re-start the grace timer when we are in the grace periodHolger Hans Peter Freyther1-0/+5
2013-01-15bsc: Introduce an authenticated signal for the MSC connectionHolger Hans Peter Freyther2-0/+5
Send the signal whenever a MSC appears to be authenticated.
2013-01-13sms: Avoid infinite CP-ERROR/CP-ACK loop with sms.Holger Hans Peter Freyther1-0/+12
The issue can be reproduced by typing the following 9 or more times. OpenBSC> subscriber id 2 sms sender id 2 send bla For some unknown reason the phone sends us a CP-ERROR for a transaction identifier we have allocated and used but don't remember. Due the way we use the SMC/SMR we 'establish' the machine and this results in a CP-ACK being sent out. But the CP-ERROR is not having the content we want for an establish so we send out a RP-ERROR. This will result in a CP-ERROR because the phone does not know the transaction... Avoid the issue by checking the direction of the transaction. If we do not know the transaction and it is supposed to be allocated by us then just ignore it and do not create a new transaction.
2013-01-11debug: Fix typo in the debug categoryHolger Hans Peter Freyther1-1/+1
2013-01-11ctrl: Work on the cmd->node instead of the data pointer passedHolger Hans Peter Freyther1-9/+9
Make the macros use the cmd->node instead of the data pointer. The naming of the variable inside the macro already indicates that it should use the nodes data structure.
2013-01-11ctrl: Fix the signature of the string control commandsHolger Hans Peter Freyther1-2/+7
Like with all type unsafe callbacks we will need to cast from void to the dtype. This addresses some compiler warnings. Make it possible to only include the control_cmd.h to use the macros defined in this file.
2013-01-08si: Do not schedule SI1 to SI4 on the second TRXAndreas Eversberg1-3/+5