From 644bcae369f481b426553050cb31a73ce9f76255 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 25 Sep 2017 16:37:34 +0200 Subject: [PATCH] add OsmoHLR manual, OsmoHLR VTY reference Change-Id: Ieb6a362a26a7e65199f68f5cd32d9b6b0e5d0fbf --- Makefile | 4 + OsmoHLR/Makefile | 42 + OsmoHLR/chapters/control.adoc | 101 ++ OsmoHLR/chapters/overview.adoc | 69 + OsmoHLR/chapters/running.adoc | 90 ++ OsmoHLR/chapters/subscribers.adoc | 59 + .../example_subscriber_add_update_delete.vty | 34 + OsmoHLR/example_subscriber_cs_ps_enabled.ctrl | 46 + OsmoHLR/example_subscriber_info.ctrl | 28 + OsmoHLR/osmohlr-usermanual-docinfo.xml | 47 + OsmoHLR/osmohlr-usermanual.adoc | 32 + OsmoHLR/osmohlr-vty-reference.xml | 38 + OsmoHLR/vty/hlr_vty_additions.xml | 2 + OsmoHLR/vty/hlr_vty_reference.xml | 1159 +++++++++++++++++ OsmoMSC/chapters/running.adoc | 10 +- 15 files changed, 1756 insertions(+), 5 deletions(-) create mode 100644 OsmoHLR/Makefile create mode 100644 OsmoHLR/chapters/control.adoc create mode 100644 OsmoHLR/chapters/overview.adoc create mode 100644 OsmoHLR/chapters/running.adoc create mode 100644 OsmoHLR/chapters/subscribers.adoc create mode 100644 OsmoHLR/example_subscriber_add_update_delete.vty create mode 100644 OsmoHLR/example_subscriber_cs_ps_enabled.ctrl create mode 100644 OsmoHLR/example_subscriber_info.ctrl create mode 100644 OsmoHLR/osmohlr-usermanual-docinfo.xml create mode 100644 OsmoHLR/osmohlr-usermanual.adoc create mode 100644 OsmoHLR/osmohlr-vty-reference.xml create mode 100644 OsmoHLR/vty/hlr_vty_additions.xml create mode 100644 OsmoHLR/vty/hlr_vty_reference.xml diff --git a/Makefile b/Makefile index ffa25de..8f8d9b6 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,7 @@ all: check-deps cd OsmoPCU; $(MAKE) cd OsmoGSMTester; $(MAKE) cd OsmoMSC; $(MAKE) + cd OsmoHLR; $(MAKE) clean: cd OsmoBTS; $(MAKE) clean @@ -21,6 +22,7 @@ clean: cd OsmoPCU; $(MAKE) clean cd OsmoGSMTester; $(MAKE) clean cd OsmoMSC; $(MAKE) clean + cd OsmoHLR; $(MAKE) clean upload: cd OsmoBTS; $(MAKE) upload @@ -33,6 +35,7 @@ upload: cd OsmoPCU; $(MAKE) upload cd OsmoGSMTester; $(MAKE) upload cd OsmoMSC; $(MAKE) upload + cd OsmoHLR; $(MAKE) upload check: cd OsmoBTS; $(MAKE) check @@ -46,6 +49,7 @@ check: #cd OsmoNAT; $(MAKE) check cd OsmoGSMTester; $(MAKE) check cd OsmoMSC; $(MAKE) check + cd OsmoHLR; $(MAKE) check define check_dep_bin @type $(1) >/dev/null 2>&1 || { echo >&2 "Binary '$(1)' not found in path, please install $(2)."; exit 1; } diff --git a/OsmoHLR/Makefile b/OsmoHLR/Makefile new file mode 100644 index 0000000..eba5fa3 --- /dev/null +++ b/OsmoHLR/Makefile @@ -0,0 +1,42 @@ +# XSL stylesheets downloaded from http://docbook.sourceforge.net/release/xsl/current/html/ +# Makefile from BitBake/OpenEmbedded manuals + +topdir = . +hlr_reference = $(topdir)/osmohlr-vty-reference.xml +manuals = $(hlr_reference) +# types = pdf txt rtf ps xhtml html man tex texi dvi +# types = pdf txt +types = $(docbooktotypes) +docbooktotypes = pdf +# htmlcssfile = +# htmlcss = + +TOPDIR := .. +ASCIIDOCS := osmohlr-usermanual + +include $(TOPDIR)/build/Makefile.asciidoc.inc +include $(TOPDIR)/build/Makefile.inc + +osmohlr-usermanual.pdf: chapters/*.adoc generated/docbook_vty.xml + +clean: + -rm -rf $(cleanfiles) + -rm osmohlr-usermanual__*.svg + -rm osmohlr-usermanual__*.png + -rm osmohlr-usermanual.check + +generated/docbook_vty.xml: osmohlr-vty-reference.xml vty/*xml ../common/vty_additions.xml ../vty_reference.xsl + $(call command,xsltproc -o generated/combined1.xml \ + --stringparam with $(PWD)/../common/vty_additions.xml \ + $(MERGE_DOC) vty/hlr_vty_reference.xml, \ + XSLTPROC,Merging Common VTY) + $(call command,xsltproc -o generated/combined2.xml \ + --stringparam with $(PWD)/../common/bsc_vty_additions.xml \ + $(MERGE_DOC) generated/combined1.xml, \ + XSLTPROC,Merging Common BSC VTY) + $(call command,xsltproc -o generated/combined3.xml \ + --stringparam with $(PWD)/vty/hlr_vty_additions.xml \ + $(MERGE_DOC) generated/combined2.xml, \ + XSLTPROC,Merging HLR VTY) + $(call command,xsltproc ../vty_reference.xsl generated/combined3.xml > generated/docbook_vty.xml, \ + XSLTPROC,Converting HLR VTY to DocBook) diff --git a/OsmoHLR/chapters/control.adoc b/OsmoHLR/chapters/control.adoc new file mode 100644 index 0000000..89c9c08 --- /dev/null +++ b/OsmoHLR/chapters/control.adoc @@ -0,0 +1,101 @@ +[[hlr-ctrl]] +== Control interface + +The actual protocol is described in <>, the variables common +to all programs using it are described in <>. This section +describes the CTRL interface variables specific to OsmoHLR. + +All subscriber variables are available by different selectors, which are freely +interchangeable: + +.Subscriber selectors available on OsmoHLR's Control interface +[options="header",width="100%",cols="35%,65%"] +|=== +|Selector|Comment +|subscriber.*by-imsi-*'123456'.*|Subscriber selector by IMSI, replace "123456" with the actual IMSI +|subscriber.*by-msisdn-*'123456'.*|Subscriber selector by MSISDN +|subscriber.*by-id-*'123456'.*|Subscriber selector by database ID +|=== + +Each of the above selectors feature all of these control variables: + +.Subscriber variables available on OsmoHLR's Control interface +[options="header",width="100%",cols="35%,8%,8%,8%,41%"] +|=== +|Name|Access|Trap|Value|Comment +|subscriber.by-\*.*info*|R|No||List (short) subscriber information +|subscriber.by-\*.*info-aud*|R|No||List subscriber authentication tokens +|subscriber.by-\*.*info-all*|R|No||List both 'info' and 'info-aud' in one +|subscriber.by-\*.*cs-enabled*|RW|No|'1' or '0'|Enable/disable circuit-switched access +|subscriber.by-\*.*ps-enabled*|RW|No|'1' or '0'|Enable/disable packet-switched access +|=== + +=== subscriber.by-*.info, info-aud, info-all + +Query the HLR database and return current subscriber record, in multiple lines +of the format + +---- +namevalue +---- + +To keep the reply as short as possible, most values are omitted if they are +empty or reflect the default. These are the returned values and their presence +modalities; for their meaning, see <>: + +.Returned values by OsmoHLR's 'info', 'info-all' and 'info-aud' commands +[options="header",width="100%",cols="15%,15%,30%,40%"] +|=== +|Returned by 'info-all' and|Name|Format|Presence +|'info'|id|-9223372036854775808 .. 9223372036854775807 (usually not negative)|always +|'info'|imsi|6 to 15 decimal digits|always +|'info'|msisdn|1 to 15 decimal digits|when non-empty +|'info'|nam_cs|'1' or '0'|when '0' +|'info'|nam_ps|'1' or '0'|when '0' +|'info'|vlr_number|up to 15 decimal digits|when non-empty +|'info'|sgsn_number|up to 15 decimal digits|when non-empty +|'info'|sgsn_address||when non-empty +|'info-aud'|aud2g.algo|one of 'comp128v1', 'comp128v2', 'comp128v3' or 'xor'|when valid 2G auth data is set +|'info-aud'|aud2g.ki|32 hexadecimal digits|when valid 2G auth data is set +|'info-aud'|aud3g.algo|so far always 'milenage'|when valid 3G auth data is set +|'info-aud'|aud3g.k|32 hexadecimal digits|when valid 3G auth data is set +|'info-aud'|aud3g.op|32 hexadecimal digits|when valid 3G auth data is set, *not* when OPC is set +|'info-aud'|aud3g.opc|32 hexadecimal digits|when valid 3G auth data is set, *not* when OP is set +|'info-aud'|aud3g.ind_bitlen|0..28|when valid 3G auth data is set +|'info-aud'|aud3g.sqn|0 .. 18446744073709551615|when valid 3G auth data is set +|=== + +This is an example Control Interface transcript that illustrates the various +'info' commands: + +---- +include::../example_subscriber_info.ctrl[] +---- + +=== subscriber.by-*.ps-enabled, cs-enabled + +Disable or enable packet-/circuit-switched access for the given IMSI; + +* 'ps-enabled' switches access to GPRS or UMTS data services, +* 'cs-enabled' switches access to voice services. + +When disabled, the next time this subscriber attempts to do a Location Updating +GSUP operation for the given domain (i.e. from the SGSN for 'ps-enabled', from +the MSC/VLR for 'cs-enabled'), it will be rejected by OsmoHLR. Currently +connected GSUP clients will be notified via GSUP when a subscriber is being +disabled, so that the subscriber can be dropped in case it is currently +attached. + +The current 'ps-enabled'/'cs-enabled' status can be queried by 'GET' commands, +and also by looking at 'nam_ps' and 'nam_cs' in a 'subscriber.by-*.info' +response. + +A value of "1" indicates that the given domain is enabled, which is the +default; a value of "0" disables access. + +This is an example transcript that illustrates 'ps-enabled' and 'cs-enabled' +commands: + +---- +include::../example_subscriber_cs_ps_enabled.ctrl[] +---- diff --git a/OsmoHLR/chapters/overview.adoc b/OsmoHLR/chapters/overview.adoc new file mode 100644 index 0000000..45802ca --- /dev/null +++ b/OsmoHLR/chapters/overview.adoc @@ -0,0 +1,69 @@ +[[overview]] +== Overview + +This manual should help you getting started with OsmoHLR. It will cover +aspects of configuring and running the OsmoHLR. + +[[intro_overview]] +=== About OsmoHLR + +OsmoHLR is Osmocom's minimal implementation of a Home Location Register (HLR) +for 2G and 3G GSM and UMTS mobile core networks. Its interfaces are: + +- GSUP, serving towards OsmoMSC and OsmoSGSN; +- A local SQLite database; +- The Osmocom typical telnet VTY and CTRL interfaces. + +Originally, the OpenBSC project's OsmoNITB all-in-one implementation had an +integrated HLR, managing subscribers and SMS in the same local database. Along +with the separate OsmoMSC and its new VLR component, OsmoHLR was implemented +from scratch to alleviate various shortcomings of the internal HLR: + +- The separate HLR allows using centralized subscriber management for both + circuit-switched and packet-switched domains (i.e. one OsmoHLR for both + OsmoMSC and OsmoSGSN). + +- VLR and HLR brought full UMTS AKA (Authentication and Key Agreement) support, + i.e. Milenage authentication in both the full 3G variant as well as the + backwards compatible 2G variant. + +- In contrast to the OsmoNITB, the specific way the new OsmoMSC's VLR accesses + OsmoHLR brings fully asynchronous subscriber database access. + +Find the OsmoHLR issue tracker and wiki online at + +- https://osmocom.org/projects/osmo-hlr +- https://osmocom.org/projects/osmo-hlr/wiki + + +[[fig-gsm]] +.Typical GSM network architecture used with OsmoHLR +[graphviz] +---- +digraph G { + rankdir=LR; + subgraph cluster_hlr { + label = "OsmoHLR"; + GSUP [label="GSUP server"] + DB [label="SQLite DB"] + GSUP->DB + DB->CTRL [dir="back"] + DB->VTY [dir="back"] + } + + Admin [label="Admin and\nMaintenance"] + SW [label="3rd party software\nintegration"] + VTY->Admin [dir="back"] + CTRL->SW [dir="back"] + + MSC [label="MSC/VLR"] + MSC->GSUP [label="GSUP"] + SGSN->GSUP [label="GSUP"] + + BSC->MSC + HNBGW->MSC + HNBGW->SGSN + PCU->SGSN +} +---- + diff --git a/OsmoHLR/chapters/running.adoc b/OsmoHLR/chapters/running.adoc new file mode 100644 index 0000000..09388c0 --- /dev/null +++ b/OsmoHLR/chapters/running.adoc @@ -0,0 +1,90 @@ +== Running OsmoHLR + +The OsmoHLR executable (`osmo-hlr`) offers the following command-line +arguments: + +=== SYNOPSIS + +*osmo-hlr* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'DATABASE'] + +=== OPTIONS + +*-h, --help*:: + Print a short help message about the supported options +*-V, --version*:: + Print the compile-time version number of the OsmoBTS program +*-d, --debug 'DBGMASK','DBGLEVELS'*:: + Set the log subsystems and levels for logging to stderr. This + has mostly been superseded by VTY-based logging configuration, + see <> for further information. +*-D, --daemonize*:: + Fork the process as a daemon into background. +*-c, --config-file 'CONFIGFILE'*:: + Specify the file and path name of the configuration file to be + used. If none is specified, use `openbsc.cfg` in the current + working directory. +*-s, --disable-color*:: + Disable colors for logging to stderr. This has mostly been + deprecated by VTY based logging configuration, see <> + for more information. +*-T, --timestamp*:: + Enable time-stamping of log messages to stderr. This has mostly + been deprecated by VTY based logging configuration, see + <> for more information. +*-e, --log-level 'LOGLEVEL'*:: + Set the global log level for logging to stderr. This has mostly + been deprecated by VTY based logging configuration, see + <> for more information. +*-l, --database 'DATABASE'*:: + Specify the file name of the SQLite3 database to use as HLR/AUC + storage + +=== Bootstrap the Database + +Before first launching OsmoHLR, you need to create a database, which can be +done with these commands: + +---- +mkdir -p /var/lib/osmocom +sqlite3 /var/lib/osmocom/hlr.db < /usr/share/doc/osmo-hlr/hlr.sql +---- + +Depending on your installation choices, you will probably find `hlr.sql` in one +of these locations: + +- `/usr/share/doc/osmo-hlr/hlr.sql` +- `/usr/local/share/doc/osmo-hlr/hlr.sql` +- in `osmo-hlr.git`'s source tree at `sql/hlr.sql` + +NOTE: At the time of writing, OsmoHLR does not create an initial empty database +automatically, like OsmoNITB did. This behavior may be added in the future. + +=== Multiple instances + +Running multiple instances of `osmo-hlr` on the same computer is possible if +all interfaces (VTY, CTRL) are separated using the appropriate configuration +options. The IP based interfaces are binding to local host by default. In order +to separate the processes, the user has to bind those services to specific but +different IP addresses and/or ports. + +The VTY and the Control interface can be bound to IP addresses from the loopback +address range, for example: + +---- +line vty + bind 127.0.0.2 +ctrl + bind 127.0.0.2 +---- + +The GSUP interface can be bound to a specific IP address by the following +configuration options: + +---- +hlr + gsup + bind ip 10.23.42.1 +---- + +NOTE: At the time of writing, OsmoHLR lacks a config option to change the GSUP +port, which is by default TCP port 4222. diff --git a/OsmoHLR/chapters/subscribers.adoc b/OsmoHLR/chapters/subscribers.adoc new file mode 100644 index 0000000..b2024d2 --- /dev/null +++ b/OsmoHLR/chapters/subscribers.adoc @@ -0,0 +1,59 @@ +== Managing Subscribers + +Subscribers are kept in a local SQLite database file and can be managed via VTY +and CTRL interfaces. + +See this section for some examples, and also refer to the OsmoHLR VTY reference +manual <> as well as the Control interface described in +<>. + +=== Example: Add/Update/Delete Subscriber via VTY + +The following telnet VTY session adds a subscriber complete with 2G and 3G +authentication tokens, and finally removes the subscriber again; it assumes +that osmo-hlr is running and listening for telnet VTY connections on localhost: + +---- +$ telnet localhost 4258 +include::../example_subscriber_add_update_delete.vty[] +---- + +[[subscriber-params]] +=== Subscriber Parameters + +The following parameters are managed for each subscriber of the HLR, modelled +roughly after 3GPP TS 23.008, version 13.3.0; note that not all of these +parameters are necessarily in active use: + +.OsmoHLR's subscriber parameters +[options="header",width="100%",cols="20%,20%,60%"] +|=== +|Name|Example|Description +|imsi|901700000014701|identity of the SIM/USIM, 3GPP TS 23.008 chapter 2.1.1.1 +|msisdn|2342123|number to dial to reach this subscriber (multiple MSISDNs can be stored per subscriber), 3GPP TS 23.008 chapter 2.1.2 +|imeisv|4234234234234275|identity of the mobile device and software version, 3GPP TS 23.008 chapter 2.2.3 +|aud2g.algo|comp128v3|Authentication algorithm ID for 2G, corresponds to enum osmo_auth_algo +|aud2g.ki||Subscriber's secret key (128bit) +|aud3g.algo|milenage|Authentication algorithm ID for 3G and UMTS AKA, corresponds to enum osmo_auth_algo +|aud3g.k|(32 hexadecimal digits)|Subscriber's secret key (128bit) +|aud3g.op|(32 hexadecimal digits)|Operator's secret key (128bit) +|aud3g.opc|(32 hexadecimal digits)|Secret key derived from OP and K (128bit), alternative to using OP which does not disclose OP to subscribers +|aud3g.sqn|123|Sequence number of last used key (64bit unsigned) +|aud3g.ind_bitlen|5|Nr of index bits at lower SQN end +|apn|| +|vlr_number||3GPP TS 23.008 chapter 2.4.5 +|hlr_number||3GPP TS 23.008 chapter 2.4.6 +|sgsn_number||3GPP TS 23.008 chapter 2.4.8.1 +|sgsn_address||3GPP TS 23.008 chapter 2.13.10 +|ggsn_number||3GPP TS 23.008 chapter 2.4.8.2 +|gmlc_number||3GPP TS 23.008 chapter 2.4.9.2 +|smsc_number||3GPP TS 23.008 chapter 2.4.23 +|periodic_lu_tmr||3GPP TS 23.008 chapter 2.4.24 +|periodic_rau_tau_tmr||3GPP TS 23.008 chapter 2.13.115 +|nam_cs|1|Enable/disable voice access (3GPP TS 23.008 chapter 2.1.1.2: network access mode) +|nam_ps|0|Enable/disable data access (3GPP TS 23.008 chapter 2.1.1.2: network access mode) +|lmsi||3GPP TS 23.008 chapter 2.1.8 +|ms_purged_cs|0|3GPP TS 23.008 chapter 2.7.5 +|ms_purged_ps|1|3GPP TS 23.008 chapter 2.7.6 +|=== + diff --git a/OsmoHLR/example_subscriber_add_update_delete.vty b/OsmoHLR/example_subscriber_add_update_delete.vty new file mode 100644 index 0000000..ca14a65 --- /dev/null +++ b/OsmoHLR/example_subscriber_add_update_delete.vty @@ -0,0 +1,34 @@ +OsmoHLR> enable +OsmoHLR# subscriber imsi 123456789023000 create +% Created subscriber 123456789023000 + ID: 1 + IMSI: 123456789023000 + MSISDN: none + +OsmoHLR# subscriber imsi 123456789023000 update msisdn 423 +% Updated subscriber IMSI='123456789023000' to MSISDN='423' + +OsmoHLR# subscriber msisdn 423 update aud3g milenage k deaf0ff1ced0d0dabbedd1ced1cef00d opc cededeffacedacefacedbadfadedbeef +OsmoHLR# subscriber msisdn 423 show + ID: 1 + IMSI: 123456789023000 + MSISDN: 423 + 3G auth: MILENAGE + K=deaf0ff1ced0d0dabbedd1ced1cef00d + OPC=cededeffacedacefacedbadfadedbeef + IND-bitlen=5 + +OsmoHLR# subscriber msisdn 423 update aud2g comp128v3 ki beefedcafefaceacedaddeddecadefee +OsmoHLR# subscriber msisdn 423 show + ID: 1 + IMSI: 123456789023000 + MSISDN: 423 + 2G auth: COMP128v3 + KI=beefedcafefaceacedaddeddecadefee + 3G auth: MILENAGE + K=deaf0ff1ced0d0dabbedd1ced1cef00d + OPC=cededeffacedacefacedbadfadedbeef + IND-bitlen=5 + +OsmoHLR# subscriber imsi 123456789023000 delete +% Deleted subscriber for IMSI '123456789023000' diff --git a/OsmoHLR/example_subscriber_cs_ps_enabled.ctrl b/OsmoHLR/example_subscriber_cs_ps_enabled.ctrl new file mode 100644 index 0000000..1a98a80 --- /dev/null +++ b/OsmoHLR/example_subscriber_cs_ps_enabled.ctrl @@ -0,0 +1,46 @@ +GET 1 subscriber.by-msisdn-103.info +GET_REPLY 1 subscriber.by-msisdn-103.info +id 3 +imsi 901990000000003 +msisdn 103 + +GET 2 subscriber.by-msisdn-103.ps-enabled +GET_REPLY 2 subscriber.by-msisdn-103.ps-enabled 1 + +SET 3 subscriber.by-msisdn-103.ps-enabled 0 +SET_REPLY 3 subscriber.by-msisdn-103.ps-enabled OK + +GET 4 subscriber.by-msisdn-103.ps-enabled +GET_REPLY 4 subscriber.by-msisdn-103.ps-enabled 0 + +GET 5 subscriber.by-msisdn-103.info +GET_REPLY 5 subscriber.by-msisdn-103.info +id 3 +imsi 901990000000003 +msisdn 103 +nam_ps 0 + +SET 6 subscriber.by-msisdn-103.cs-enabled 0 +SET_REPLY 6 subscriber.by-msisdn-103.cs-enabled OK + +GET 7 subscriber.by-msisdn-103.cs-enabled +GET_REPLY 7 subscriber.by-msisdn-103.cs-enabled 0 + +GET 8 subscriber.by-msisdn-103.info +GET_REPLY 8 subscriber.by-msisdn-103.info +id 3 +imsi 901990000000003 +msisdn 103 +nam_cs 0 +nam_ps 0 + +SET 9 subscriber.by-msisdn-103.cs-enabled 1 +SET_REPLY 9 subscriber.by-msisdn-103.cs-enabled OK +SET 10 subscriber.by-msisdn-103.ps-enabled 1 +SET_REPLY 10 subscriber.by-msisdn-103.ps-enabled OK + +GET 11 subscriber.by-msisdn-103.info +GET_REPLY 11 subscriber.by-msisdn-103.info +id 3 +imsi 901990000000003 +msisdn 103 diff --git a/OsmoHLR/example_subscriber_info.ctrl b/OsmoHLR/example_subscriber_info.ctrl new file mode 100644 index 0000000..2020508 --- /dev/null +++ b/OsmoHLR/example_subscriber_info.ctrl @@ -0,0 +1,28 @@ +GET 1 subscriber.by-imsi-901990000000003.info +GET_REPLY 1 subscriber.by-imsi-901990000000003.info +id 3 +imsi 901990000000003 +msisdn 103 + +GET 2 subscriber.by-msisdn-103.info-aud +GET_REPLY 2 subscriber.by-msisdn-103.info-aud +aud2g.algo COMP128v1 +aud2g.ki 000102030405060708090a0b0c0d0e0f +aud3g.algo MILENAGE +aud3g.k 000102030405060708090a0b0c0d0e0f +aud3g.opc 101112131415161718191a1b1c1d1e1f +aud3g.ind_bitlen 5 +aud3g.sqn 2342 + +GET 3 subscriber.by-id-3.info-all +GET_REPLY 3 subscriber.by-id-3.info-all +id 3 +imsi 901990000000003 +msisdn 103 +aud2g.algo COMP128v1 +aud2g.ki 000102030405060708090a0b0c0d0e0f +aud3g.algo MILENAGE +aud3g.k 000102030405060708090a0b0c0d0e0f +aud3g.opc 101112131415161718191a1b1c1d1e1f +aud3g.ind_bitlen 5 +aud3g.sqn 2342 diff --git a/OsmoHLR/osmohlr-usermanual-docinfo.xml b/OsmoHLR/osmohlr-usermanual-docinfo.xml new file mode 100644 index 0000000..d99bba7 --- /dev/null +++ b/OsmoHLR/osmohlr-usermanual-docinfo.xml @@ -0,0 +1,47 @@ + + + 1 + September 18th, 2017 + NH + + Initial version; based on OsmoNITB manual version 2. + + + + + + + Neels + Hofmeyr + nhofmeyr@sysmocom.de + NH + + sysmocom + sysmocom - s.f.m.c. GmbH + Senior Developer + + + + + + 2017 + sysmocom - s.f.m.c. GmbH + + + + + 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 the Invariant Sections being just 'Foreword', + 'Acknowledgements' and 'Preface', with no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License". + + + The Asciidoc source code of this manual can be found at + + http://git.osmocom.org/osmo-gsm-manuals/ + + + diff --git a/OsmoHLR/osmohlr-usermanual.adoc b/OsmoHLR/osmohlr-usermanual.adoc new file mode 100644 index 0000000..2369155 --- /dev/null +++ b/OsmoHLR/osmohlr-usermanual.adoc @@ -0,0 +1,32 @@ +:gfdl-enabled: +:program-name: OsmoHLR + +OsmoHLR User Manual +==================== +Neels Hofmeyr + + +include::../common/chapters/preface.adoc[] + +include::chapters/overview.adoc[] + +include::chapters/running.adoc[] + +include::chapters/subscribers.adoc[] + +include::../common/chapters/vty.adoc[] + +include::../common/chapters/logging.adoc[] + +include::chapters/control.adoc[] + +include::../common/chapters/control_if.adoc[] + +include::../common/chapters/port_numbers.adoc[] + +include::../common/chapters/bibliography.adoc[] + +include::../common/chapters/glossary.adoc[] + +include::../common/chapters/gfdl.adoc[] + diff --git a/OsmoHLR/osmohlr-vty-reference.xml b/OsmoHLR/osmohlr-vty-reference.xml new file mode 100644 index 0000000..948f5f9 --- /dev/null +++ b/OsmoHLR/osmohlr-vty-reference.xml @@ -0,0 +1,38 @@ + + + + +]> + + + + + + v1 + 18th September 2017 + nh + Initial + + + + OsmoHLR VTY Reference + + + 2017 + + + + This work is copyright by sysmocom - s.f.m.c. GmbH. All rights reserved. + + + + + + &chapter-vty; + + diff --git a/OsmoHLR/vty/hlr_vty_additions.xml b/OsmoHLR/vty/hlr_vty_additions.xml new file mode 100644 index 0000000..a4c675e --- /dev/null +++ b/OsmoHLR/vty/hlr_vty_additions.xml @@ -0,0 +1,2 @@ + + diff --git a/OsmoHLR/vty/hlr_vty_reference.xml b/OsmoHLR/vty/hlr_vty_reference.xml new file mode 100644 index 0000000..31b95a1 --- /dev/null +++ b/OsmoHLR/vty/hlr_vty_reference.xml @@ -0,0 +1,1159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OsmoMSC/chapters/running.adoc b/OsmoMSC/chapters/running.adoc index 5925e02..8656a58 100644 --- a/OsmoMSC/chapters/running.adoc +++ b/OsmoMSC/chapters/running.adoc @@ -49,11 +49,11 @@ arguments: === Multiple instances -Running multiple instances of `osmo-msc` is possible if all interfaces (VTY, -CTRL) are separated using the appropriate configuration options. The IP based -interfaces are binding to local host by default. In order to separate the -processes, the user has to bind those services to specific but different IP -addresses. +Running multiple instances of `osmo-msc` on the same computer is possible if all +interfaces (VTY, CTRL) are separated using the appropriate configuration +options. The IP based interfaces are binding to local host by default. In order +to separate the processes, the user has to bind those services to specific but +different IP addresses and/or ports. The VTY and the Control interface can be bound to IP addresses from the loopback address range, for example: