Age | Commit message (Collapse) | Author | Files | Lines |
|
RRLP is handled in OsmoMSC after the split from NITB, so let's remove
any bogus VTY commands left over in the BSC.
Change-Id: Ib626f43a3a3ca69dfc127afe5832eb58f7fb6a38
|
|
There still is a lot of dead code that we inherited from the NITB
days, let's remove more of it.
libtrau will be re-introduced as part of osmo-mgw later.
Change-Id: I8e0af56a158f25a4f1384d667c03eb20e72df5b8
|
|
Those NACKs shouldn't happen in production, and if they do, you probably
want to have a more persistent figure than a line in the log file about
it. Having counters allows the user to monitor this efficiently.
Change-Id: Ic82c6baaf4cb88d07bc5cdc200f8279cf130f396
|
|
Those NACKs (CRCX/MDCX/PDCH_ACT) shouldn't happen in production, and
if they do, you probably want to have a more persistent figure than
a line in the log file about it. Having counters allows the user
to monitor this efficiently.
Change-Id: I5edf979c9a2b4c9a5a60eef9f66c26da54f2bddf
|
|
Change-Id: I268f222140fa5783e1d19f81fbd45614aaa4b8c4
|
|
Change-Id: I471b598af194dee78ebaa3414b6290c72d9bbcff
|
|
Our T3113 timer default of 60s was set early in the development of
OpenBSC, where we didn't really know what values to use and used
excessively large/safe values. Paging the same MS for 60 seconds (even
if there's no paging response) will however create a lot of PCH load for
no good reason.
It seems there's no clear guidance as to what the value should be. Other
implementations use something in the order of 10 seconds (OpenBTS,
yateBTS), which seems more realistic. THe Siemens BS-11 has a default of
5 seconds.
Let's be conservative and go to 10s as a default, which is already 6
times less potential PCH usage than our default so far...
Closes: OS#2756
Change-Id: If9c8441939c6fdcf6e2b9ede8cc576eb86296209
|
|
Counting the number of T3113 expirations (one per subscriber per BTS)
vs the number of paging attempts (Bsc global) is a ueseless figure,
as you cannot relate each other.
We count on the BSC level:
* how many PAGING we received from the MSC (total)
* how many of those were for cells/LACs we don't serve
* how many of those resulted in PAGING RESPONSE
We count on the BTS leve:
* how many PAGING CMD we sent to the BTS (total)
* how many of those we ignored as we were already paging
* how many of those resulted in PAGING RESPONSE
* how many were expired due to T3113 expiring
Change-Id: I410bbcbb2621f95f11238f7a5da01ab438f5fee1
|
|
Make the comments for struct mgcp_ctx more expressive
Change-Id: Ie80b4915055e3f944ff1870c38e3609197ab72b2
|
|
According to the spec it's an empty 1-byte element reserved for future
extension but we still have to generate padding properly. Add stub
function similar to the used for SI2ter and adjust test output
accordingly.
Related: OS#2711
Change-Id: I3c278c57880a173df3c4648c9724339d23ce94fd
|
|
When the MSC has lost its state and issues a RESET, we should not only
clear all ongoing radio connections, but we should also stop any paging.
There's no point in paging a subscriber if the MSC doesn't know about
this paging anymore.
Change-Id: If3f53d3bb66ad2dc02db823cb813590c6b59c700
Closes: OS#2736
|
|
The call-back was needed inside the NITB to determine which part (CC,
SMS, ...) had triggered a given paging. A pure BSC doesn't need that
feature, so let's get rid of it.
The 'void *cbfn_data' is replaced with a 'struct bsc_msc_data *', as
all callers use it with that type.
Change-Id: I8839e8338d3ad1a91b41e687e8412fcdca3fd9ab
|
|
This timer is started when a channel is allocated with an IMMEDIATE
ASSIGNMENT message. It is stopped when the MS has correctly seized the
channel. Ever since the early days of development we were using a very
long timeout to be on the safe side. However, in production networks
this is a terrible waste of resources, as we will occupy 10s worth
of air-time on one of our channels for each RACH request we receive.
The only scenarios where you might need something absurdly high as 10s
would be if you have 8s of RTT between your BTS and the BSC.
See also https://osmocom.org/projects/osmobsc/wiki/Timers
Change-Id: If3c52a7cf0c06d074c44a2fc414679279189aab9
Closes: OS#2733
|
|
Previously we simply omitted SI2ter Rest Octets which is spec violation
which lead to 'Malformed Packet' error in Wireshark RSL dissector. Fix
this by generating empty 'no rest octets' with proper padding. Adjust
test output accordingly.
Change-Id: Ie4419aaaf93a462f501f8d8f7bf2677d37c58f94
Fixes: OS#2711
|
|
This is left over from the OsmoNITB days. We're defining and allocating
these MSC counters, but never actually using them. This also means that
the automatic counter export will list them, raising the expectation at
users that such counters could be used in OsmoBSC.
Let's remove them. They are in OsmoMSC, but not OsmoBSC.
Change-Id: I5bd9e6e333b1c396beae46630986b17e7f8b82ef
|
|
In more recent versions of libosmocore, we are converting any '.'
in [rate] counter names to ':' to avoid clashes with the special
meaning of '.' in the CTRL interface. Let's avoid any conversion
and use the proper name already here.
This also changes the codec_foo counters to codec:foo to follow the
notation of other counters.
Change-Id: I18916abbfc706b86bd211e7cca1a0ca3099826e9
|
|
We used to have a lot of counters only globlly per BSC, but they're
much more useful on a per-BTS level.
Change-Id: I954b9dda72b83b91d46a934c221a8b3375743599
|
|
Make it future compatible for changes. Otherwise it will break
when additional enums are adding to chreq in libosmocore.
Depends on libosmocore Id67ba8de89dd6288e449197438e9e1c5d7f5a134
Change-Id: I2acab2af8d67bccb2bc495512c1f259ae649a832
|
|
osmo-mgw assigns connection identifiers which are returned with
the response to the CRCX.
store the assigned connection identifiers and use them to identify
the connections.
Depends: osmo-mgw Iab6a6038e7610c62f34e642cd49c93d11151252c
Closes: OS#2648
Change-Id: Ib379a6f40875bb8f2cf29038a5b5b7a40a21adab
|
|
authentication (optional|required) is no longer needed, the
related decisions are now made in the HLR.
Change-Id: Ib6c6331cc86004c4862067031e4fcb12a6975b63
|
|
The following structs are no longer used/needed:
- gsm_auth_algo
- gsm_auth_info
- gsm_auth_tuple
- gsm_security_operation
Change-Id: I93873a6cb980a54e03e719170e27a7e397236b77
|
|
remove obsolete vty commands:
- token
- auth-key
- no auth-key
Change-Id: I9101d750a424b8af46d603bc7c877229bbae8727
|
|
Prepare for a future change that accesses bts->network during gsm_bts_alloc().
Currently, gsm_bts_alloc() takes a ctx parameter, and gsm_bts_alloc_register()
then gets the gsm_network pointer and sets bts->network to it. All callers
anyway pass gsm_network as ctx to gsm_bts_alloc(), and anything else would not
make sense anyway. So enforce passing exactly gsm_network to gsm_bts_alloc()
and already set the bts->network pointer from there.
Prepares-for: I00870a5828703cf397776668d3301c0c3a4e033a
Change-Id: Ie590c14aa08df4c4f345596b23e5226c5577057a
|
|
Use new #pragma style instead of #ifndef dance.
Forward-declare all structs we're using pointers of.
Move function comments to their definitions in the .c file.
Change-Id: I3d43ec01897c0ef9eaf506e68d5a1ec1977f70ea
|
|
Change-Id: Ic0b1410a352c7be399d16d5db7cfe7a62192df6f
|
|
While this header was still shared among several code trees, we had this ROLE
construct in place to exclude some parts in some trees. Since we're having one
copy per code base now, the ROLE #ifdefs were dropped, also drop void *role.
Change-Id: I4f0c337779d8e7266b6e02815d886728c4826bb9
|
|
It's only used once in the same file so there's no need to put it into
global header.
Change-Id: Id9674cad54bab6cc04475719678efc2c25d058a9
|
|
Change-Id: I46a2af19358c0eb5d2f1644b10afd58c424a51e8
|
|
* change return type to bool
* constify parameters
The nm_is_running(), trx_is_usable() and ts_is_usable() always return
boolean value and are always used as such anyway. The also do not change
their parameters.
Change-Id: I6a572fc78371c69f5308edbad0ebe15e143d0505
|
|
Authentication is no longer done in the BSC, the variables that
set the authentication policy and the IMSI regex have no longer
any effect.
Remove auth policy and authorized-regexp
Change-Id: Ie31b921b5fd0af5501ec0c77c0f08089c10075e2
|
|
It's leftover from the time when gsm_data_shared.* was actually shared
with OsmoBTS. Nowadays ROLE_BSC is always defined so we can just drop it
entirely and make working with gsm_data_shared.h slightly easier.
Change-Id: I34fc9ee5955c14bbbde68d5499cf2acfd329afbc
|
|
Report state as degraded if BTS or any of its TRX are administratively
locked.
Change-Id: Ic9ee998d972ca870ce5d039c3ed95edb6ba8b36f
Related: OS#2486
|
|
In state prior to this patch, "3G Early Classmark Sending Restriction"
bit in SI3 rest octets was always set to H, which is a sane default as
the policy to send the information is then controlled by "Early
Classmark Sending Control" bit in the same octet.
However, it seems Quortus SoftCore can have some issues decoding the
option, so let's add a vty cmd to be able to disable it for those
having any issues.
Related: SYS#4021
Change-Id: Ic1afe071038a3bb5871d7ff40f665c8644f801ec
|
|
Change-Id: Ic0981fca96f4927717ca335be1dab00a5d17fd6c
|
|
The reset context contains a string buffer to allow for setting
a human readable name, that is then displayed in the logs. Since
OSMO-FSMs already have such a feature there is no need for an
extra name variable.
Use LOGPFSML and the name parameter of osmo_fsm_inst_alloc()
to display the name of the FSM
Fixes: Coverity CID#178664
Change-Id: I34511698923abec7545a6f3defd595f97b4bbeb1
|
|
Change-Id: Iedc883b0f5760f004c51d7cf15328eb8c4d472db
|
|
osmo-bsc currently negotiates the RTP stream directly with the
BTS and reports back the RTP IP/Port on the BTS. This works fine
for a single BTS, but for Handover the port/ip pointing to the
MSC side must not change, so an entity in between the BTSs and
the MSC is required.
Integrate the mgcp-client and use osmo-mgw to switch the RTP
streams.
Depends: osmo-mgw Ib5fcc72775bf72b489ff79ade36fb345d8d20736
Depends: osmo-mgw I44b338b09de45e1675cedf9737fa72dde72e979a
Depends: osmo-mgw I29c5e2fb972896faeb771ba040f015592487fcbe
Change-Id: Ia2882b7ca31a3219c676986e85045fa08a425d7a
|
|
To properly decide if a given OML link is degraded we have to use
BTS-specific information about MO state.
* move check function into BTS-specific part
* add generic wrapper
Related: OS#2486
Change-Id: Iddc7a4d20fbb95a6566eed1487a12733e5adb9e2
|
|
Expose OML link uptime available via vts's "sh bts 0" command with the
new "bts.0.oml-uptime" ctrl command. To avoid code duplication, move
uptime computation into separate function and use it for both.
Change-Id: Iec405aa949d6a38a9c8e64cd7ee4b49fd416835d
Related: OS#2486
|
|
OML link state is available via vty ("sh bts 0" command) and
ctrl ("oml-connection-state" RO variable).
When showing OML link state, take into consideration RSL link state as
well: if OML is up but RSL is missing show it as degraded.
That's implemented via BTS model-specific functions (currently Sysmo- and
Nano- BTS only)
Change-Id: I5952fc59e4d82e0aa627ad91d20f964d9559a4c4
Related: OS#2486
|
|
This is a BSC, it has norelation to RANAP or Iu(h). Let's remove
an references to it, and also the build dependency to libosmo-ranap-dev
Change-Id: I517b9f69309b2ed0540dd6c186b3d4a2a03aed44
|
|
Save the time when OML link to BTS was established and show it in
vty. That's useful when troubleshooting issues like periodic/sporadic
BTS restart.
Related: SYS#3889
Change-Id: I9e4e8504afe8ca467b68d41826f61654e24d9600
|
|
* drop unused header
* fix name of jenkins test
* remove dead code
Change-Id: I986904864741995910b6ba92173b9f7b1b03e2f1
|
|
Previously we've used function so debug print always pointed to the same
place which is not very useful. Wrap it with macro so proper
file:line is printed. Also, make sure that we always change state only
through this wrapper and log only when the state has changed.
Change-Id: I21789f8021290965b61a54a2b23177ccbbfe8321
|
|
According to 3GPP TS 44.018 ยง1.8 the "network shall never enable PBCCH
and PCCCH".
Change-Id: I319e71a4b0c682361529e9c21377398a826b934b
Related: OS#2400
|
|
* log administrative state transitions
* log what's caused it
* while at it, mark boolean variable as such
Change-Id: I3e25a19fac4d0b4886d825c9876771b1f66efe58
Related: SYS#3864
|
|
After osmo-mgw change I8e0b2d2a399b77086a36606f5e427271c6242df1, there now is a
separated libosmo-mgcp-client, and osmo-bsc needs adjusting.
But besides having an unused struct in gsm_network, osmo-bsc does not yet use
its MGCP client; these are merely plans for the future. Until we do, let's just
drop the dependency entirely.
Change-Id: I6402c7cbe58dacae7630f7f03819f8102e54c699
|
|
Change-Id: I39e7b882caa98334636d19ccd104fd83d07d5055
|
|
These either remain from openbsc.git or slipped in while applying recent
patches from openbsc.git and do not belong in osmo-bsc.
Empty out contrib: remove things that are either obviously unrelated to
osmo-bsc, or seem old and/or esoteric.
osmoappdesc.py: drop nitb_e1_configs (and some ws)
Change-Id: Ib20064f35e623d99c7d59496a3156e84b8a0d07a
|
|
Change-Id: I64d84c52f6e38e98144eb9be8f0ab82e0e1f6cca
|