From: Harald Welte <laforge(a)gnumonks.org>
---
OsmoPCU/Makefile | 3 +-
OsmoPCU/gb/bssgp.adoc | 67 +++++++++++++++++++++++++++++++
OsmoPCU/gb/gb-startup.msc | 0
OsmoPCU/gb/ns.adoc | 67 +++++++++++++++++++++++++++++++
OsmoPCU/osmopcu-gb-docinfo.xml | 58 +++++++++++++++++++++++++++
OsmoPCU/osmopcu-gb.adoc | 89 ++++++++++++++++++++++++++++++++++++++++++
6 files changed, 283 insertions(+), 1 deletion(-)
create mode 100644 OsmoPCU/gb/bssgp.adoc
create mode 100644 OsmoPCU/gb/gb-startup.msc
create mode 100644 OsmoPCU/gb/ns.adoc
create mode 100644 OsmoPCU/osmopcu-gb-docinfo.xml
create mode 100644 OsmoPCU/osmopcu-gb.adoc
diff --git a/OsmoPCU/Makefile b/OsmoPCU/Makefile
index f742e07..ef80327 100644
--- a/OsmoPCU/Makefile
+++ b/OsmoPCU/Makefile
@@ -14,11 +14,12 @@ docbooktotypes = pdf
# htmlcss =
TOPDIR := ..
-ASCIIDOCS := osmopcu-usermanual
+ASCIIDOCS := osmopcu-usermanual osmopcu-gb
include $(TOPDIR)/build/Makefile.asciidoc.inc
include $(TOPDIR)/build/Makefile.inc
+osmopcu-gb.pdf: gb/*.adoc gb/*.msc
osmopcu-usermanual.pdf: chapters/*.adoc
clean:
diff --git a/OsmoPCU/gb/bssgp.adoc b/OsmoPCU/gb/bssgp.adoc
new file mode 100644
index 0000000..c354fc1
--- /dev/null
+++ b/OsmoPCU/gb/bssgp.adoc
@@ -0,0 +1,67 @@
+== BSS GPRS Protocol (BSSGP)
+
+=== List of Messages
+
+The following tables list the BSSGP messages used by OsmoPCU, grouped by their
+level of compliance with 3GPP TS 08.18.
+
+==== Messages Compliant With TS 08.18
+
+.Messages compliant with TS 08.18
+[options="header",cols="10%,10%,20%,35%,5%,20%"]
+|===
+| TS 08.18 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoPCU
+|===
+
+==== Messages Specific to OsmoPCU
+
+There are no OsmoPCU specific BSSGP messages.
+
+==== Messages Not Implemented by OsmoPCU
+
+.3GPP TS 08.18 messages not implemented by OsmoPCU
+[options="header",cols="10%,10%,80%"]
+|===
+| TS 08.18 § | type code (hex) | Message
+|===
+
+
+=== Details on Compliant BSSGP Messages
+
+FIXME
+
+=== Information Elements Overview
+
+All of the IEs handled by OsmoPCU are listed below, with limitations and
+additions to TS 08.18 specified in more detail.
+
+==== IEs Conforming to TS 08.18
+
+The following Information Elements are accepted by OsmoPCU. Not all IEs are
+actually evaluated.
+
+.IEs conforming to TS 08.18
+[options="header",cols="5%,10%,40%,5%,40%"]
+|===
+| tag (hex) | TS 08.18 § | IE name | <-/-> | Received/Sent by OsmoPCU
+|===
+
+==== IEs Not Conforming to TS 08.18
+
+.IEs not conforming to TS 08.18
+[options="header",cols="5%,10%,30%,55%"]
+|===
+| tag (hex) | TS 08.18 § | IE name | Description
+|===
+
+==== Additional Attributes and Parameters
+
+There are no OsmoPCU specific additional Attributes and Parameters.
+
+=== Details on IEs
+
+FIXME
+
+=== Gb BSSGP Initialization / PCU bring-up
+
+FIXME
diff --git a/OsmoPCU/gb/gb-startup.msc b/OsmoPCU/gb/gb-startup.msc
new file mode 100644
index 0000000..e69de29
diff --git a/OsmoPCU/gb/ns.adoc b/OsmoPCU/gb/ns.adoc
new file mode 100644
index 0000000..0cc073b
--- /dev/null
+++ b/OsmoPCU/gb/ns.adoc
@@ -0,0 +1,67 @@
+== Network Service (NS)
+
+=== List of Messages
+
+The following tables list the NS messages used by OsmoPCU, grouped by their
+level of compliance with 3GPP TS 08.16.
+
+==== Messages Compliant With TS 08.16
+
+.Messages compliant with TS 08.16
+[options="header",cols="10%,10%,20%,35%,5%,20%"]
+|===
+| TS 08.16 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoPCU
+|===
+
+==== Messages Specific to OsmoPCU
+
+There are no OsmoPCU specific NS messages.
+
+==== Messages Not Implemented by OsmoPCU
+
+.3GPP TS 08.16 messages not implemented by OsmoPCU
+[options="header",cols="10%,10%,80%"]
+|===
+| TS 08.16 § | type code (hex) | Message
+|===
+
+
+=== Details on Compliant NS Messages
+
+FIXME
+
+=== Information Elements Overview
+
+All of the IEs handled by OsmoPCU are listed below, with limitations and
+additions to TS 08.16 specified in more detail.
+
+==== IEs Conforming to TS 08.16
+
+The following Information Elements are accepted by OsmoPCU. Not all IEs are
+actually evaluated.
+
+.IEs conforming to TS 08.16
+[options="header",cols="5%,10%,40%,5%,40%"]
+|===
+| tag (hex) | TS 08.16 § | IE name | <-/-> | Received/Sent by OsmoPCU
+|===
+
+==== IEs Not Conforming to TS 08.16
+
+.IEs not conforming to TS 08.16
+[options="header",cols="5%,10%,30%,55%"]
+|===
+| tag (hex) | TS 08.16 § | IE name | Description
+|===
+
+==== Additional Attributes and Parameters
+
+There are no OsmoPCU specific additional Attributes and Parameters.
+
+=== Details on IEs
+
+FIXME
+
+=== Gb NS Initialization / PCU bring-up
+
+FIXME
diff --git a/OsmoPCU/osmopcu-gb-docinfo.xml b/OsmoPCU/osmopcu-gb-docinfo.xml
new file mode 100644
index 0000000..280c6f7
--- /dev/null
+++ b/OsmoPCU/osmopcu-gb-docinfo.xml
@@ -0,0 +1,58 @@
+<revhistory>
+ <revision>
+ <revnumber>0</revnumber>
+ <date>February 2016</date>
+ <authorinitials>HW, MS</authorinitials>
+ <revremark>
+ Initial version, reflecting OsmoPCU master branch as on FIXME
+ (commit FIXME).
+ </revremark>
+ </revision>
+</revhistory>
+
+<authorgroup>
+ <author>
+ <firstname>Max</firstname>
+ <surname>Suraev</surname>
+ <email>msuraev(a)sysmocom.de</email>
+ <authorinitials>MS</authorinitials>
+ <affiliation>
+ <shortaffil>sysmocom</shortaffil>
+ <orgname>sysmocom - s.f.m.c. GmbH</orgname>
+ <jobtitle>Software Developer</jobtitle>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Harald</firstname>
+ <surname>Welte</surname>
+ <email>hwelte(a)sysmocom.de</email>
+ <authorinitials>HW</authorinitials>
+ <affiliation>
+ <shortaffil>sysmocom</shortaffil>
+ <orgname>sysmocom - s.f.m.c. GmbH</orgname>
+ <jobtitle>Managing Director</jobtitle>
+ </affiliation>
+ </author>
+</authorgroup>
+
+<copyright>
+ <year>2015-2016</year>
+ <holder>sysmocom - s.f.m.c. GmbH</holder>
+</copyright>
+
+<legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.3 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, no Front-Cover Texts,
+ and no Back-Cover Texts. A copy of the license is included in
+ the section entitled "GNU Free Documentation License".
+ </para>
+ <para>
+ The Asciidoc source code of this manual can be found at
+ <ulink url="http://git.osmocom.org/osmo-gsm-manuals/">
+ http://git.osmocom.org/osmo-gsm-manuals/
+ </ulink>
+ </para>
+</legalnotice>
diff --git a/OsmoPCU/osmopcu-gb.adoc b/OsmoPCU/osmopcu-gb.adoc
new file mode 100644
index 0000000..261f7db
--- /dev/null
+++ b/OsmoPCU/osmopcu-gb.adoc
@@ -0,0 +1,89 @@
+OsmoPCU Gb Protocol Specification
+=================================
+Harald Welte <nhofmeyr(a)sysmocom.de>
+
+== Introduction
+
+This document describes the Gb interface of *OsmoPCU*. Based on 3GPP TS
+FIXME and FIXME, this document indicates which of the 3GPP specified Gb
+messages and IEs are implemented according to 3GPP specifications, which of
+these are not or not fully implemented, as well as OsmoPCU-specific extensions
+to the Gb interface not specified by 3GPP.
+
+Extensions to the Gb interface specific to OsmoPCU are detailed in this
+document. For details on the messages and IEs that comply with abovementioned
+3GPP specifications, please refer to those documents.
+
+.3GPP document versions referred to by this document
+[cols="20%,80%"]
+|===
+|3GPP TS 08.56 | version 8.0.1 Release 1999
+|3GPP TS 08.58 | version 8.6.0 Release 1999
+|3GPP TS 08.60 | version 8.2.1 Release 1999
+|3GPP TS 12.21 | version 8.0.0 Release 1999
+|===
+
+.IETF documents referred to by his document
+[cols="20%,80%"]
+|===
+|IETF RFC 768 | User Datagram Protocol
+|IETF RFC 791 | Internet Protocol
+|===
+
+== Overview
+
+The OsmoPCU Gb interface consists of the NS (Network Services) and
+BSSGP (Base Station Subsystem Gateway Protocol), encapsulated in UDP
+(User Datagram Protocol) and IP (Internet Protocol) version 4.
+
+.UDP port numbers used by OsmoPCU Gb/IP
+[options="header",width="50%",cols="35%,65%"]
+|===
+|TCP Port Number|Usage
+|23000|NS over UDP
+|===
+
+The NS-over-UDP link is established in the PCU -> SGSN direction, i.e.
+the PCU is running as client while the SGSN is running as server.
+
+Establishment of the NS-over-UDP link is only possible after OsmoPCU
+has been configured viat the *PCU socket* interface from OsmoBTS.
+
+OsmoBTS in turn receives relevant configuration parameters from
+OsmoBSC or the BSC component inside OsmoNITB.
+
+.Overview of Gb link establishment
+["mscgen"]
+----
+include::gb/gb-startup.msc[]
+----
+
+=== Identities
+
+The Gb interface identities of the PCU are configured via BSC ->
+OsmoBTS -> PCU Socket. They consist of
+
+NSEI:: NS Equipment Identifier
+NSVCI:: NS Virtual Connection Identifier
+BVCI:: BSSGP Virtual Connection Identifier
+
+For an explanation of those identifiers and their use in the NS and
+BSSGP protocols, please see the reelvant 3GPP specifications for NS
+and BSSGP.
+
+In most cases, all above identities belong to different namespaces and
+must be unique within their respective namespace and within the SGSN
+they connect to.
+
+This means that typically each OsmoPCU has one unique set of NSEI,
+NSVCI and BVCI in your network.
+
+include::gb/ns.adoc[]
+
+include::gb/bssgp.adoc[]
+
+include::../common/chapters/port_numbers.adoc[]
+
+include::../common/chapters/glossary.adoc[]
+
+include::../common/chapters/gfdl.adoc[]
--
2.7.2
Hi guys,
while I am super happy that people move libosmocore and other libraries and projects into the distributions I think it makes sense to provide some packages ourselves as well (e.g. if we want to add Long Term Support, or make nightly builds available).
The OpenSUSE folks created "network:osmocom" for us and currently both Harald and me have the necessary privileges to add packages (and probably subprojects).
kind regards
holger
Dear all,
I suggest to change a stock Redmine theme to something more beautiful,
for example gitmike: https://github.com/makotokw/redmine-theme-gitmike
which used by srlabs.de and looks like pretty. Furthermore, the Osmocom
logo will look better on light background.
Opinions?
С наилучшими пожеланиями,
Яницкий Вадим.
Hi guys,
the three issues I have with patch work:
1.) No integration with testing (some machine could apply, build and run make check before I do)
2.) Tracking of patches and not series (we seldomly want a single patch)
3.) No feedback if something has been applied
Now Intel[1] seems to have had some of the same concern because:
1.) Their patchwork has a "pull"/"stream" API to wait for changes and execute them. It is in their manual. For us this means we need to somehow figure out where the patch applies to. We can either have the discipline to put this into the subject (git send-email can do it) or we try to see which repository has the specific base commit. It also supports sending back mails with the patch result.
2.) They track series now.
3.) This seems to be unsolved. But we can probably do something ourselves with a little discipline (and in a how-to-contribute documentation). We can use the Change-Id concept that is used by Gerrit. This is a simple local hook that adds a "Change-Id: " line with a unique number.
so we will probably end up hosting our own patchwork and try to get intel help/work on 3rd. Could we get a consensus how we know where to apply the patch to?
kind regards
holger
[1] http://damien.lespiau.name/2016/02/augmenting-mailing-lists-with-patchwork.…
Hi,
Is it possible to have the virtual BTS start a location update at a specific time. In other words, can I add a command that asks all phones to request a location update at any desired time ?
Best regards,
Robert,
Dear all,
some of you may have already seen it on the RSS feed, on Twitter or on
planet.osmocom.org[1]: sysmocom has decided that we will re-release our
existing formerly sysmocom-internal User Manuals and VTY reference
manuals under GNU GFDL.
The hope is that with better documentation we can enable more people to
use Osmocom software more easily, leading to more adoption.
While those manuals are far from being complete or perfect, I had spent
a lot of time in February on further polishing them for the upcoming
public release. I do believe they provide a better stasting point than
what all of what we had in the wiki (whether old trac or new redmine).
The manuals are written in asciidoc[2], with the occasional use of
mscgen[3] and graphviz[4], which I believe together are a pretty good
set of tools to very efficiently and productively work on documentation,
whilst focussing on actual content and not on formatting/syntax like
when using docbook-xml or LaTeX.
The osmo-gsm-manuals.git repository is pulled by our jenkins
installation, which then builds the PDF manuals and pushes them to
http://ftp.osmocom.org/docs/latest/
I seriously do hope that we will receive improvements and extensions for
the manuals. As the asciidoc source is in yet another git repo, sending
patches is as easy as it gets. Holger always states nobody ever
contributes to manuals, and I would love to prove him wrong ;)
In terms of overlapping information in the wiki and in the manuals: I'm
in favor (and in the process) of removing outdated old wiki command line
reference and VTY reference sections, and simply referring to the
manuals instead.
Please do read through the manuals and do send patches, whether it's a
spelling fix, improved wording, adding missing information or fixing
actual technical mistakes.
In tems of further dccumentation improvements, Holger has volunteered to
ensure that the Doxygen API of libosmocore is also automatically
generated+pushed in a similar fashion to make it publicly web-visible.
I'd also encurage everyone to contribute patches to covert those parts
of libosmocore.git that don't hve doxygen annotation yet.
Thanks in advance!
Regards,
Harald
[1] http://projects.osmocom.org/news/47
[2] http://asciidoc.org/
[3] http://www.mcternan.me.uk/mscgen/
[4] http://www.graphviz.org/
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
As commented in the code, the GSM_SECURITY_AUTH_FAILED path is never invoked by
the gsm48_secure_channel() function as it is today.
Note that the upcoming Iu auth will probably add a GSM_SECURITY_AUTH_FAILED
status. In that case, sending a LU Reject immediately may be desirable, but
arguably a bit of timeout could make life harder for auth attackers.
The code removed by this patch doesn't send out a LU Reject ever, since a call
to release_loc_updating_req() only releases the connection. To reject, a call
to gsm0408_loc_upd_rej() would be necessary, as seen in loc_upd_rej_cb().
And finally, if _gsm0408_authorize_sec_cb() doesn't do anything about anything,
the same loc_upd_rej_cb() will be run by a timeout and send a LU Reject
properly (as commented in the code).
---
openbsc/src/libmsc/gsm_04_08.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
index d9d7390..47f3fa7 100644
--- a/openbsc/src/libmsc/gsm_04_08.c
+++ b/openbsc/src/libmsc/gsm_04_08.c
@@ -340,10 +340,6 @@ static int _gsm0408_authorize_sec_cb(unsigned int hooknum, unsigned int event,
int rc = 0;
switch (event) {
- case GSM_SECURITY_AUTH_FAILED:
- release_loc_updating_req(conn, 1);
- break;
-
case GSM_SECURITY_ALREADY:
LOGP(DMM, LOGL_ERROR, "We don't expect LOCATION "
"UPDATING after CM SERVICE REQUEST\n");
@@ -354,6 +350,19 @@ static int _gsm0408_authorize_sec_cb(unsigned int hooknum, unsigned int event,
rc = finish_lu(conn);
break;
+ case GSM_SECURITY_AUTH_FAILED:
+ /*
+ * gsm48_secure_channel() will pass only
+ * GSM_SECURITY_NOAVAIL in case of failure. If future
+ * code should add a GSM_SECURITY_AUTH_FAILED status in
+ * this code path, letting the Location Update time out
+ * will do all necessary error messaging and logging,
+ * see loc_upd_rej_cb().
+ */
+ LOGP(DMM, LOGL_ERROR,
+ "Authorization failed for subscriber %s\n",
+ subscr_name(conn->subscr));
+ /* fall through */
default:
rc = -EINVAL;
};
--
2.1.4
I've created a branch sysmocom/iu based on the laforge/wip branch
currently used for 3G dev. I've added minor commits and rebased the branch
onto current master.
The tendency should be to use sysmocom/iu in libosmo-sccp for 3G
development (and coverity @Holger).
~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
Dear all,
I am currently playing around with the new SMPP feature, but struggling
a bit on routing in direction of esme. Of course, when using
default-route, all customers will be routed to the esme which are not in
the database; but what if I just want to route specific prefixes (or
single numbers?).
Currently, when using "route" and some combinations of
international/national prefixes, I dont get it working. Is there a
documentation to this, without reading all numbering plans of gsma etc?
E.g. what I want to do:
- only route number 1234 via SMPP
- route everything via SMPP which starts with a "1"
Thanks & Best,
Hendrik
--
Hendrik Schmidt
ERNW GmbH - Carl-Bosch-Straße 4 - 69115 Heidelberg - www.ernw.de
Central Back Office Tel. +49 6221 480390 - Fax 6221 419008 - Cell +49
151 16227562
Handelsregister Mannheim: HRB 337135
Geschaeftsfuehrer: Enno Rey
=======================================================
Blog: www.insinuator.net<http://www.insinuator.net/> || Conference:
www.troopers.de<http://www.troopers.de/>
=======================================================