aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2010-04-14Increase the versionon-waves/0.3.97Holger Hans Peter Freyther1-1/+1
2010-04-14[bsc_msc_ip] Implement a simple RF lock command interfaceHolger Hans Peter Freyther5-3/+288
Right now this is using unix domain sockets and it only supports query, on and off as commands. In the future we want to have a vty<->snmp bridge or at least more status exposed via snmp.
2010-04-14bsc_msc_ip.c: Create the GSM network earlier, send the reset on each connectionHolger Hans Peter Freyther2-11/+15
Create the GSM network at the end of the init, send the GSM reset on each reconnection and close a small window when we would send a SCCP msg before being authenticated. For that we have introduced an authenticated into the bsc_msc struct and will manage it inside the bsc_msc_ip.c
2010-04-14bsc_msc_ip.c: Set the signal handler earlier..Holger Hans Peter Freyther1-7/+7
We should set this before starting any network operation.
2010-04-14bsc_msc_ip.c: Fix the source comment...Holger Hans Peter Freyther1-1/+1
This file is the bsc_msc_ip process to communicate with a MSC and to implement the GSM 08.08 spec.
2010-04-13[bsc_msc_ip] Fix the name of the process.Holger Hans Peter Freyther1-1/+1
2010-04-13[bsc_msc_ip] Remove the possible dangerous -P option for the BSCHolger Hans Peter Freyther1-2/+1
We always want to handle the CRCX the way we want to without allocating a BSC proxy process. The default value of 1 is fine for the bsc_msc_ip and we should not allow to set it.
2010-04-13nat: Add config option to filter/handle certain imsi'es.Holger Hans Peter Freyther2-0/+89
2010-04-13[statistics] Count the times we lost the connection to the MSC.Holger Hans Peter Freyther1-0/+2
2010-04-13[nat] Add show statistics to the natHolger Hans Peter Freyther1-0/+30
2010-04-13[statistics] Provide basic statistics for the NATHolger Hans Peter Freyther4-0/+57
Count number of SCCP connections, number of BSC reconnects, number of calls. For most of them we have a per BSC and a global count. Right now all structs using the counters survive until the end of the application so we do not need to free them.
2010-04-13[statistics] Keep track of OML/RSL failures of the BTS.Holger Hans Peter Freyther4-0/+14
2010-04-13[statistics] Keep track of rf failures and rll release failuresHolger Hans Peter Freyther4-1/+13
Add two new counters to count the RF Failures and the RLL Release failure and make them available via the vty interface.
2010-04-13bsc_msc_ip: Install BSC specific show statistics command.Holger Hans Peter Freyther1-1/+14
2010-04-13[mgcp] Only write audio_name/payload when it is actually set.Holger Hans Peter Freyther1-2/+4
2010-04-13[vty] Separate BSC and MSC statistics. Make it easy to print them.Holger Hans Peter Freyther4-41/+52
Move the statistics command into the MSC part and move the BSC statistics printing into a subroutine.
2010-04-12[nat] Change the command stringsHolger Hans Peter Freyther1-3/+3
Put the Target/Object first... Apparently this is more what people that know IOS expect to do.
2010-04-11Increase version..on-waves/0.3.96Holger Hans Peter Freyther1-1/+1
2010-04-11[bsc_init] When the RSL/OML connection drops, free all lchanHolger Hans Peter Freyther3-2/+43
Free all allocated channels on the TRX that failed, go through lchan_free to signal higher layers and then force a reset of the channel. Make the TRX and TS unusable by setting the operational set to 0 (not really defined).
2010-04-11[ipa] Fix the reporting of link down...Holger Hans Peter Freyther1-2/+2
Now bsc_init.c is able to handle the link down messages.
2010-04-11[ipa] Handle losing the RSL/OML connection..Holger Hans Peter Freyther3-32/+128
This is addressing multiple issues regarding the loss of the OML/RSL link to the BTS. 1.) When we lose the OML link, close down all RSL connections on all TRXs (only tested with one TRX) and free the e1inp_line allocated for the OML connection. 2.) When we lose the RSL link on any TRX and we know to which lines this connection belongs, we will close down the OML connection as we have a problem to just reactivate the RSL link. 3.) When we lose the RSL link on any TRX and we do not know where it belongs to we will free the bfd we have allocated in the rsl listen/accept method and we properly close the socket (i could not test this one properly). 4.) When we already have a bts->oml_link we will throw it away and use the new link.
2010-04-11e1_input: Stop the timer when deleting the signalling link on the TSHolger Hans Peter Freyther1-0/+3
Stop the tx_timer when deleting the link on top of that ts. Otherwise bad things might happen. E.g. when scheduling a write on OML and then the OML link vanishes... This is a slight layering violation as there could be more than one signalling link on the timeslow (at least in theory) so the queue and the timer should move to the e1inp_sign_link.
2010-04-11[e1_input] When destroying a link clear all pending messagesHolger Hans Peter Freyther1-0/+7
2010-04-11[vty] First set of fixes for the oml/rsl con droppingHolger Hans Peter Freyther1-4/+6
The code had wrong documentation in the VTY, it crashed when OML or RSL was not up yet. These issues are fixed right now.
2010-04-11Bump the version..on-waves/0.3.95Holger Hans Peter Freyther1-1/+1
2010-04-11Revert "ipa: Reduce the throttling of the IPA msges"Holger Hans Peter Freyther1-1/+3
Reducing the throttling to this value created a regression with bringing up RSL on the nanoBTS 900. We do seem to have a bug/issue in the bsc_init code and might send a command too early without this longer wait period and then the state transition does not happen. For now it is agreed that reverting is the best thing to do. Debugged-by: Sylvain Munaut <246tnt@gmail.com> This reverts commit f5284ae1cf8babc1567b33f469e20a66a73fcd9e.
2010-04-11bsc_msc_ip.c: Do not directly write but use the write queue..Holger Hans Peter Freyther1-7/+1
Use the write queue to write data to the MSC instead of using a direct write.
2010-04-11nat: Update the nat configurationHolger Hans Peter Freyther1-1/+1
2010-04-09[paging] Start with a smaller paging limit...Holger Hans Peter Freyther1-1/+1
The value 20 is just a random number and it really depends on the number of TRX on a bts to be a sane or insane limit.
2010-04-09[paging] Move code to use LOGP and print some more informationHolger Hans Peter Freyther1-6/+6
2010-04-09[paging] Simplify the last request and treat llist as a queueHolger Hans Peter Freyther2-35/+9
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-09paging: Fix format compiler warning...Holger Hans Peter Freyther1-1/+2
2010-04-09[mgcp] Improve the endpoint display on the vty..Holger Hans Peter Freyther1-1/+1
Make sure one understands the two values for number of incoming packets..
2010-04-09[mgcp] Print the IP addr of the BTS we have detected.Holger Hans Peter Freyther1-2/+3
2010-04-09nat: Set a dummy bts_ip to avoid misdetection of the bts...Holger Hans Peter Freyther1-0/+1
It was possible that the nat detected the core network gateway as the bts just due being the first to send data to the port. Fix it by setting a dummy bts_ip to force the mgcp_network code to compare the in_addr.
2010-04-09paging: Avoid integer underflow on ipaccessHolger Hans Peter Freyther1-0/+13
On the nanoBTS we do not receive any load indication for the paging channel and we just decrement our available slots and the unsigned int wraps to the maximum value. Together with a not yet understood bug this makes us go amock. For the nanoBTS and even the Siemens BS11 resetting the load to 20 after two seconds should be just fine. For the nanoBTS we would need to reset the 20 a lot more earlier but we need to take a look at how often we run low.
2010-04-09Bump the version to 0.3.94...on-waves/0.3.94Holger Hans Peter Freyther1-1/+1
2010-04-09[rsl] Set the right state when asking for the activation.Holger Hans Peter Freyther2-0/+2
Set the state to activation to avoid a warning about the getting a CHAN ACK without waiting for it. We set it in the code to make sure it is set after all error checking to avoid inconsistent state as the state is only set back to NONE/ACT due replies from the BTS.
2010-04-09[rsl] Rework the lchan channel release procedureHolger Hans Peter Freyther4-8/+74
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] Remove method that is not called by anything.Holger Hans Peter Freyther1-1/+0
2010-04-09[rsl] Set the release state from within the lchan classHolger Hans Peter Freyther2-1/+1
Currently our GSM04.11 code is closing the link for SAPI=3 and this would mean that the whole channel would be scheduled for close... where we only want to close everything when freeing the lchan or handling an error.
2010-04-09[rsl] Introduce a method to set the state of the lchanHolger Hans Peter Freyther2-8/+16
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-09[rsl] Introduce an error state for the lchan and set it on releaseHolger Hans Peter Freyther3-9/+48
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 Freyther3-5/+17
2010-04-09[rsl] Check the assumption that RF Channel Release is sent during releaseHolger Hans Peter Freyther1-0/+6
We assume that the lchan_free will initiate the release and that when we handle the RLL release indication or the release request as part of the shutdown sequence.
2010-04-09bsc_msc_ip.c: Fix crash when gsmnet is not yet initialized.Holger Hans Peter Freyther1-2/+4
2010-04-08[rsl] Move rf channel release scheduling to a new methodHolger Hans Peter Freyther1-8/+10
The current channel release has a couple of issues we will need to fix in a set of upcoming commits. The issues include: 1.) sending release twice 2.) reassigning the channel inbetween the relase..
2010-04-08[vty] Add ipa specific command to provoke failures to test OML/RSL reconnectHolger Hans Peter Freyther1-0/+46
We need to simulate OML/RSL failure in an easy and fast way and adding a command to do so seems like a good way to achieve this. The command is a bit misplaced, in one way it is no config and does not belong into the config node but then again it does not belong into the VIEW_NODE either as it is manipulating content.
2010-04-08bssap: Reset the msc_data on the lchan earlier/just in caseHolger Hans Peter Freyther1-0/+1
The refcount should drop to zero immediately and then the msc_data would be reset automatically but it is better to remove all traces of it right away.
2010-04-08bssap: Use the new method to give up the secondary lchan and related resourcesHolger Hans Peter Freyther1-2/+2