AgeCommit message (Collapse)AuthorFilesLines
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
2010-04-08bssap: Forget the secondary lchan in the MSC data and forget the MSC dataHolger Hans Peter Freyther1-1/+7
We will handle sending the assignment failure inside the T10 timer but it is better to reset the secondary_lchan inside the msc_data right away before we might accidently use it.
2010-04-08bsc_msc_ip: Attempt to handle assignment failures more properlyHolger Hans Peter Freyther2-6/+47
1.) when we do get a assignment failure from the MS. It is coming on the old channel and not the new one. Fix the comparison. Also always reset the msc_data to NULL before dropping the reference 2.) the LCHAN signal handler in bssap.c claims that the T10 expire cb should free the secondary channel. It currently does not do it and we have to do it now... the whole thing was not tested and even after this commit this behavior is not heavily excercised... with OsmocoreBB we would be able to do this in the future.
2010-04-08bsc_msc_ip.c: Move from DEBUG to LOG loggingHolger Hans Peter Freyther1-31/+31
Use the oppurtunity to flag errors as errors in the code base.
2010-04-08bsc_msc_ip.c: Mention the timestamp config option.Holger Hans Peter Freyther1-0/+1
2010-04-08bssap: Speculative crash fix when queueing messages for the BTSHolger Hans Peter Freyther3-6/+30
It appears to be possible that we attempt to submit a DTAP on a SCCP connection when we have a channel without the msc_data assigned. This change should fix the crash (which is not well understood), fix a memleak in the case of the queue being full.
2010-04-08bsc_msc_ip: Specify the size we can read directly...Holger Hans Peter Freyther1-1/+1
data_len is wrong as well as we have reserved... specifying it directly seems to make valgrind happy. This also means that we might receive more than one UDP message and do not properly forward things. I will need to investigate.
2010-04-08[paging] Do not use request after it was was destroyed..Holger Hans Peter Freyther1-1/+1
Increment the counter before we call the remove request which is freeing the request...
2010-04-08nat: Handle unknown RLSD by send a RLC back to the network.Holger Hans Peter Freyther1-1/+31
2010-04-08nat: Attempt to handle exceptions on the fd and trat them as connection lossHolger Hans Peter Freyther1-2/+17
2010-04-08nat: Print the IP address of the connected BSCsHolger Hans Peter Freyther1-2/+7
2010-04-08nat: Rename variable to make it use msc in the nameHolger Hans Peter Freyther1-2/+2
2010-04-08nat: Attempt to have a single BSC write methodHolger Hans Peter Freyther4-24/+26
This method currently prepends the IPA header and sends the data. In the future we might be able to use SCTP for it. We have to remove the IPA header from the static messages for that to work. This code is untested.
2010-04-08Bump the version for the BSC.on-waves/0.3.93Holger Hans Peter Freyther1-1/+1
2010-04-08nat: Rename bsc_write to bsc_send_dataHolger Hans Peter Freyther1-8/+8
2010-04-07bssap: Comment and code cleanupHolger Hans Peter Freyther1-3/+2
2010-04-07bssap: Switch to use LOGP and pick some debug categoriesHolger Hans Peter Freyther1-53/+53
2010-04-07bssap: Another possible null derference on the code.Holger Hans Peter Freyther1-1/+1
We do not want to send a msg over the NULL lchan. Let us return fast from here.
2010-04-07vty: Fix the byteorder... of the bound_ipHolger Hans Peter Freyther1-1/+1
We are storing the bound_ip in host byteorder but when using ntohl we need to convert it back to to network byte order.
2010-04-07bssap: Speculative crash fix.Holger Hans Peter Freyther1-1/+1
2010-04-07[mgcp] Print the errno/strerror when we can not receive from our socketHolger Hans Peter Freyther1-2/+3
2010-04-07nat: Send the reset after we have received the init ackHolger Hans Peter Freyther2-5/+10
Sending the reset right away will upset the MSC and we need to wait for the first contact.
2010-04-07nat: Fix the reset message and prepend the IPA headerHolger Hans Peter Freyther1-0/+1
2010-04-07nat: Allow to realloc already allocated endpointsHolger Hans Peter Freyther1-0/+1
E.g. when the MGCP on the BSS is not responding we could block all of our endpoints. As we are mostly in the middle and forward bits we will happily reallocate the endpoints.
2010-04-07[mgcp] Add an option to allow using reallocing an endpointHolger Hans Peter Freyther2-2/+11
For some mode of operation it can be acceptable to reallocate an already allocated endpoint. This can be the case when we only deal with one call agent that is keeping track of the endpoint but slightly confused.
2010-04-07nat: Send a GSM0808 message to the MSC when we are reconnectingHolger Hans Peter Freyther1-0/+28
The rest of the code should filter the reset ack msg. This should make the MSC give up all resources it had allocated for us.
2010-04-07nat: Attempt to make MGCP forwarding more robustHolger Hans Peter Freyther1-17/+27
When not being able to allocate the msgb for the forwarded data there is no point in keeping and preparing the transaction. So we can move the msg creation a bit up and only do the allocations after having done the msgb allocation. When receiving a DLCX we will now delete the endpoint right away. This means when a BSS does not respond to the DLCX our endpoint will not be blocked. E.g. this could happen when the MGCP is restarting or in similiar conditions. When the BSS is not responding we move the burden up the chain to the CallAgent. We have to still keep track of the transaction id and the bsc pointer to keep the mgcp forward routine working.
2010-04-07[mgcp] Count incoming RTP packets from the BTS and remoteHolger Hans Peter Freyther4-2/+14
2010-04-07bsc_msc_ip.c: Fix the -e command line optionHolger Hans Peter Freyther1-1/+1
2010-04-06Tag on-waves 0.3.92 after the merge with masteron-waves/0.3.92Holger Hans Peter Freyther1-1/+1
2010-04-06Merge remote branch 'origin/master' into on-waves/bsc-masterHolger Hans Peter Freyther58-916/+1167
* 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-04-06Increase version numberon-waves/0.3.91Holger Hans Peter Freyther1-1/+1
2010-04-06bsc_msc_ip.c: Do not attempt to disconnect when not connectedHolger Hans Peter Freyther1-0/+2
This is fixing a segfault due calling bsc_unregsiter_fd twice without being in the list.
2010-04-06bsc_msc_ip.c: Crash fix when the MSC disconnectsHolger Hans Peter Freyther1-2/+12
Check if we do have the msc_data before invoking code in bssap.c. We might have lost the MSC connection and asked for the channel to be taken down but we might have received one last message from the BTS.
2010-04-06nat: Send a RLSD to the network for connections belonging to the BSCHolger Hans Peter Freyther1-1/+27
Sending a RLSD with SCCP failure makes the MSC free all the resources (MGCP, audio channels), right now we are ignoring the RLC we get from the network and print a unhandled message.
2010-04-06bsc_msc_ip.c: Register the SIGUSR2 handler... to really handle it.Holger Hans Peter Freyther1-0/+1
2010-04-06nat: Print a MSG when receiving unknown SCCP messages.Holger Hans Peter Freyther1-0/+3