Holger Hans Peter Freyther
732d9c19bf
Merge branch 'zecke/number-rewrite'
openbsc/0.9.9
2010-10-27 12:41:19 +02:00
Holger Hans Peter Freyther
c4fd45ccf1
Merge branch 'zecke/ussd-side-channel'
2010-10-27 12:37:42 +02:00
Holger Hans Peter Freyther
afa5a394ab
Require 0.1.27 for the new gsm0808 methods
2010-10-27 12:37:13 +02:00
Holger Hans Peter Freyther
a8a50a87ea
nat: Also send a Clear Command in case of the USSD Provider dies
2010-10-27 12:02:21 +02:00
Holger Hans Peter Freyther
54f5352e07
nat: Close SCCP connections when the USSD Provider is closed.
...
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-27 11:01:55 +02:00
Holger Hans Peter Freyther
07dfc70276
nat: Make clear where the RLSD is send to
...
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-27 10:54:11 +02:00
Holger Hans Peter Freyther
643931db3d
nat: Look at the number type to figure out if we want to rewrite it
2010-10-27 10:40:45 +02:00
Holger Hans Peter Freyther
1400310f05
nat: Explain that we do not want to have a + in the replacement rule
2010-10-27 10:40:44 +02:00
Holger Hans Peter Freyther
25adfceb3a
nat: Add '*' as wildcard for the IMSI matching.
...
In case any rule has a '*' we will always match this
rule.
2010-10-27 10:40:44 +02:00
Holger Hans Peter Freyther
73bbf89245
nat: Implement rewriting, have a very basic test for that feature
2010-10-27 10:40:44 +02:00
Holger Hans Peter Freyther
a914daf174
nat: Add hook for rewriting a setup message
...
Create a new function, hand the data to this function, take back
a possible modified msgb and invalidate parsed at this point.
2010-10-27 10:40:44 +02:00
Holger Hans Peter Freyther
76424392e0
nat: Add vty option for number rewriting
...
Parse a msg file in case we do have a list.
2010-10-27 10:40:43 +02:00
Holger Hans Peter Freyther
0586b0fa47
[vty] First set of fixes for the oml/rsl con dropping
...
The code had wrong documentation in the VTY, it crashed
when OML or RSL was not up yet. These issues are fixed
right now.
2010-10-26 09:44:21 +02:00
Holger Hans Peter Freyther
2484ceb2be
[vty] Add ipa specific command to provoke failures to test OML/RSL reconnect
...
We need to simulate OML/RSL failure in an easy and fast way
and adding a command to do so seems like a good way to achieve
this. The command is a bit misplaced, in one way it is no config
and does not belong into the config node but then again it does
not belong into the VIEW_NODE either as it is manipulating content.
On this merge I have changed it to the ENABLE_NODE.
2010-10-26 09:40:13 +02:00
Holger Hans Peter Freyther
f3ca2eeede
Merge branch 'zecke/ussd-side-channel'
2010-10-25 21:08:37 +02:00
Holger Hans Peter Freyther
90bbccfca9
nat: Forward the data coming from the USSD module to the BSC.
2010-10-25 21:06:03 +02:00
Holger Hans Peter Freyther
4c401e7a1a
nat: Forward extra state and the message to the USSD provider
...
Forward the SCCP state and the data to the USSD provider,
also mark the connection as local.
2010-10-25 21:06:03 +02:00
Holger Hans Peter Freyther
ec8a4e23d3
ipaccess: Add a structure for informing the USSD provider about the state
...
This is used to inform the USSD provider about the state of the
connection.
2010-10-25 21:06:03 +02:00
Holger Hans Peter Freyther
c16c2dc5d3
nat: Implement accepting a USSD Provider connection, do authentication
2010-10-25 21:06:03 +02:00
Holger Hans Peter Freyther
64b12924bf
nat: Replace the idiom for replacing a string with a function call
...
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-25 21:04:46 +02:00
Holger Hans Peter Freyther
e393f273e7
nat: Keep a ussd token in the config
...
We will have the USSD provider connecting to us and we
will use the IPA protocol, including the auth mechanism.
2010-10-25 21:04:46 +02:00
Holger Hans Peter Freyther
3229f442f4
nat: Implement the matching of certain USSD messages
...
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-25 21:04:46 +02:00
Holger Hans Peter Freyther
c1578bc747
nat: Add an option to set the query string to match
...
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-25 21:04:46 +02:00
Holger Hans Peter Freyther
c1cac1e31a
nat: Make the imsi checking function public.
...
We will use this method in the USSD module to check if the
IMSI should be handled for USSD queries.
2010-10-25 21:04:45 +02:00
Holger Hans Peter Freyther
d1effd835f
nat: Provide a USSD access list to check for which to play HLR.
2010-10-25 21:04:45 +02:00
Holger Hans Peter Freyther
17870cf533
nat: Create a USSD module to filter out USSDs...
2010-10-25 21:04:45 +02:00
Holger Hans Peter Freyther
74dc303134
nat: Introduce a new connection type for Supplementary Services
...
If we have a CM Service Request we will look into the message
to see if it is a Supplementary Service Activation.
2010-10-25 21:04:44 +02:00
Holger Hans Peter Freyther
a3967579f8
nat: Move the DTAP unpacking into a new method
...
DTAP unpacking will be used by the USSD checking code
2010-10-21 12:23:27 +02:00
Holger Hans Peter Freyther
749497eeb3
nat: Copy the IMSI, then free it or move the context to the connection
...
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-21 12:22:50 +02:00
Holger Hans Peter Freyther
8c78b480f9
nat: Store the IMSI inside the SCCP Connection data
...
Store the IMSI for the connections that we are tracking,
it will be freed when the normnal SCCP connection is freed.
2010-10-21 12:22:20 +02:00
Holger Hans Peter Freyther
6b03831495
lua: Mention that the code has some bugs...
2010-10-20 19:21:49 +02:00
Holger Hans Peter Freyther
fbf87a502d
lua: Search for clear requests from the network as well
2010-10-20 19:21:07 +02:00
Holger Hans Peter Freyther
def777ae7e
lua: Check BSSMAP msgtypes in one function..
2010-10-20 19:21:07 +02:00
Holger Hans Peter Freyther
8bde2ee61f
lua: Check for Cipher Mode Reject failures as well
2010-10-20 19:21:07 +02:00
Holger Hans Peter Freyther
bc3d8dd89e
lua: Check for assignment failures
2010-10-20 19:21:06 +02:00
Holger Hans Peter Freyther
721c457e61
lua: Check for disconnects with non normal release too
2010-10-20 19:21:06 +02:00
Holger Hans Peter Freyther
e512e3fd2f
lua: Fix the indenting of the file
2010-10-20 18:57:17 +02:00
Holger Hans Peter Freyther
7220ca9778
contrib: Add LUA script to store SCCP connections with Errors
...
Split the trace based on SCCP Connections, in case an error is
detected, the trace will be stored instead of being deleted and
the full log can be viewed afterwards.
Right now only LU Rejects are recognized, but this can be extended
to other things as well.
2010-10-20 16:58:39 +02:00
Holger Hans Peter Freyther
1fd60631f7
nat: Change the order of the DENY/ALLOW rule for the BSC.
...
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-19 20:55:33 +02:00
Holger Hans Peter Freyther
a25d579ab9
nat: Convert the ip to host order to allow to bind to other ips
2010-10-19 17:48:13 +02:00
Holger Hans Peter Freyther
7e8da1379e
nat: Add a method to add a proper message to the queue.
...
This will be used by the USSD module to forward the data
without creating another copy of the data.
2010-10-19 16:40:34 +02:00
Holger Hans Peter Freyther
3d38742d1c
nat: Find a connection by the real ref
2010-10-19 16:40:17 +02:00
Holger Hans Peter Freyther
f961de1108
nat: Use the make_sock routine to listen for incoming connections.
2010-10-19 16:40:04 +02:00
Holger Hans Peter Freyther
a09b966cd4
nat: Use strncmp on the string in case it is not null terminated
2010-10-19 16:39:01 +02:00
Holger Hans Peter Freyther
e383980a7e
ipaccess: Make sure the unitid is null terminated
...
The nanoBTS is sending null terminated strings, make sure they
are really null terminated.
2010-10-14 22:05:52 +02:00
Holger Hans Peter Freyther
d9e81d0fcf
ipaccess: Verify that the data fits in the package.
...
There is something wrong with the code, the length is
here uint8_t but when we generate a IDGET we put it
as 16bit data.
2010-10-14 22:05:44 +02:00
Holger Hans Peter Freyther
949e0ba648
ipaccess: memset the tlv_parsed structure before parsing
...
Make sure the tlv_parsed structure is initialized properly,
otherwise we might detect a tag that should not be present.
2010-10-14 22:05:34 +02:00
Holger Hans Peter Freyther
69cfa179ef
nat: Make the write_queue write callback a public function
2010-10-13 23:56:01 +02:00
Holger Hans Peter Freyther
4d44fc56e7
nat: Make the queue routine work on any write_queue
2010-10-13 23:55:52 +02:00
Holger Hans Peter Freyther
19c530c5e7
ipaccess: Put our extensions to the protocol into the same enum
...
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-13 23:55:32 +02:00