aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/bsc_nat.h
AgeCommit message (Collapse)AuthorFilesLines
2010-10-27Merge branch 'zecke/number-rewrite'openbsc/0.9.9Holger Hans Peter Freyther1-0/+7
2010-10-27nat: Close SCCP connections when the USSD Provider is closed.Holger Hans Peter Freyther1-0/+1
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: Implement rewriting, have a very basic test for that featureHolger Hans Peter Freyther1-1/+1
2010-10-27nat: Add hook for rewriting a setup messageHolger Hans Peter Freyther1-0/+2
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/+5
Parse a msg file in case we do have a list.
2010-10-25nat: Implement accepting a USSD Provider connection, do authenticationHolger Hans Peter Freyther1-0/+8
2010-10-25nat: Keep a ussd token in the configHolger Hans Peter Freyther1-0/+2
We will have the USSD provider connecting to us and we will use the IPA protocol, including the auth mechanism.
2010-10-25nat: Add an option to set the query string to matchHolger Hans Peter Freyther1-0/+1
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-0/+1
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/+3
2010-10-25nat: Create a USSD module to filter out USSDs...Holger Hans Peter Freyther1-0/+3
2010-10-25nat: Introduce a new connection type for Supplementary ServicesHolger Hans Peter Freyther1-0/+2
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-0/+3
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 Freyther1-1/+1
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-19nat: Add a method to add a proper message to the queue.Holger Hans Peter Freyther1-0/+1
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/+2
2010-10-13nat: Make the write_queue write callback a public functionHolger Hans Peter Freyther1-0/+1
2010-10-13nat: Make the queue routine work on any write_queueHolger Hans Peter Freyther1-0/+1
2010-10-13ipaccess: Put our extensions to the protocol into the same enumHolger Hans Peter Freyther1-2/+0
Rename NAT_IPAC_PROTO_MGCP to IPAC_PROTO_MGCP and place it in the enum. We need to be prepared to change this number if IPA is ever going to use it for something else.
2010-10-08nat: Allow a BSC to have multiple LACsHolger Hans Peter Freyther1-2/+12
Make it possible that one BSC is serving multiple cells. Introduce a list of lacs, add functions to manipulate the lists. The current test cases for paging by lac continue to work.
2010-10-03nat: Provide statistics about amount of different messages.Holger Hans Peter Freyther1-0/+6
Provide simple statistics on how many LUs, Paging Responses etc. we are seeing in the network.
2010-09-25nat: Keep track of how many connections we rejectHolger Hans Peter Freyther1-0/+3
Keep track of how many connections we reject due the IMSI filter itself or due not being able to parse the message.
2010-09-25nat: Add statistics to the access-list in the NATHolger Hans Peter Freyther1-0/+8
Count how many times we match a BSC or NAT deny. This will give us the number of how often something should be filtered.
2010-09-20nat: Use the write_queue inside the CFG.Holger Hans Peter Freyther1-1/+0
2010-09-15nat: Start inspecting every message coming from the BSC for the IMSIHolger Hans Peter Freyther1-0/+2
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-01nat: We have 1 to 31 available to the BSC.Holger Hans Peter Freyther1-1/+1
2010-08-30nat: Replace the MGCP Endpoint if that is requiredHolger Hans Peter Freyther1-1/+1
Add code to replace the Endpoint number for the mgcp.
2010-08-29nat: Attempt to assign the BSC Timeslot based on a free listHolger Hans Peter Freyther1-1/+5
Do attempt to not reassign an endpoint immediately but go to the next free one.
2010-08-06nat: Keep the state (CRCX,MDCX,DLCX) of the operation..Holger Hans Peter Freyther1-0/+2
This will allow to have additional debug information and to use the state inside the forwarding code.
2010-08-06mgcp: Make the CI uint32_t all the way to avoid mismatchHolger Hans Peter Freyther1-1/+1
2010-07-31nat: Fix compilation with nat not being enabled.Holger Hans Peter Freyther1-63/+2
common_vty.c was including bsc_nat.h which tried to get the sccp/sccp_types.h which is not required to be installed. Move all structs using/embedding SCCP structures into the bsc_nat_sccp.h and include. This should fix the compilation.
2010-07-27nat: Rename ip-tos to ip-dscp and provide an alias...Holger Hans Peter Freyther1-1/+1
2010-07-23nat: u_int8_t -> uint8_tHolger Hans Peter Freyther1-2/+2
2010-07-05nat: Remove the first_contact variable.Holger Hans Peter Freyther1-1/+0
2010-07-05nat: Create a method to determine if any MSC is connected.Holger Hans Peter Freyther1-0/+2
In the future we will have multiple MSC connections so we will need to figure if any of them is active.
2010-07-05nat: Keep track of the MSC handling the connection.Holger Hans Peter Freyther1-0/+1
In the future we might have multiple MSCs connected and need to dispatch it to the right one.
2010-06-17nat: Count the number of dropped SCCP and MGCP calls as well.Holger Hans Peter Freyther1-0/+2
Count the number of dropped calls and lost SCCP connections due the loss of a connection to the BSC...
2010-06-17nat: Switch per BSC counters to the rate ctr.Holger Hans Peter Freyther1-7/+7
This is switching the simple statistics to the rate counter and is updating all users...
2010-06-15nat: Allow to specify multiple entries in the access-list...Holger Hans Peter Freyther1-0/+7
Inside the access-list we have a list of entries that have either one allow or one deny rule... we do not allow to remove a single rule but one has to remove the whole list, in that case talloc will handle cleaning all entries. Right now the matching is O(n*m) as we traverse the list (multiple times) and run the regexp multiple times. One way to make it faster would be to concat all regexps into one.
2010-06-15nat: Shorten the access-list struct and method names (still way too long)Holger Hans Peter Freyther1-4/+4
2010-06-15[nat] Implement the removal of an access-list.Holger Hans Peter Freyther1-0/+1
2010-06-15[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-06-15[nat] Add ip-tos option to the nat.Holger Hans Peter Freyther1-0/+1
This is applied to all incoming BSC connections.
2010-06-15[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-06-15[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-06-15[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-06-15[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-06-15[nat] Use and print the connection type of a SCCP connection.Holger Hans Peter Freyther1-0/+5
2010-06-15[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-06-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