aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat
AgeCommit message (Collapse)AuthorFilesLines
2011-03-03Rename bsc_nat -> osmo-bsc_nat and bsc_mgcp -> osmo-bsc_mgcpHarald Welte8-4673/+0
This now enforces a unique structure: All of our main daemon programs start with an "osmo-" prefix.
2011-03-03re-structure the OpenBSC directory layoutHarald Welte1-4/+4
The new structure divides the code into a number of libraries for the BSC core functionality, MSC core functionality, Abis transport, TRAU and other bits. This doesn't introduce any functional code change but simply moves around files and alters Makefile.am accordingly. Next step would be to disentangle a lot of the inter-library dependencies and make the individual bits of code more independent.
2011-02-28mgcp: Introduce a mgcp_trunk_config enum for endpoint configsHolger Hans Peter Freyther1-12/+12
We want to support real trunks in the MGCP code and we need to have some better book keeping for those. Move the code around.
2011-02-28nat: For debugging make it possible to set the last used endpointHolger Hans Peter Freyther1-0/+27
This will influence the allocator from where to search for the next free endpoint. This can be used to force it to allocate a specific endpoint next.
2011-02-27nat: Fix some corruption in the test caseHolger Hans Peter Freyther1-0/+5
2011-02-27nat: Change number of multiplexes to the max-endpointsHolger Hans Peter Freyther3-12/+35
2011-02-26nat: Allocate endpoints from multiple multiplexes.Holger Hans Peter Freyther2-13/+36
This code allocates endpoints from multiple multiplexes but will always leave 0x0 and 0x1f unassigned in the multiplex.
2011-02-26nat: Start making the number of multiplexes configurableHolger Hans Peter Freyther2-2/+15
Introduce a VTY setting that right now needs to be set to one. To make updating this setting possible we will now store the number of endpoints in the bsc connection as well.
2011-02-26nat: Allocate the endpoint status dynamicallyHolger Hans Peter Freyther3-9/+33
Allocate the status for an endpoint dynamically. We will support BSCs with different amount of multiplexes and need to have this flexibility in the future. Add the proper null checks to the current users of this code.
2011-02-24Use shorter vty_app_info->name for all appsHarald Welte1-1/+1
... as this is now used as SYSLOG ident
2011-02-24misc: Compile fixes due 4d54d0b883dcf85cd92290dd4cea51754c70b621Holger Hans Peter Freyther1-2/+4
2011-02-18nat: If the number starts with 00 turn it into a international numberHolger Hans Peter Freyther1-1/+6
Switch the type to international and skip the '00' of the phone number. This should fix some issues with gateway MSCs.
2011-02-18nat: Add extra size check for the number and fail if it does not fitHolger Hans Peter Freyther1-0/+6
If the replaced number is too long for the phone number we will have to stop processing here.
2011-02-11[BSC] Move the BTS-type specific code from bcs_init.c to bts_*.cHarald Welte1-13/+0
bsc_init.c was a big mess even only for two supported BTS models, so before adding more BTS types, this needs a cleanup. All the BTS specific code from bsc_init.c has now moved into bts_{siemens_bs11,ipaccess_nanobts}.c This has required that input_event() and nm_state_event() get both converted to proper libosmocore signals instead of referencing external symbols.
2011-01-07ipa: Only use one IPA number for Osmo extensionsHolger Hans Peter Freyther5-6/+6
Instead of using more numbers from the proto range we will use the 0xee and then have a mini header with our new proto id in there. For a start rename the use types to _OLD.
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte7-43/+36
The reason for this is quite simple: We want to make sure anyone running a customized version of OpenBSC to operate a network will have to release all custom modifiations to the source code.
2010-11-15misc: Introduce a --enable-coverage mode to build with gprof coverageHolger Hans Peter Freyther1-2/+2
This adds a test coverage build. One can use gcov and lcov on the resulting data afterwards to see which code paths were executed and which were not.
2010-11-04nat: Verify that the endpoint from the assignment command existsHolger Hans Peter Freyther1-1/+8
Make sure that the MSC endpoint exists on the NAT, otherwise we end up trying to free this endpoint when the SCCP connection is taken down and will corrupt our memory. This issue started to pop up as we have reduced the number of endpoints to 60 to allow transcoding on them.
2010-10-29nat: Send a clear command in case of connection releases.Holger Hans Peter Freyther1-7/+29
This should help the BS+ to release RF channels earlier.
2010-10-28nat: Fix a thinko in allowing '*' as a wildcard...Holger Hans Peter Freyther1-2/+2
We need to match everything BUT the wildcard and then do the normal strcmp...
2010-10-27Merge branch 'zecke/number-rewrite'0.9.9Holger Hans Peter Freyther3-1/+190
2010-10-27nat: Also send a Clear Command in case of the USSD Provider diesHolger Hans Peter Freyther1-0/+23
2010-10-27nat: Close SCCP connections when the USSD Provider is closed.Holger Hans Peter Freyther2-1/+41
Send a RLSD down to the BSC in case the USSD Provider is gone. It is not sending a Clear Command and ut depends if the BS+ will like this kind of behavior. At least the data on the NAT will be freed soon afterwards due the RLC message.
2010-10-27nat: Make clear where the RLSD is send toHolger Hans Peter Freyther1-2/+2
Add a _msc to the method as we will send a RLSD to the MSC and will add a method to send it down to the BSC as well.
2010-10-27nat: Look at the number type to figure out if we want to rewrite itHolger Hans Peter Freyther1-1/+3
2010-10-27nat: Explain that we do not want to have a + in the replacement ruleHolger Hans Peter Freyther1-0/+6
2010-10-27nat: Add '*' as wildcard for the IMSI matching.Holger Hans Peter Freyther1-2/+2
In case any rule has a '*' we will always match this rule.
2010-10-27nat: Implement rewriting, have a very basic test for that featureHolger Hans Peter Freyther2-3/+142
2010-10-27nat: Add hook for rewriting a setup messageHolger Hans Peter Freyther2-1/+18
Create a new function, hand the data to this function, take back a possible modified msgb and invalidate parsed at this point.
2010-10-27nat: Add vty option for number rewritingHolger Hans Peter Freyther1-0/+25
Parse a msg file in case we do have a list.
2010-10-25nat: Forward the data coming from the USSD module to the BSC.Holger Hans Peter Freyther1-3/+44
2010-10-25nat: Forward extra state and the message to the USSD providerHolger Hans Peter Freyther2-4/+39
Forward the SCCP state and the data to the USSD provider, also mark the connection as local.
2010-10-25nat: Implement accepting a USSD Provider connection, do authenticationHolger Hans Peter Freyther3-1/+197
2010-10-25nat: Replace the idiom for replacing a string with a function callHolger Hans Peter Freyther1-12/+4
Remove a lot of code in favor of a new function that is freeing the old string and copying the new one. I should have gotten the context and the strings right.
2010-10-25nat: Keep a ussd token in the configHolger Hans Peter Freyther1-0/+28
We will have the USSD provider connecting to us and we will use the IPA protocol, including the auth mechanism.
2010-10-25nat: Implement the matching of certain USSD messagesHolger Hans Peter Freyther1-1/+63
Have various checks, check if the IMSI should be handled, if there is a USSD query set and then decode and compare the value.
2010-10-25nat: Add an option to set the query string to matchHolger Hans Peter Freyther1-0/+15
Allow the query string to be set. The ussd matching code will check for this string and then forward it to the bypass.
2010-10-25nat: Make the imsi checking function public.Holger Hans Peter Freyther1-2/+2
We will use this method in the USSD module to check if the IMSI should be handled for USSD queries.
2010-10-25nat: Provide a USSD access list to check for which to play HLR.Holger Hans Peter Freyther1-0/+15
2010-10-25nat: Create a USSD module to filter out USSDs...Holger Hans Peter Freyther3-1/+40
2010-10-25nat: Introduce a new connection type for Supplementary ServicesHolger Hans Peter Freyther1-2/+9
If we have a CM Service Request we will look into the message to see if it is a Supplementary Service Activation.
2010-10-21nat: Move the DTAP unpacking into a new methodHolger Hans Peter Freyther1-13/+21
DTAP unpacking will be used by the USSD checking code
2010-10-21nat: Copy the IMSI, then free it or move the context to the connectionHolger Hans Peter Freyther2-8/+28
Extract the IMSI from the first message as well and safe it in the connection structure. The problem is that we do not have this structure at this point, so we will allocate the imsi as child of the bsc_connection and then move/steal it.
2010-10-21nat: Store the IMSI inside the SCCP Connection dataHolger Hans Peter Freyther1-0/+1
Store the IMSI for the connections that we are tracking, it will be freed when the normnal SCCP connection is freed.
2010-10-19nat: Change the order of the DENY/ALLOW rule for the BSC.Holger Hans Peter Freyther1-6/+7
Currently it is not is not easily possible to disable everyone and then only allow certain SIMs. By changing the order we can do: access-list imsi-deny only-something ^[0-9]*$ access-list imsi-allow only-something ^123[0-9]*$ and still keep the usecase of only forbidding certain SIMs on certain LACs. Adjust test case, test that the other cases are still functional.
2010-10-19nat: Convert the ip to host order to allow to bind to other ipsHolger Hans Peter Freyther1-1/+1
2010-10-19nat: Add a method to add a proper message to the queue.Holger Hans Peter Freyther1-0/+4
This will be used by the USSD module to forward the data without creating another copy of the data.
2010-10-19nat: Find a connection by the real refHolger Hans Peter Freyther1-0/+13
2010-10-19nat: Use the make_sock routine to listen for incoming connections.Holger Hans Peter Freyther1-38/+4
2010-10-19nat: Use strncmp on the string in case it is not null terminatedHolger Hans Peter Freyther1-1/+2