Holger Hans Peter Freyther
3f122bed1e
bsc_api: Kill &lchan->conn usage, stop msg->lchan too..
2010-06-17 17:14:35 +08:00
Holger Hans Peter Freyther
dad5724eb3
bsc_api: Remove lchan->conn from the RLL code... it was all dead anyway
2010-06-17 16:58:38 +08:00
Holger Hans Peter Freyther
c6bb3c4e33
bsc_api: Fix compile warning in paging code..
2010-06-17 16:43:24 +08:00
Holger Hans Peter Freyther
9764331062
bsc_api: Move gsm48_rcvmsg into the BSC API and dispatch.
...
The next step in the way to the BSC API. We have a clear a
new connection was opened signal now... and the MSC could
use it...
2010-06-17 16:41:25 +08:00
Holger Hans Peter Freyther
86481c29d4
bsc_api: Make paging/silent call work with the subscriber_connection
...
Do not use the lchan for the paging but operate on the
subscriber_connection, change the signals too to not carry
the lchan but the subscriber connection... the silent call
and vty code still assume there is a lchan inside the
subscriber connection.
2010-06-17 15:05:57 +08:00
Holger Hans Peter Freyther
7b4a53d537
nat: Rename BSC_NODE to NAT_BSC_NODE to avoid future issues.
2010-06-17 14:42:20 +08:00
Holger Hans Peter Freyther
9c78697fa2
nat: Add the exit/end command to the NAT config nodes.
2010-06-17 14:39:15 +08:00
Holger Hans Peter Freyther
8cc2a6d62d
Merge branch 'on-waves/mgcp'
2010-06-17 14:37:10 +08:00
Holger Hans Peter Freyther
75492e6e54
[mgcp] Set the IP_TOS/DSCP on RTP/RTCP IP packets.
2010-06-17 14:34:30 +08:00
Holger Hans Peter Freyther
a19bdabf22
[mgcp] Only patch RTP packets when they arrived on the RTP port
...
Do not attempt to patch RTCP packets...
2010-06-17 14:34:17 +08:00
Holger Hans Peter Freyther
57c4decd1d
bsc_api: Pass the subscriber connection to the SMS...
2010-06-16 15:43:01 +08:00
Holger Hans Peter Freyther
0fbb3eca14
bsc_api: Remove the _lchan and make the method static..
2010-06-16 15:42:59 +08:00
Holger Hans Peter Freyther
4f8340939e
bsc_api: Remove some more occurences of the lchan.
2010-06-16 15:42:40 +08:00
Holger Hans Peter Freyther
77008464be
bsc_api: Move BSC API between MSC and RSL code...
...
The lowlevel BSC paging API is a simple wrapper around
the RSL command. The BTS will automatically repeat these
messages but if we end up with two MSC inputs we will
need to count these messages somewhere...
2010-06-16 15:42:40 +08:00
Holger Hans Peter Freyther
bddd152049
bsc_api: Operate on the subscriber connection for subscriber management
2010-06-16 15:42:40 +08:00
Holger Hans Peter Freyther
9ce1b27fbf
bsc_api: Use gsm_subscriber_connection in rrlp.c
2010-06-16 15:42:40 +08:00
Holger Hans Peter Freyther
b2be195b50
bsc_api: Rename lchan_for_subscr to connection_for_subscr and update code
...
With handover and late/early assignment there might be two channels
for one subscriber and only the BSC knows which one to use, so use
the gsm_subscriber_connection everywhere...
2010-06-16 15:42:38 +08:00
Holger Hans Peter Freyther
ea01ca764f
chan_alloc: Make the lchan_find(bts,subscr) private/internal..
2010-06-16 15:42:22 +08:00
Holger Hans Peter Freyther
0128843591
gsm48: Release the "operation" after sending out data...
...
* With an immediate release we would release the lchan
before sending the data... change it.
2010-06-16 15:42:21 +08:00
Holger Hans Peter Freyther
228c1059fd
bsc_api: Remove the lchan from the secure channel code...
...
The code still needs to stop touching the lchan directly
and put stuff into it.
2010-06-16 15:42:21 +08:00
Holger Hans Peter Freyther
e9ed340425
bsc_api: Cut back on direct lchan usage.
2010-06-16 15:42:21 +08:00
Holger Hans Peter Freyther
667cdd60ca
gsm_subscriber_base: Pass the subscriber as param to avoid crash.
...
The function we call will take the item from the list and do
the right thing.
2010-06-16 15:42:21 +08:00
Holger Hans Peter Freyther
280c768f91
gsm_04_11: Fix a crash... in case there is a already a connection
...
If there is a connection, return before paging... otherwise
we will delete the SMS twice.
2010-06-16 15:42:18 +08:00
Holger Hans Peter Freyther
1c6f394234
si13: Use the correct pseudo length for the SI13 message
...
The GSM04.08 Section 10.5.2.19 specifies the L2 Pseudo Length
and the length does not include rest octets, so we will need
to use a zero for the length.
The patch is coming from Dieter Spaar.
2010-06-16 12:11:43 +08:00
Holger Hans Peter Freyther
28e2988ce2
nat: Add the OSMO NAT to the build process.
2010-06-15 20:31:43 +08:00
Holger Hans Peter Freyther
434a1fd84e
nat: Make the test compile, no bssap.c, use log_target
2010-06-15 20:31:43 +08:00
Holger Hans Peter Freyther
1398f13a64
nat: Attempt to update the VTY usage to the latest version
...
* Install the show commands to be available in the enable mode as well
* Provide a copyright header..
2010-06-15 20:31:35 +08:00
Holger Hans Peter Freyther
69d801e23a
nat: Do not use the bssap.h include as it does not exist in this branch.
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
9b0550ce4c
[mgcp] Build a libmgcp.a and link to it.
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
ab52c84889
nat: Add NAT_NODE and BSC_NODE for the nat
...
Implement the go to parent and exit functions for the nat.
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
3d73e0d235
nat: Register a debug region for the nat.
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
27d36de3b9
nat: Fix the access-list-name command...
...
We have added two commands with the same name to the tree..
the second one should have been the BSC...
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
26c3a358d6
nat: Add both entries to the tail to keep the order they are inserted
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
d77c8171aa
nat: Allow to specify multiple entries in the access-list...
...
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-15 20:24:21 +08:00
Holger Hans Peter Freyther
29c67039fe
nat: Shorten the access-list struct and method names (still way too long)
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
e4900a074a
[nat] Implement the removal of an access-list.
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
f0c3e912e3
[nat] Fix the parsing of the access-list regexp...
...
We need to start at argv[1] for the regexp of
this access-list, also subtract one from number
of items..
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
86c4dc3a0e
[nat] Fix VTY bug with access-lists...
...
vty->index does not hold a BSC Config at this point as we are
on the nat level... use the global _nat pointer for now...
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
8affef5059
[nat] Introduce the concept of access-list
...
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 20:24:21 +08:00
Holger Hans Peter Freyther
078321aaae
[nat] Add ip-tos option to the nat.
...
This is applied to all incoming BSC connections.
2010-06-15 20:24:21 +08:00
Holger Hans Peter Freyther
ca999a989d
msc: Add msc ip-tos NR option for the BSC
...
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-06-15 20:24:20 +08:00
Holger Hans Peter Freyther
b71c23bb0a
[nat] Make the refusal more complicated to support more MSCs
...
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 20:24:20 +08:00
Holger Hans Peter Freyther
fa20c94456
[nat] Make create_sccp_src_ref return the SCCP Connection.
...
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 20:24:20 +08:00
Holger Hans Peter Freyther
e1fb5670cd
[nat] Remove parameter that is never accessed directly
...
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 20:24:20 +08:00
Holger Hans Peter Freyther
c58da4b374
[nat] Add the notion of a "local" connection.
...
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 20:24:20 +08:00
Holger Hans Peter Freyther
605f62a16a
[nat] Do not access the con after the removal
...
In case of a RLC message we will destroy the SCCP connection. This means
that accessing the con and con->bsc will access old memory. Keep the status
local and move the con into an inner scope.
2010-06-15 20:24:20 +08:00
Holger Hans Peter Freyther
ed775e4c1d
[nat] Send a GSM48 message within the reject message
2010-06-15 20:24:20 +08:00
Holger Hans Peter Freyther
91246d724f
[nat] Move the SCCP CREF handling into a new method.
...
We will need to generate messages with a proper reason
and it is easier to do that from a dedicated method.
2010-06-15 20:24:20 +08:00
Holger Hans Peter Freyther
234d31218f
[nat] Use and print the connection type of a SCCP connection.
2010-06-15 20:24:20 +08:00
Holger Hans Peter Freyther
19c0a84fb8
[nat] Set the connection type/reason as out parameter
...
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 20:24:20 +08:00