aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2013-01-28bsc_init: Forget which SIs are valid for the trx.zecke/to-be-mergedHolger Hans Peter Freyther1-0/+8
The recent commit to improve the SI generation lead to setting the BCCH SIs for all TRX in a multi-trx setup. This is because we create the SIs globally but si_valid appears to be limited to the 'current' trx. Warn if we attempt to set SIs for the BCCH on a trx that does not have a BCCH.
2013-01-28[PATCH] mgcp: Add a hack to allow to patch the SSRCHolger Hans Peter Freyther1-1/+2
This is a hack and we will need to do this only if a MDCX with a new IP address is arriving.
2013-01-28gbproxy: Address two unaligned memory access warningsHolger Hans Peter Freyther1-0/+7
The lines 461 and 303 were producing unaligned memory access as the BVCI was not aligned properly. Introduce a tlvp_val16_unal to read 16bit from the data, use memcpy to the stack to make sure that it is working in the aligned and unaligned case.
2013-01-28bts: Allow to exclude a BTS from the global RF lock handlingHolger Hans Peter Freyther1-2/+2
Some BTS might be in locations where they can run all the time, allow to exclude them from the global lock handling.
2013-01-28bsc: Do not forward GSM RR messages to the MSCHolger Hans Peter Freyther1-0/+2
This has been addressed more properly in master, here we will just not forward everything that is handled locally.
2013-01-28libctrl, osmo-bsc: Get rid of net prefixDaniel Willmann1-1/+1
net is now implicit in the root node
2013-01-28ctrl: Add a function to create the cmdHolger Hans Peter Freyther1-0/+1
2013-01-28ctrl: Do not allow to set the RF Lock for a single trxHolger Hans Peter Freyther1-1/+0
The ip.access nanoBTS has issues if the admin changes are called too often in too little time. This will lead to a situation where the site manager will fail to start properly. Remove the TRX code as the RF Control class does not support setting this per TRX.
2013-01-28libctrl: Improve error handling if controlif setup failsDaniel Willmann3-15/+21
2013-01-28Merge branch 'zecke/feature/rf-lock-exclude'Holger Hans Peter Freyther9-28/+136
Exclude a BTS from the RF Lock and allow MO and MT operations on this BTS. The paging modification has been verified using the FakeBTS and the handover test. Paging continues to work for the normal case.
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-15Merge branch 'zecke/feature/location-control'Holger Hans Peter Freyther5-9/+50
Merge the code from the On-Waves branch. Use the internal RF control interface to switch the TRXs on/off. This code has the necessary delays to not crash the nanoBTS. Introduce signals for re-connection of the BSC on the A-link.
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
2013-01-08abis: Fix the verification of BCCH/SDCCH8 on TRX != 0 for the BS11Holger Hans Peter Freyther1-1/+1
The SDCCH8 is only allowed on trx 0 if there is no BCCH/SDCCH4 on it.
2013-01-07Merge branch 'zecke/feature/improve-audio-codec-selection'Holger Hans Peter Freyther6-0/+98
Allow to select the AMR multirate config using the VTY.
2013-01-07audio: Make AMR multirate configurable for the osmo-bscHolger Hans Peter Freyther1-0/+51
Provide VTY options to allow/forbid the usage of a specific multirate option.
2013-01-07audio: Make the BSC handle the new mr_config request of the BSC APIHolger Hans Peter Freyther5-0/+47
Handle the mr_config request and set the AMR multirate config for the given MSC. Initialize the mr_config with the AMR5.9 default we have been using until now.
2013-01-07Merge branch 'zecke/feature/move-calls'Holger Hans Peter Freyther3-3/+140
Be able to move a call from one MSC to another MSC based on a regexp for the phone number and pre-defined dial plan.
2013-01-07bsc: Blind fix to deal with phones sending a dialplan of 0Holger Hans Peter Freyther1-2/+2
2013-01-07bsc: Fix crash when the new route is not availableHolger Hans Peter Freyther1-1/+1
When we are asked to route calls on a local link and the link is not available we would crash when trying to send a packet over a deadline. When we have decided to move a connection it is guranteed that the current SCCP connection will vanish, we either migrate to another MSC or the RSL/subscriber connection will be closed.
2013-01-07bsc: Add VTY code for the local area prefixHolger Hans Peter Freyther1-0/+20
2013-01-07bsc: Inspect a CC Setup message and attempt to reroute the trafficHolger Hans Peter Freyther2-3/+120
Inspect the CC Setup messages and if the dialed number is matching the regexp of the local MSC the connection will be rerouted. The original MSC will get a GSM0808 CLEAR REQUEST, a new connection with a CC Setup message will be opened.
2013-01-07Merge remote-tracking branch 'origin/zecke/barr-subscribers'Holger Hans Peter Freyther13-893/+1283
Allow to merge barr certain subscribers with a given error code
2013-01-07nat: Send a CM Service Reject for NAT_CON_TYPE_SSA as wellHolger Hans Peter Freyther1-1/+1
For USSD we remember that it is a supplementary service but this means we sent no CM Service Reject down to the subscriber. Treat NAT_CON_TYPE_CM_SERV_REQ and NAT_CON_TYPE_SSA the same and send a cm service reject.
2013-01-07nat: Introduce a global IMSI barr list using red-black treesHolger Hans Peter Freyther9-16/+288