aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2010-06-01[nat] Introduce the concept of access-listHolger Hans Peter Freyther1-7/+21
One can set one access-list to one BSC and one access-list to one NAT. The matching of IMSIs remains the same for now, also applying the white/blacklist. Access lists can not be deleted for now and no perf opt is done (e.g. one could cache the result of the last lookup in the bsc struct).
2010-05-31[nat] Add ip-tos option to the nat.Holger Hans Peter Freyther1-0/+1
This is applied to all incoming BSC connections.
2010-05-31[mgcp] Set the IP_TOS/DSCP on RTP/RTCP IP packets.Holger Hans Peter Freyther1-0/+1
2010-05-22[gprs] NS/BSSGP: Make all timers configurable from VTYHarald Welte1-0/+2
2010-05-18msc: Add msc ip-tos NR option for the BSCHolger Hans Peter Freyther2-1/+3
Allow to set the TOS field via the VTY interface. The SO_PRIORITY was not used as it has no effect on the packets being sent (in contrast to the documentation).
2010-05-16[nat] Make the refusal more complicated to support more MSCsHolger Hans Peter Freyther1-0/+1
We will need to confirm the connection, then we can send the GSM48 message, then we need to close the connection... the embedding in the refusal method was way too easy..
2010-05-16[nat] Make create_sccp_src_ref return the SCCP Connection.Holger Hans Peter Freyther1-1/+1
Right now it was not possible to just find a connection, by returning the connection that is created we will have direct access to it. It will be used by the local connection handling.
2010-05-16[nat] Remove parameter that is never accessed directlyHolger Hans Peter Freyther1-1/+1
The msgb needs to be around when we access the parsed structure but that needs to be guranteed by the caller handing out the parsed structure.
2010-05-16[nat] Add the notion of a "local" connection.Holger Hans Peter Freyther1-0/+1
A local connection is only between the MUX and the real BSC. We will not forward anything to the MSC. This will be needed for the IMSI filtering as sending a CREF is not liked by every BSC...
2010-05-16gsm48: Split LU Reject sending and generation into two.Holger Hans Peter Freyther1-0/+1
2010-05-16gsm48: Separate CM Service Reject sending and creation.Holger Hans Peter Freyther1-0/+1
Split out the msg generation from the sending, this will be used by the nat to send a refusal message.
2010-05-16[nat] Use and print the connection type of a SCCP connection.Holger Hans Peter Freyther1-0/+5
2010-05-16[nat] Set the connection type/reason as out parameterHolger Hans Peter Freyther1-1/+10
We are analyzing each CR message and it is nice to know the reason these connections were created. Change the nat method.
2010-05-16gsm48: Add a generic MI from classmark+mi extraction.Holger Hans Peter Freyther1-0/+1
This is a generic MI extraction for the MI if it is followed after a classmark. For the Phase1 Phones the classmark2 is not four bytes but it might be different. This code can be used by the CM Service Request handling as well.
2010-05-15gsm48: Add size checks to the paging response mi parsing.Holger Hans Peter Freyther1-1/+1
We go from no size checks to some content checking. We should refactor the whole classmark2 + mi parsing that is used throughout the code into one place with proper size checking. This is the start and requires a new libosmocore as well.
2010-05-15[nat] Remove the imsi allow option on the nat level.Holger Hans Peter Freyther1-2/+0
For now we have: 1.) bsc imsi deny to deny at the BSC level 2.) bsc imsi allow to allow a SIM at the BSC level 3.) nat imsi deny to deny at the global level
2010-05-15[nat] Add a token to the nat config and handle ID GETHolger Hans Peter Freyther1-0/+1
This allows to chain a nat with a nat by answering to the id get code and sending the token.
2010-05-15[bsc_msc] Move the id get response into the bsc_msc.cHolger Hans Peter Freyther1-0/+2
Create the message in a common place and then it can be used by tools having an a link or such.
2010-05-14[nat] Allow to set the description for the bsc.Holger Hans Peter Freyther1-0/+2
This will allow to add description to each BSC.
2010-05-14[nat] Make the string -> regexp parsing publicHolger Hans Peter Freyther1-0/+3
This way it can be used from within a test case to test the regexps..
2010-05-14nat: Introduce a nat filter that is working on the CR message.Holger Hans Peter Freyther1-0/+5
Currently there is no implementation but the refusal code is in place and will send a refusal back to the BSC.
2010-05-13sw_load: Specify the trx_nr for the software loadHolger Hans Peter Freyther1-1/+1
For the multi TRX setup we will need to specify the right trx->nr to be able to flash the BTS. For the BS11 case we are ignoring the additional argument.
2010-05-13ipaccess: Send the reset to the BASEBAND_TRANSC and supply TRXHolger Hans Peter Freyther2-2/+2
Send the IPA Restart to a given BTS/TRX, change the signal callbacks to carry the trx instead of the BTS so we have an easy access to the right TRX and change the ipaccess-config to use that TRX. This is fixing the restart with a multi TRX setup. Even if we have the msg->trx, use the gsm_bts_trx_by_nr and get the TRX from the fom header. This is because the OpenBSC and the BTS numbering might not match for the multi TRX case.
2010-05-12abis: Pass the abis_om_obj_inst in the nm_state_event..Holger Hans Peter Freyther1-1/+2
2010-05-12nat: Store the creation time of a sccp connection.Holger Hans Peter Freyther1-0/+3
Generate it when creating the connection but also when reusing an existing connection.
2010-05-11bsc_msc_ip: Move the MSC connection into the structureHolger Hans Peter Freyther1-0/+3
2010-05-11nat: Print the MSC status with a new vty command.Holger Hans Peter Freyther1-0/+1
2010-05-05bsc_msc: Add a connection timeout for the MSC.Holger Hans Peter Freyther1-0/+1
When no one is listening our connection would get stuck in the SYN_SENT state and we would be there forever.
2010-05-05bsc_msc_ip: Make the ping/pong timeouts configurableHolger Hans Peter Freyther1-0/+2
Take the timeouts from the struct.
2010-05-05nat: Make ping/pong timeout configurable.Holger Hans Peter Freyther1-0/+5
2010-05-03'struct gprs_ra_id' is now defined in libosmocoreHarald Welte1-8/+0
2010-05-02nat: Send a IPA PING down the stream and wait for the pong.Holger Hans Peter Freyther1-0/+4
We will send a ping every 20 seconds and if we have no pong within 5 seconds we will close down the BSC connection and wait for a reconnect. We will start this after having authenticated the BSC and we stop the timer when destructing the BSC connection.
2010-05-01remove any reference to 'struct gsm_bts_link'Holger Hans Peter Freyther1-5/+0
2010-04-27nat: Add a command to close a given BSC ConnectionHolger Hans Peter Freyther1-0/+1
This can be used to clear stale connections for a given BSC or to force a reconnect of the BSC.
2010-04-26[ts] Make the e1inp_ts delay configurableHolger Hans Peter Freyther1-0/+3
Currently the nanoBTS bootstrap code requires a high delay otherwise we are not bringing the device up properly. Changing the init code turns out harder than it seems like. So this is a workaround for that to allow a high speed RSL/OML connection after the bringup. The line driver can have a default TS delay. It is set to the current default for the nanoBTS and the BS11. For the ipaccess case we will set the delay lower for the RSL connection and inside the ipaccess-config we can set it low right away to have fast firmware flashing and such.
2010-04-23bsc_msc_ip: Add a timeout for waiting for the CC of the networkHolger Hans Peter Freyther1-0/+1
Start a timeout to wait for the CC of the network and if it does not come in time we will abort the connection and take down the allocated lchans.
2010-04-23nat: Only close connections that were fully connectedHolger Hans Peter Freyther1-0/+1
Remember that we have seen a CC and have a valid destination local reference now and only send a fake RLC to the MSC when we had connections in this state.
2010-04-22nat: Only send DLCX when we have send a CRCX to the BSC on this endpointHolger Hans Peter Freyther1-0/+1
2010-04-22nat: Change MGCP DLCX handling and send dummy MDCX to the BTS.Holger Hans Peter Freyther1-5/+3
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-21[mgcp] Add a dummy send method...Holger Hans Peter Freyther1-0/+1
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[nat] Add option to forbid the paging to the BSC.Holger Hans Peter Freyther1-0/+2
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 Freyther1-1/+1
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-20[vty] Allow to set the RACH NM attributes on a per BTS basisHolger Hans Peter Freyther1-0/+4
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] Only page if we have some free channels right nowHolger Hans Peter Freyther1-0/+3
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-20Revert "ipaccess: Send RTP Payload IE for CRCX & MDCX"Holger Hans Peter Freyther2-7/+0
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-19[paging] When we ran down to 0 available paging slots start a credit timerHolger Hans Peter Freyther1-0/+1
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 Freyther4-1/+30
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-19[vty] Count pending paging requests for the vtyHolger Hans Peter Freyther1-0/+3
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-19[alloc] Assign a TCH for LU when all SDCCHs are occupied.Holger Hans Peter Freyther1-1/+1
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: change 'gprs enabled <0-1>' to 'gprs mode (none|gprs|egprs)'Harald Welte1-1/+10
This causes some config file breakage but sounds like a much cleaner approach than to have two separate config variables for this.