aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-04-23nat: When having a proper close down, or a short read close the connectionHolger Hans Peter Freyther1-9/+8
For now close the connection when having a short read. This might be due a network issue (loss of segment) or similiar. As we are not handling these issues well, let us close the connection.
2010-04-22nat: Only send DLCX when we have send a CRCX to the BSC on this endpointHolger Hans Peter Freyther2-1/+4
2010-04-22nat: Handle all queueing to the MSC through the same function.Holger Hans Peter Freyther1-16/+12
2010-04-22nat: Use show bsc config for showing the configuration.Holger Hans Peter Freyther1-2/+2
2010-04-22[mgcp] Add a change callback and send a dummy packet on MDCX.Holger Hans Peter Freyther1-0/+10
Send a dummy packet to make sure our Gateway will discover us and can send the ringtone to us.
2010-04-22nat: Use hex for the endpoint namesHolger Hans Peter Freyther1-2/+2
2010-04-22[mgcp] Ignore every dummy packet...Holger Hans Peter Freyther1-7/+7
This routine should operate on different packets and the dummy load is smaller than a legitimate RTP header so it is unlikely we will filture out genuine traffic. The reason is the dummy load might be send more than once.
2010-04-22nat: Change MGCP DLCX handling and send dummy MDCX to the BTS.Holger Hans Peter Freyther6-41/+114
When setting a new MSC timeslot to a SCCP connection check if any of the existing connections have this timeslot, if so we will send a DLCX down the stream to make sure it is closed there, when we will CRCX this new timeslot we will happily reallocate it. When the SCCP connection goes away, or we get a DLCX from the network, or the BSC is gone we will send a DLCX message down the stream as well. When we receive a CRCX from the network we will forward the CRCX as usual and send a dummy MDCX after it. For the DLCX and the dummy MDCX we send a custom MGCP message that will not provoke an answer. Even if the downstream MGCP GW will answer we will ignore it due the dummy transaction id that is not used anywhere else. This change should make sure that we close the dowstream endpoint all the time, even when the DLCX arrives after the SCCP connection is torndown.
2010-04-22nat: Move the write queue init to the allocation functionHolger Hans Peter Freyther2-1/+1
This is required for unit tests that want to queue messages and see if we can provoke a memleak.
2010-04-22nat: Clear the queued messages at the endHolger Hans Peter Freyther1-4/+5
It is possible that the calls from the loop would queue more messages for the BSC and then we would have a nice memory leak... Move it to the bottom.
2010-04-22[mgcp] Protocol extension to not generate answers.Holger Hans Peter Freyther1-0/+24
For the NAT we want to send requests in a send and forget way and we are not interested in seeing the answers, so tell the gateway to not answer them.
2010-04-22[mgcp] Print a Deleted endpoint message again.Holger Hans Peter Freyther1-0/+2
2010-04-21[mgcp] Add a dummy send method...Holger Hans Peter Freyther2-0/+19
This can be used by higher level code to send one dummy message from the audio port to the network. This can be used to make the remote discover the nated port of this endpoint.
2010-04-21[sccp] Move from DEBUGP to LOGP in sccp.cHolger Hans Peter Freyther1-52/+54
2010-04-21[nat] Degrade the message to a plain debug output.Holger Hans Peter Freyther1-1/+1
2010-04-21[nat] Fix the vty option... use the right argument.Holger Hans Peter Freyther1-1/+1
2010-04-21[nat] Add option to forbid the paging to the BSC.Holger Hans Peter Freyther3-1/+24
This can be done for testing purposes and to allow making a BTS crash that can not handle paging requests properly.
2010-04-21[nat] Lookup by BSC Connection otherwise the point of reassigning the is ↵Holger Hans Peter Freyther4-11/+14
defeated When sending a MSG to the MSC try to find the to be used "src" reference by comparing the reference on the BSC and the BSC connection. Only this tuple needs to be unique. Actually only when looking at the SRC REF we need to compare the BSC as the dest reference should be unique but we are just making the check a bit stronger to make it look symmetric.
2010-04-21[nat] Slightly improve logging..Holger Hans Peter Freyther1-1/+2
If we find the connection of a different BSC at least log the BSCs that had duplicated references. We should also dump the src ref and such but i am not doing this right now.
2010-04-21[nat] Ignore paging that is to page by BSS...Holger Hans Peter Freyther1-1/+5
We do not want to handle this identity. If we can not page by lac there is no need to page anything else.
2010-04-21[nat] Add unit test to forward Proto Error messages back both ways.Holger Hans Peter Freyther1-0/+19
2010-04-21[sccp] Parse the error message and add a unit test for it.Holger Hans Peter Freyther3-1/+46
2010-04-21[nat] Reword warning when we had a pending transaction and forget about it.Holger Hans Peter Freyther1-2/+2
2010-04-21[nat] Cope with a bad BSC reassigning in use SRC REFHolger Hans Peter Freyther1-0/+22
Some closed source BSC like to assign the SRC REF from a small static pool and might reuses one we have not yet given up on.
2010-04-20[ipaccess] Attempt to fix setting unit ids with a multi trx setupHolger Hans Peter Freyther1-3/+12
Add a --trx/-t NR option to set the TRX nr to be used when calling set unit id and NVRAM. This was not tested and might or might not work.
2010-04-20Versioning for the bsc_msc_ipon-waves/0.3.99Holger Hans Peter Freyther1-1/+1
2010-04-20[vty] Allow to set the RACH NM attributes on a per BTS basisHolger Hans Peter Freyther4-0/+51
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] Implement the counting for TCH/H and TCH/FHolger Hans Peter Freyther1-4/+11
Add some code to count TCH/H and TCH/F and also handle the neci bit of the network. Our channel allocator will allocate a TCH/F if we request a TCH/H but can not allocate it.
2010-04-20[paging] Only page if we have some free channels right nowHolger Hans Peter Freyther4-0/+67
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-20Version bump for On-Waveson-waves/0.3.98.2Holger Hans Peter Freyther1-1/+1
* Revert RTP_PAYLOAD change as it does not work on AMR * Change paging to not send it as a bulk...
2010-04-20Revert "ipaccess: Send RTP Payload IE for CRCX & MDCX"Holger Hans Peter Freyther4-56/+8
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-20[paging] Continuisly send paging commands.Holger Hans Peter Freyther1-22/+24
Instead of throwing a huge pile of paging commands to the BTS we will submit one paging command every half second. This way we can have different messages between the paging commands.
2010-04-20[paging] When giving credit try to send out paging requests too.Holger Hans Peter Freyther1-0/+2
Make sure the paging timer is restarted after giving some credit and send out paging requests.
2010-04-20[paging] Revert the paging band aid.Holger Hans Peter Freyther1-6/+1
2010-04-19Increase the minor version as this is a band-aid..Holger Hans Peter Freyther1-1/+1
2010-04-19BAND AID... Reduce the delay timer, reduce number of paging requests we sendHolger Hans Peter Freyther2-2/+8
This is a band aid and not a proper fix. Reduce the time between two IPA commands even if it is breaking rugby sized BTSs, limit the paging commands we send during one iteration through the event loop. This should prevent us from killing ourselves in a RACH loop.
2010-04-19bsc_msc_ip: Crash fix on MO-Call starting with a SDCCHHolger Hans Peter Freyther2-3/+6
We do not assing a GSM Subscriber to Mobile Originated calls, when requesting a SDCCH and then starting call control we will crash here due trying to copy a NULL subscriber from the lchan to the other. We do not need to know the IMSI at the BSC so it is okay to not copy the subscriber around, we could even kill all subscriber handling in the future.
2010-04-19[paging] When we ran down to 0 available paging slots start a credit timerHolger Hans Peter Freyther2-9/+18
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 Freyther18-57/+375
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-19Increase the version.on-waves/0.3.98Holger Hans Peter Freyther1-1/+1
2010-04-19RSL: inmplement ip.access paging load indication 'below threshold'Harald Welte1-0/+4
This is an ip.access specific 08.58 oddity. It reports 0xffff available paging buffers if the paging load is below the 12.21 CCCH LOAD INDICATION THRESHOLD. We use 50, since that is what it reports if the threshold == 0.
2010-04-19[vty] Count pending paging requests for the vtyHolger Hans Peter Freyther3-1/+18
Implement a method to count the number of pending paging requests per bts and print it on the VTY. This helps to see how big the backlog of requests is for a given BTS.
2010-04-19nat: Make sccp/bsc show connections more Cisco like...Holger Hans Peter Freyther1-4/+4
Second attempt to use a syntax more comparable to 'Cisco', I have never used such a system... let us see how this is going.
2010-04-19[vty] Allow to allocate TCH/H and TCH/F too for testing purposes.Holger Hans Peter Freyther1-2/+10
2010-04-19[vty] Add a test command to allocate all SDCCHHolger Hans Peter Freyther1-0/+23
2010-04-19[alloc] Assign a TCH for LU when all SDCCHs are occupied.Holger Hans Peter Freyther5-5/+26
When the cell becomes visible we will be bombed with location updating requests and to reduce the load on the network we should assign as many channels for it as possible. During load peek it is even more important than to have a spare voice channel and in general the LU procedure is pretty fast.
2010-04-18GPRS: Fix calculation of 'Extension Length' in GPRS Cell OptionsHarald Welte1-2/+2
The actual 'Extension Length' field in the 'GPRS Cell Options' IE is coded the length - 1, not the full length. Without this fix, the code has an off-by-one error.
2010-04-18GPRS: Indicate the SGSN is Release 99 as this is the first with EDGEHarald Welte1-1/+6
2010-04-18update openbsc.cfg examples for new gprs syntaxHarald Welte2-2/+2
2010-04-18GPRS: Enable EGPRS coding schemes in Cell Attributes if 'gprs mode egprs'Harald Welte1-4/+9