Hi list,
I'm noticing an inaccuracy/ambiguity in the stat counters concerning Location Updating.
So far we have:
struct gsmnet_stats {
struct {
struct osmo_counter *reject; <-- inc when MM LU Reject is sent
struct osmo_counter *accept; <-- inc when MM LU Accept is sent
} loc_upd_resp;
}
Looks good? Well, not entirely.
(1)
When we use TMSIs, we first send a LU Accept with a new TMSI, and then expect
the MS to respond with a TMSI Realloc Complete message. When that fails to come
through, the LU actually ends in failure, even though a LU Accept was sent.
(2)
In 3G, if a UE sends an Iu Release during LU (e.g. user enables flight mode),
we cancel the LU without sending any reply at all, so nothing would be counted.
I would like to change the naming and inc hooks to reflect actual LU success or
failure. We don't need to count the actual messages sent, right?
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Holger Freyther, Harald Welte
Hi.
I'm working on documentation for (rate) counters infrastructure of
various Osmocom programs. I've got problems with getting working example
for rate_ctr. For instance:
./contrib/bsc_control.py -d localhost -g
"rate_ctr.per_hour.nat.bsc.sccp.conn" -p 4250
Got message: ERROR 1 Counter name not found.
Although in src/osmo-bsc_nat/bsc_nat_utils.c I see rate_ctr_group_desc
with prefix "nat.bsc" and several rate_ctr_desc (including "sccp.conn")
defined.
What would be the proper way to get those counters?
Note: I run
./src/osmo-bsc_nat/osmo-bsc_nat -c
./doc/examples/osmo-bsc_nat/osmo-bsc_nat.cfg
for tests built from latest master.
--
Max Suraev <msuraev(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Directors: Holger Freyther, Harald Welte
Add various missing \returns doxygen entries.
In osmo_auth_3g_from_2g(), also adjust two comment-closing instances to
match common style and add a period to end a sentence.
(The recent addition of osmo_auth_3g_from_2g() raised my attention, and I added
more return value docs while at it.)
---
src/gsm/auth_core.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/gsm/auth_core.c b/src/gsm/auth_core.c
index b78cdd5..f1ec2ed 100644
--- a/src/gsm/auth_core.c
+++ b/src/gsm/auth_core.c
@@ -43,6 +43,7 @@ static struct osmo_auth_impl *selected_auths[_OSMO_AUTH_ALG_NUM];
/*! \brief Register an authentication algorithm implementation with the core
* \param[in] impl Structure describing implementation and it's callbacks
+ * \returns 0 on success, or a negative error code on failure
*
* This function is called by an authentication implementation plugin to
* register itself with the authentication core.
@@ -64,6 +65,7 @@ int osmo_auth_register(struct osmo_auth_impl *impl)
/*! \brief Load all available authentication plugins from the given path
* \param[in] path Path name of the directory containing the plugins
+ * \returns number of plugins loaded in case of success, negative in case of error
*
* This function will load all plugins contained in the specified path.
*/
@@ -75,6 +77,7 @@ int osmo_auth_load(const char *path)
/*! \brief Determine if a given authentication algorithm is supported
* \param[in] algo Algorithm which should be checked
+ * \returns 1 if algo is supported, 0 if not, negative error on failure
*
* This function is used by an application to determine at runtime if a
* given authentication algorithm is supported or not.
@@ -111,10 +114,12 @@ static inline void c4_function(uint8_t *ck, const uint8_t *kc)
/*! \brief Generate 3G CK + IK from 2G authentication vector
* \param vec Authentication Vector to be modified
+ * \returns 1 if the vector was changed, 0 otherwise
*
* This function performs the C5 and C4 functions to derive the UMTS key
* material from the GSM key material in the supplied vector, _if_ the input
- * vector doesn't yet have UMTS authentication capability */
+ * vector doesn't yet have UMTS authentication capability.
+ */
int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
{
if ((vec->auth_types & OSMO_AUTH_TYPE_GSM) &&
@@ -124,7 +129,7 @@ int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
/* We cannot actually set OSMO_AUTH_TYPE_UMTS as we have no
* AUTN and no RES, and thus can only perform GSM
* authentication with this tuple.
- * */
+ */
return 1;
}
@@ -135,6 +140,7 @@ int osmo_auth_3g_from_2g(struct osmo_auth_vector *vec)
* \param[out] vec Generated authentication vector
* \param[in] aud Subscriber-specific key material
* \param[in] _rand Random challenge to be used
+ * \returns 0 on success, negative error on failure
*
* This function performs the core cryptographic function of the AUC,
* computing authentication triples/quintuples based on the permanent
@@ -167,6 +173,7 @@ int osmo_auth_gen_vec(struct osmo_auth_vector *vec,
* \param[in] rand_auts RAND value sent by the SIM/MS
* \param[in] auts AUTS value sent by the SIM/MS
* \param[in] _rand Random challenge to be used to generate vector
+ * \returns 0 on success, negative error on failure
*
* This function performs a special variant of the core cryptographic
* function of the AUC: computing authentication triples/quintuples
--
2.1.4
Hi all,
I have two Motorola KRZR K3 phones, purchased some years ago.
They generate constant bursts on the uplink, and this is what I can see
that corresponds from osmo-bts log output:
<0000> ../../../../osmo-bts/src/common/rsl.c:1642
(bts=0,trx=0,ts=0,ss=0) Handing RLL msg UNIT_DATA_IND from LAPDm to MEAS REP
<0000> ../../../../osmo-bts/src/common/rsl.c:1592
(bts=0,trx=0,ts=0,ss=0) Tx MEAS RES
No other handset does this.
As this is somewhat irritating, I'd like to fix it and it's a good
opportunity for me to dig into the code a little.
I'm posting to ask if anyone recognizes the issue or could give me some
pointers towards what the MS might be looking for that it is not getting
from the network?
I considered posting a bunch of other log output, but I'm not sure quite
what might be useful. I don't see any remarkable difference in the LUR
sequence with this phone and any other for example. Happy to hear some
guidance as to what might be useful.
I might also mention that this phone fails the USSD *#100# own number
request - The message "Not Successful" appears on the screen very
quickly if not immediately after pressing send. There is no network
communication that I can detect.
As a side note, I resolved the somewhat baffling problem with my Ettus
N210 recently, uninstalling the UHD from the ettus repo (ubuntu 12) and
compiling UHD from git worked. I have not as yet (and probably won't)
dig any further into finding out why.
But now I have a working environment to test osmo-trx and osmo-bts-trx.
Keith.
Hi guys,
at our wonderful OsmoDevCon 2016 we have decided to give a Gerrit based workflow a try. Right now the components are set-up and we need to figure out where to start, how to integrate and then also how to migrate.
URL:
https://gerrit.osmocom.org will host our installation of Gerrit.
Authentication:
It is using the OpenID authentication scheme to register to it. I have found and massaged a redmine plugin to turn our redmine into an OpenID provider[1].
Set-up/ACLs:
There is a complex set of rules for ACLs. In terms of user branches it will be the easiest if they are located at "user/*" instead of our current "*" scheme. For a transition period we can continue to allow to push directly into gerrit as well.
Registering:
https://gerrit.osmocom.org/login, sign-in with your OpenID provider. And then set a username (this will be used for the git log-in). Register additional email addresses and install your ssh key.
Projects:
I have currently created "osmo-ci" for some CI scripts and Dockerfiles and started to play with it, e.g. using git to manage notifications of this project.
Jenkins:
http://jenkins.osmocom.org/jenkins/job/osmo-pcpap-gerrit/16/ is an example of a build triggered (and failed and reported as failure) to the Gerrit installation.
Tricks:
$ git ls-remote gerrit
...
5f3b6b8472a319d8d1184266cf9f80b5dbb709b6 refs/changes/23/23/1
'23' the 'hashed' structure
'23' the actual change #23
'1' the first patch
so one can use git fetch to fetch the patchset and browse
$ ssh -p 29418 zecke(a)gerrit.osmocom.org gerrit --help
Next:
We need to pick some projects to start with. I would propose to start with libosmocore and OpenBSC or one of the two.
Approach:
Regardless of what we start with the approach would be:
* Create project on Gerrit
* Make current code available to gerrit
* Set-up jenkins integration
* Remove all but gerrit's push right for this specific repository
* Set-up replication
What is missing:
* Which projects to migrate when
* Gerrit / Jenkins integration
* Gerrit => git.osmocom.org replication (and github?)
* Additional build jobs (with docker). Decision if we
* Group set-up if we want fine-grained review per project. I think we can start without.
* Create wiki page/documentation
sorry, the mail is a bit too long.
holger
[1] Don't trust it as your general ID provider, but you might prefer using it for gerrit instead of yahoo or canonical. The URL is https://osmocom.org/openid. The heavy lifting is done by a ruby library (which has some DH code.. but I didn't see a configure knob to change the prime.. so probably everyone is using https://openid.net/specs/openid-authentication-2_0.html#pvalue?
> On 03 May 2016, at 11:18, loay abdelrazek <loay.razek(a)gmail.com> wrote:
>
> Dear Holger
Hi!
> The project is under development yet bec I need to simulate first cases in order to train the algorithms I will use
OpenBSC is under development too and yet our sourcecode and intermediate versions are available. If you ask for free help, you should ask yourself what you can provide to the project in return? Anyway, osmo-nitb doesn't have a SIGTRAN/MAP interface.
A project like OpenBSC works because people with different interest collaborate and exchange information freely. So please consider making a contribution towards a project like OpenBSC.
kind regards
holger
Dears,
hope this finds you well,
kiindly i need to know how to configure the GT and PC for the various
simulated nodes in osmo-nitb as am testing some security scripts to
simulate different roaming attacks using the MAP protocol
appreciate your support
best regards