Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This patch adds several messages that would be displayed if:
* the Ki argument is missing.
* you pass an invalid Ki.
* the database fails to perform the operation (add/delete/update).
Before this patch, no messages were spotted on this errors.
I noticed this while adding Ki to the existing subscribers in the
nanoBTS setup: I introduced a wrong Ki but the VTY command line did
not report any error. A quick look at the database via sqlite
command confirmed that the new authkey information was not added.
|
|
Introduce a paging group that a BSC can refer to and is used
during the LAC lookup. This way paging can be flooded through
the network and just filtered at the last element in the core.
|
|
A paging group is a list of LACs, different BSCs can point
to a paging group and use it for the LAC lookup.
|
|
The current code tries to find _one_ bsc for a paging message
and then continues. The new code will try to find multiple BSCs
for each LAC. This is done in preparation of having two BSCs
handle the same LAC. This code right now is O(m*n) but it will
be worse once paging groups are landed.
The code to test the function was reduced to just test the lac
lookup code as the other part can not be tested in a standalone
setup anymore.
|
|
Address the FIXME and take code from the on-waves/bsc-master
branch. This will count the number of requests.
|
|
The code to create the struct gsm_bts is in libcommon right now
and we can not call paging_init from there. Right now it appears
to be the easiest of doing the init internally.
|
|
Be able to configure a list of destinations (duplicates allowed)
that will be tried in a round robin fashion. The change is in
the bsc_msc_connection to operate on a list. We achieve the
round robin nature with the same trick used in the paging code
to delete and append the current entry. The nat code was updated
to compile but one can only configure one destination.
|
|
Right now the code assumes that any request coming
from the NAT is a query and the code responds to with
a list of configured LACs.
|
|
Start using the new Osmo Extension header and forward MGCP
to the MGCP GW.
|
|
|
|
For restarting the NAT we can now block it, it will not accept
new connections and for existing connections it will attempt
to drop them over time. A blocked NAT will end up with no BSC
connections left and then can be safely restarted.
|
|
We want to send MGCP through the Osmo Extension and also
want to send the list of local LACs to it.
|
|
It is not an error of the BSC but we will treat a
BTS error like an error of the BSC for now.
|
|
In case this is a local USSD connection we will ignore
the clear command and respond with a RLC to any RLSD but
will never forward that to the BSC. This way the external
USSD is fully in charge of the connection.
There are theoretical issues if there are multiple transactions
on the same SCCP Connection but this can not be solved properly
right now.
|
|
|
|
Keep track of the used transaction identifier and always forward
messages to the USSD provider. E.g. this can be used to have a
dialogue going. Right now it is still possible that the MSC will
close down the connection.
|
|
|
|
Remove the usage of 0, 1, 2 and start using enum values. We can
still assume con_local is a number.
|
|
|
|
The compiler can't know that on the first iteration we will
assign nmp_worst as we have used a high average value.
|
|
The BSC code does not use transactions, move it to the libmsc.
|
|
|
|
These are not needed any more. We used them for u_int
types but we now use uint which comes from stdint.h
|
|
This was done with sed on the files.
|
|
We need to and out the protocol discriminator as call control
might have use transactions. This has only failed for the USSD
filter so far as this must deal with transactions.
|
|
The 'P' code was not present in the getopt call anyway.
|
|
|
|
It is similar to make_sock() available in openbsc/libcommon.
|
|
It seems it remains unimplemented, remove it.
|
|
With this patch, ipaccess-proxy makes more robust option checking:
$ ./ipaccess-proxy -l 1.1.1.1 -b 2.2.2.2 -e
ERROR: missing mandatory argument for `-e' option
And we return to shell to enforce the user to try again with the
appropriate invocation.
Before this patch, the default getopt_long() error handling was
enabled which displayed this message:
./ipaccess-proxy: option requires an argument -- 'e'
and ipaccess-proxy continued working.
This is generic enough to cover other option that require mandatory
arguments like `--bsc' and `--listen'.
|
|
Use generic ipaccess_idtag_name() available in libabis instead.
|
|
This patch was suggested by Zecke.
|
|
Now ipaccess_idtag_parse() returns -EINVAL instead of -1. We also
check for the return value of this function in every invocation to
skip further processing in case of messages with malformed TLVs.
This idea was suggested by Zecke.
|
|
ipaccess_idtag_name() now takes a uint8_t as parameter which is the
length of the type tag.
This patch was suggested by Zecke.
|
|
We need to include this directly to help LCR in building.
|
|
When we have no other MNCC connection but the registeration of the
new fd is failing we should not disable reading from the listen_fd
for ever as the situation might not be permanent.
|
|
There is no point in creating the MNCC socket twice. Only
create it if the user requested this when starting the nitb.
|
|
Allow to invoke tests by name.
|
|
We can handle NVRAM settings via names but there is no way
to discover these names. This commits adds the unusual -H
option to show these values.
|
|
This makes the commented out code an option that might
or might not work reliable.
|
|
|
|
This patch removes the C99 structure initialization which is not allowed
by the wireshark project (since it has to compile with non-C99 compliant
compilers).
It also adds a new option to enable/disable the dissection of vendor
specific ip.access nanoBTS RSL messages.
Tested with file:
ipaccess-startup-mo_to_mo_call-proxy.pcap
|
|
|
|
* include/openbsc/ipaccess.h: Reserve a protocol number for control
commands
* input/ipaccess.c: New function ipaccess_prepend_header_ext prepends
the extension header
|
|
|
|
This patch removes the hardcoded IP addresses for options `-l'
and `-b'.
|
|
Now this is used by ipaccess-proxy, remove redundant implementation in it.
|
|
Use ipaccess_idtag_parse() available in libabis instead.
|
|
Now this is used by ipaccess-proxy, remove redundant implemention in it.
|