Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Instead of sending many messages we will queue the OML
messages and wait for the ACK/NACK before sending the
next message from the queue. We tag the msgb to remember
if we need to wait for an ack or not.
We keep the order of all messages, on ACKs and similiar
occassions we will drown the queue until we reach a message
that needs to be acked and then wait for that ack again.
Possible breakage can appear when we send an OML (e.g.
BS11 specific message) msg which does not need to be acked
through the abis_nm_sendmsg call. The fix will be to use
the _direct version of this method.
Conflicts:
openbsc/include/openbsc/abis_nm.h
openbsc/include/openbsc/gsm_data.h
openbsc/src/gsm_data.c
openbsc/src/input/ipaccess.c
|
|
This was previously handled by the unexpected release
lchan handling for the secondary channel, we will now
just set the secondary_lchan pointer back to NULL and
let the framework free the resources.
|
|
The Channel Activate might be sent to a different TRX than the
Immediate Assignment. So we need to make sure that the channel
is activated before we send the immediate assignment for the RACH.
Another reason for that is according to GSM 08.58 we should take
the frame number from the activate and use it for the starting
time inside the immediate assignment message. We obviously do not
do this yet.
The code assumes that the BTS will either respond with a CHAN ACK
or a CHAN NACK if not the lchan will remain in the request state.
Conflicts:
openbsc/include/openbsc/gsm_data.h
openbsc/src/abis_rsl.c
openbsc/src/chan_alloc.c
|
|
Use a memcpy to read and access the data to gurantee that
the data is properly aligned. The performance hit should
be smaller than the abort handled by the kernel.
|
|
The value of the in_addr might not be 32 bit aligned and reading
it can generate an alignment error on ARM. Fix it by using memcpy
to copy the data into a local variable.
There are many more potential alignment issues that we will fix
when we hit them.
|
|
nanobts_attr_nsvc0 + 10 is unlikely to be 32 bit aligned
and will trigger an alignment error on ARM..
|
|
|
|
This is incomplete and needs more thinking... We need to change
RSL chan modify as well..
This reverts commit 5bfb9102affc861bc478ad8279e587e82c60c6bd.
|
|
|
|
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.
|
|
Allow the MS to use uplink discontinous transmission has
it can save some power for the MS and we can save some
bandwidth on the uplink as well.
|
|
Every time the highlevel code is done with the channel, increase
the value. This way we will be able to see if we are leaking a
channel that was never used or should have returned to the system.
|
|
|
|
This variable can be used by higher levels to declare they
were done with lchan...
|
|
|
|
Sometimes we see channels being allocated and never be freed.
This command should help to understand why this is happening
and in which state this channel is.
|
|
|
|
|
|
If we end up with a channel that has refcount of zero,
has no msc_data attached and the handler has not returned
1 we will just close it.
|
|
This can help to detect 'stale' channels in a network.
|
|
The nanoBTS will send us at least one measurement report
after we have decided to close the channel... degrade that
output to a debug message.
|
|
We have added two commands with the same name to the tree..
the second one should have been the BSC...
|
|
|
|
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.
|
|
|
|
The crash happened when we had released the primary channel
for one reason or another but still got the assignment complete
on the secondary. This null checking is some extra caution, with
the previous commit we should fail the msc_data test early in
this method.
|
|
When closing a SCCP connection and any of the two lchan's are open,
then close them down properly.
Move the lchan freeing into a new method and call that one from the
SCCP connection close handling. Move the bss scp data varaible to
the top of the context..
|
|
|
|
The bssap.c code is sending a multirate config with
only AMR 5.9kb marked as supported, the MSC does not
like if we assign a FR channel and send the GSM 0808
FR AMR mode back to the MSC. So change the code to
not look at the channel type for AMR...
|
|
I still believe NMO_III is what we want, but as indiciated some phones
absolutely refuse to even connect to the GPRS network in this mode :(
|
|
I added this to have the patch in the history, I don't think
that we need to include this but it is good to have it cherry
pickable in the history.
This reverts commit 290a11d0ad7f01564182834d53b2c1073d754c2a.
|
|
The value of this config is not known.... the paging load
needs to be tested again with these parameters...
|
|
Use the values but the paging configuration from a trace...
|
|
|
|
We need to start at argv[1] for the regexp of
this access-list, also subtract one from number
of items..
|
|
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...
|
|
|
|
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).
|
|
|
|
* Enable sending RLC3
* Use values from the trace..
This is not intended to be merged to master as this enables the
RLC3 that the comment claims to only work on EGPRS enabled models
and it is changing timers to hex indicating a change where none
happened... This is mostly for testing.
|
|
This is applied to all incoming BSC connections.
|
|
|
|
|
|
|
|
The previous code just hardcoded RSL_BCCH_CCCH_CONF_1_C, but
we need to inspect the timeslot config to know what to use.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
Do not attempt to patch RTCP packets...
|
|
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).
|
|
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..
|
|
|