aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2010-09-15nat: Attempt to disconnect a connection when IMSI filtering happensHolger Hans Peter Freyther1-4/+60
Attempt to disconnect the connection and make both sides happy about this. Right now it only handles the LU and should be extended to the CM Service Request.
2010-09-15nat: And the sequence number away, making it work more reliableHolger Hans Peter Freyther1-4/+8
2010-09-15nat: Parse the id response, extract the IMSI, compare itHolger Hans Peter Freyther1-1/+58
Add a test case and also add a basic check that we got some size checks correct. The next step is to act on the result.
2010-09-15nat: Start inspecting every message coming from the BSC for the IMSIHolger Hans Peter Freyther2-3/+20
Return early in case the IMSI was already checked, if not we need to look at the connection and check if the message could contain a imsi we want/need to filter.
2010-09-15nat: Remember if we have check the imsi.Holger Hans Peter Freyther2-3/+4
Return -1 if the IMSI should be filtered, 0 if the IMSI could not be checked and 1 if the IMSI was checked and allowed to pass. In the future this will be used to inspect every message coming by.
2010-09-15nat: Keep the fiter status in the return message.Holger Hans Peter Freyther1-1/+3
2010-09-15nat: Improve the log message in case we have SCCP data without a connectionHolger Hans Peter Freyther1-1/+4
Describe which kind of data we have and where it was coming from as this makes debugging a bit easier.
2010-09-11vty: Use \r\n in the copyright messagesHolger Hans Peter Freyther5-24/+24
We should use VTY_NEWLINE but our strings are static, always use \r\n as unix terminals can handle that as well.
2010-09-11bsc: Set the copyright for the real BSC.Holger Hans Peter Freyther1-0/+2
2010-09-06[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-09-06[paging] Only page if we have some free channels right nowHolger Hans Peter Freyther3-0/+63
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. By default we are keeping the old behavior to always page and only by changing a setting one is using the new behavior.
2010-09-06[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. This is done to avoid crashes of the nanoBTS when too much paging messages are send.
2010-09-06[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-09-06[paging] When we ran down to 0 available paging slots start a credit timerHolger Hans Peter Freyther1-9/+17
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-09-06vty: Fix build due to merge issue.Holger Hans Peter Freyther1-0/+1
2010-09-06chan: Add configuration to handle paging any with TCHHolger Hans Peter Freyther2-0/+24
It is possible that the MSC is not sending the channel type it needs for the operations it wants to do. Add a configuration option to assign a TCH in case of paging any requests. It can be a good idea to leave SDCCHs free for location updating requests and use the TCH for SMS-MT and CC-MT.
2010-09-06chan: Store the to be assigned channel type in the GSM Network.Holger Hans Peter Freyther5-6/+37
Store the mapping from request to channel type in the GSM Network struct as there is some policy involved with handling the request. E.g. in a half rate network we don't want emergy calls to be getting a TCH/F, or we want to have a different policy for early/late assignment of phone calls. Update the table when creating the network and when the neci is changed.
2010-09-06bsc_init: Allow DTXu and enable DTXd on RSL (experimental)Holger Hans Peter Freyther3-3/+24
Allow the MS to use uplink discontinous transmission by setting the right bit in the SystemInformation and set DTXd/DTXu on the RSL channel commands. This is configurable via dtx-used (0|1) on the network level and still considered as experimental.
2010-09-06[alloc] Assign a TCH for LU when all SDCCHs are occupied.Holger Hans Peter Freyther3-3/+24
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-09-05nat: Use ':' to separate the message and strerrorHolger Hans Peter Freyther1-1/+1
2010-09-04vty: CONFIG_NODE is the anchor and should not be treated as config.Holger Hans Peter Freyther1-0/+1
This is fixing an assert in vty_go_parent due trying to go from CONFIG_NODE to the parent.
2010-09-04vty: Add the config node code to everyone.Holger Hans Peter Freyther4-0/+4
2010-08-30nat: Replace the MGCP Endpoint if that is requiredHolger Hans Peter Freyther1-4/+33
Add code to replace the Endpoint number for the mgcp.
2010-08-30nat: Use different static transaction numbers for the DLCX/MDCX messageHolger Hans Peter Freyther1-1/+1
2010-08-30nat: Document that the MDCX message is not implementedHolger Hans Peter Freyther1-0/+2
2010-08-29nat: Send the right MDCX down the streamHolger Hans Peter Freyther1-3/+3
2010-08-29nat: Remove the code that is wrongly placed..Holger Hans Peter Freyther1-9/+0
i refers to the MSC side of endpoints and not the BSC..
2010-08-29nat: Close the right endpoint down the stream.Holger Hans Peter Freyther1-1/+1
2010-08-29nat: Add vty command to show the endpoint allocation statusHolger Hans Peter Freyther1-0/+26
2010-08-29nat: Attempt to assign the BSC Timeslot based on a free listHolger Hans Peter Freyther2-3/+51
Do attempt to not reassign an endpoint immediately but go to the next free one.
2010-08-29nat: Remove the CRCX value from the natHolger Hans Peter Freyther1-4/+1
Assume that if the MSC has assigned a timeslot/multiplex it will also be used for the MGCP. So we just assume that it was allocated on the BSC as well... in the worse case we will send a DLCX downstream but it should be fine.
2010-08-29nat: Reindent the code, no functional changeHolger Hans Peter Freyther1-20/+20
2010-08-29nat: Make the code work in terms of endpoints instead of timeslot/multiplexHolger Hans Peter Freyther2-17/+15
We are going to have more than one trunk, so all code hardcoding the multiplex to zero must go. Avoid this kind of problem by saving the MGCP endpoint number and comparing that.
2010-08-29nat: Use the bsc_timeslot when talking to the BSC downstreamHolger Hans Peter Freyther1-3/+4
2010-08-27[gprs] Add option parsing to SGSNHarald Welte1-1/+75
2010-08-26vty: Provide a is_config_node for the VTY and use it for the bscHolger Hans Peter Freyther3-3/+16
Right now only bsc_hack and osmo_bsc need to have a custom config handling as they use the subscr/oml nodes.
2010-08-25Introduce '-D' commandline option to daemonize processesHarald Welte5-5/+75
This uses the osmo_daemonize() function of libosmocore >= 0.1.18, and is now implemented for bac_nat, osmo-bsc, bsc_hack, osmo-gbproxy and bsc_mgcp. This means only osmo-sgsn is missing, which currently has no option parsing at all.
2010-08-25bsc_init: Compare it with the right enum typeHolger Hans Peter Freyther1-1/+1
In both cases the int value was zero, so it actually worked
2010-08-24Add gprs_sndcp.h to noinst_HEADERSHarald Welte1-0/+1
2010-08-12gsm48: Add method to send a separate facility message...Holger Hans Peter Freyther1-1/+19
Send a facility messages with notifySS/CNAP as payload to the phone... the function is not called from anywhere in the tree yet but I use it locally.
2010-08-09[GPRS NS] Fix memory leak in gprs_ns_sendmsg() error pathHarald Welte1-0/+4
When gprs_ns_sendmsg() succeeds in sending the message, we free()d the msgb after transmitting it on the socket. However, if the NS-VC is blocked or some other error condition exists, we returned an error code but didn't free the msgb. This resulted in an error leak which is now being addressed.
2010-08-08mgcp: Add a vty command to free a given endpoint.Holger Hans Peter Freyther1-0/+19
2010-08-08mgcp: Use transient errors in more cases...Holger Hans Peter Freyther1-10/+10
2010-08-06mgcp: Reduce the log level to debug for these calls.0.9.4Holger Hans Peter Freyther1-3/+3
2010-08-06nat: Do not report paging to every BTS...Holger Hans Peter Freyther1-1/+1
2010-08-06nat: In case the downstream fails on a CRCX, ask it to do a DLCXHolger Hans Peter Freyther1-4/+33
If the CRCX is failing, we will send a DLCX downstream and the next time the callagent tries to do a CRCX we will be more lucky. This is for the case where we have an endp allocated.
2010-08-06mgcp: Remember if the endpoint was allocated...Holger Hans Peter Freyther2-3/+5
Do not use the CI_UNUSED to decide if an endpoint is allocated but introduce a new flag. This way only the CRCX and free_endp play with the allocated field.
2010-08-06mgcp: Add a callback to inform the client that an endpoint got reallocatedHolger Hans Peter Freyther1-0/+2
2010-08-06nat: Use the state information for the callback.Holger Hans Peter Freyther1-2/+2
2010-08-06nat: Keep the state (CRCX,MDCX,DLCX) of the operation..Holger Hans Peter Freyther1-0/+4
This will allow to have additional debug information and to use the state inside the forwarding code.