diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-11-27 18:01:37 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-11-27 18:01:37 +0100 |
commit | 62ce834fbf0fb64244dfea3386294cbbd9dfe6fa (patch) | |
tree | d384b716952761032f4459e6304722bb27da5638 /doc | |
parent | e66e525e0904c234a17416aeee0393779d6e1bf3 (diff) | |
parent | bf6b4eb0b9a17059f7c526e4bab6fe76ce61676c (diff) |
Merge history from osmo-gsm-manuals.git
Change-Id: I175d694bea8f0be4edb2be75de780dee82469849
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manuals/Makefile | 51 | ||||
-rw-r--r-- | doc/manuals/chapters/control.adoc | 106 | ||||
-rw-r--r-- | doc/manuals/chapters/overview.adoc | 69 | ||||
-rw-r--r-- | doc/manuals/chapters/running.adoc | 80 | ||||
-rw-r--r-- | doc/manuals/chapters/subscribers.adoc | 69 | ||||
-rw-r--r-- | doc/manuals/chapters/ussd.adoc | 78 | ||||
-rw-r--r-- | doc/manuals/example_subscriber_add_update_delete.vty | 34 | ||||
-rw-r--r-- | doc/manuals/example_subscriber_cs_ps_enabled.ctrl | 71 | ||||
-rw-r--r-- | doc/manuals/example_subscriber_info.ctrl | 42 | ||||
-rw-r--r-- | doc/manuals/osmohlr-usermanual-docinfo.xml | 47 | ||||
-rw-r--r-- | doc/manuals/osmohlr-usermanual.adoc | 36 | ||||
-rw-r--r-- | doc/manuals/osmohlr-vty-reference.xml | 38 | ||||
-rw-r--r-- | doc/manuals/vty/hlr_vty_additions.xml | 2 | ||||
-rw-r--r-- | doc/manuals/vty/hlr_vty_reference.xml | 1162 |
14 files changed, 1885 insertions, 0 deletions
diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile new file mode 100644 index 0000000..234a48c --- /dev/null +++ b/doc/manuals/Makefile @@ -0,0 +1,51 @@ +TOPDIR = .. + +ASCIIDOC = osmohlr-usermanual.adoc +ASCIIDOC_DEPS = chapters/*.adoc *.vty *.ctrl +include $(TOPDIR)/build/Makefile.asciidoc.inc + +VTY_REFERENCE = osmohlr-vty-reference.xml +include $(TOPDIR)/build/Makefile.vty-reference.inc + +include $(TOPDIR)/build/Makefile.common.inc + +OSMO_HLR_PATH ?= ../../osmo-hlr +TMP_DB = generated/hlr.db + +update-examples: update-examples-ctrl update-examples-vty + +.PHONY: found-update-deps +found-update-deps: + @if [ ! -f "$(OSMO_HLR_PATH)/sql/hlr.sql" ]; then \ + echo "You need to define OSMO_HLR_PATH to point at an osmo-hlr.git"; \ + exit 1; \ + fi + @if [ -z "$(shell which osmo-hlr)" ]; then \ + echo "osmo-hlr needs to be installed / available in the PATH"; \ + exit 1; \ + fi + @if [ -z "$(shell which osmo_verify_transcript_ctrl.py)" ]; then \ + echo "You need to install git.osmocom.org/python/osmo-python-tests.git"; \ + exit 1; \ + fi + @if [ -z "$(shell which osmo_verify_transcript_vty.py)" ]; then \ + echo "You need to install git.osmocom.org/python/osmo-python-tests.git"; \ + exit 1; \ + fi + +update-examples-ctrl: found-update-deps + mkdir -p generated + rm -f "$(TMP_DB)" + sqlite3 "$(TMP_DB)" < "$(OSMO_HLR_PATH)/sql/hlr.sql" + sqlite3 "$(TMP_DB)" < "$(OSMO_HLR_PATH)/tests/test_subscriber.sql" + osmo_verify_transcript_ctrl.py \ + -r "osmo-hlr -l $(TMP_DB) -c /n/s/osmo/src/osmo-hlr/doc/examples/osmo-hlr.cfg" \ + -p 4259 --update *.ctrl + +update-examples-vty: found-update-deps + mkdir -p generated + rm -f "$(TMP_DB)" + sqlite3 "$(TMP_DB)" < "$(OSMO_HLR_PATH)/sql/hlr.sql" + osmo_verify_transcript_vty.py \ + -r "osmo-hlr -l $(TMP_DB) -c /n/s/osmo/src/osmo-hlr/doc/examples/osmo-hlr.cfg" \ + -p 4258 --update *.vty diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc new file mode 100644 index 0000000..50fd314 --- /dev/null +++ b/doc/manuals/chapters/control.adoc @@ -0,0 +1,106 @@ +[[hlr-ctrl]] +== Control interface + +The actual protocol is described in <<common-control-if>>, the variables common +to all programs using it are described in <<ctrl_common_vars>>. 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 + +---- +name<tab>value +---- + +To keep the reply as short as possible, some values are omitted if they are +empty. These are the returned values and their presence +modalities; for their meaning, see <<subscriber-params>>: + +.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' if CS is enabled, or '0'|always +|'info'|nam_ps|'1' if PS is enabled, or '0'|always +|'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'|ms_purged_cs|'1' if CS is purged, or '0'|always +|'info'|ms_purged_ps|'1' if PS is purged, or '0'|always +|'info'|periodic_lu_timer|0..4294967295|always +|'info'|periodic_rau_tau_timer|0..4294967295|always +|'info'|lmsi|8 hex digits|always +|'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/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc new file mode 100644 index 0000000..45802ca --- /dev/null +++ b/doc/manuals/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/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc new file mode 100644 index 0000000..5f24746 --- /dev/null +++ b/doc/manuals/chapters/running.adoc @@ -0,0 +1,80 @@ +== 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 <<logging>> 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 `osmo-hlr.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 <<logging>> + for more information. +*-T, --timestamp*:: + Enable time-stamping of log messages to stderr. This has mostly + been deprecated by VTY based logging configuration, see + <<logging>> 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 + <<logging>> for more information. +*-l, --database 'DATABASE'*:: + Specify the file name of the SQLite3 database to use as HLR/AUC + storage + +=== Bootstrap the Database + +If no database exists yet, OsmoHLR will automatically create and bootstrap a +database file with empty tables. If no `-l` command-line option is provided, +this database file will be created in the current working directory. + +Alternatively, you may use the `osmo-hlr-db-tool`, which is installed along +with `osmo-hlr`, to bootstrap an empty database, or to migrate subscriber data +from an old 'OsmoNITB' database. See `osmo-hlr-db-tool --help`. + +=== 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/doc/manuals/chapters/subscribers.adoc b/doc/manuals/chapters/subscribers.adoc new file mode 100644 index 0000000..bb57d24 --- /dev/null +++ b/doc/manuals/chapters/subscribers.adoc @@ -0,0 +1,69 @@ +== Managing Subscribers + +Subscribers are kept in a local SQLite database file and can be managed via VTY +and CTRL interfaces. + +This section provides some examples; also refer to the OsmoHLR VTY reference +manual <<vty-ref-osmohlr>> as well as the Control interface described in +<<hlr-ctrl>>. + +=== Example: Add/Update/Delete Subscriber via VTY + +The following telnet VTY session adds a subscriber complete with GSM (2G) and +UMTS (3G and 2G) 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. + +The `aud3g` table also applies to 2G networks: it provides UMTS AKA tokens for +Milenage authentication, which is available both on 3G and 2G networks. On 2G, +when both MS and network are R99 capable (like OsmoMSC and OsmoSGSN are), the +full UMTS AKA with Milenage keys from `aud_3g`, using AUTN and extended RES +tokens, is available. With pre-R99 MS or network configurations, the GSM AKA +compatible variant of Milenage, still using the Milenage keys from `aud_3g` but +transceiving only RAND and SRES, may be applicable. (See 3GPP TS 33.102, chapter +6.8.1, Authentication and key agreement of UMTS subscribers.) + +.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 GSM AKA, corresponds to enum osmo_auth_algo +|aud2g.ki||Subscriber's secret key (128bit) +|aud3g.algo|milenage|Authentication algorithm ID for UMTS AKA (applies to both 3G and 2G networks), 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/doc/manuals/chapters/ussd.adoc b/doc/manuals/chapters/ussd.adoc new file mode 100644 index 0000000..be463ac --- /dev/null +++ b/doc/manuals/chapters/ussd.adoc @@ -0,0 +1,78 @@ +[[ussd]] +== Unstructured Supplementary Services Data (USSD) + +The _Unstructured Supplementary Services Data (USSD)_ is one service within +2G/3G networks next to other services such as circuit-switched voice, packet-switched +data and SMS (Short Message Service). + +It is on an abstract level quite similar to SMS in that USSD can be used to send +textual messages. However, there are the following differences: + +* USSD is between the MS (phone) and an USSD application on the network, while + SMS is primarily between two subscribers identified by their MSISDN +* USSD is faster, as it doesn't suffer from the complicated three-layer CP/RP/TP + protocol stack of SMS with it's acknowledgement of the acknowledged acknowledgement. +* USSD is session-oriented, i.e. a dialogue/session between subscriber and application + can persist for the transfer of more than one message. The dedicated radio channel + on the RAN remains established throughout that dialogue. + +=== USSD in Osmocom + +Until August 2018, OsmoMSC contained some minimalistic internal USSD +handling with no +ability to attach/extend it with external USSD applications. + +From August 2018 onwards, OsmoMSC doesn't contain any internal USSD +handlers/applications anymore. Instead, all USSD is transported to/from +OsmoHLR via the GSUP protocol. + +OsmoHLR contains some intenal USSD handlers and can route USSD messages +to any number of external USSD entities (EUSEs). The EUSE also use GSUP +to communicate USSD from/to OsmoHLR. + +Each EUSE is identified by its name. The name consists of a single-word +string preceding a currently fixed ("-00-00-00-00-00-00") suffix. +There is no authentication between EUSE and OsmoHLR: Any client program +able to connect to the GSUP port of OsmoHLR can register as any EUSE +(name). + +NOTE:: We plan to remove the requirement for this suffix as soon as we +are done resolving all more important issues. + +=== USSD Configuration + +USSD configuration in OsmoHLR happens within the `hlr` VTY node. + +`euse foobar-00-00-00-00-00-00` defines an EUSE with the given name `foobar` + +`ussd route prefix *123 external foobar-00-00-00-00-00-00` installs a +prefix route to the named EUSE. All USSD short codes starting with *123 will be +routed to the named EUSE. + +`ussd route prefix *#100# internal own-msisdn` installs a prefix route +to the named internal USSD handler. There above command will restore +the old behavior, in which *#100# will return a text message containing +the subscribers own phone number. There is one other handler called +`own-imsi` which will return the IMSI instead of the MSISDN. + +`ussd default-route external foobar-00-00-00-00-00-00` installs a +default route to the named EUSE. This means that all USSD codes for +which no more specific route exists will be routed to the named EUSE. + +=== Example EUSE program + +We have provided an example EUSE developed in C language using existing +Osmocom libraries for GSUP protocol handling and USSD encoding/decoding. +It will register as `foobar` EUSE to OsmoHLR on localhost. You can run +it on a different machine by specifying e.g. `osmo-euse-demo 1.2.3.4 5678` +to make it connect to OsmoHLR on IP address 1.2.3.4 and GSUP/TCP port +5678. + +The idea is that you can use this as a template to develop your own USSD +applications, or any gateways to other protocols or interfaces. + +You can find it in `osmo-hlr/src/osmo-euse-demo.c` or online by +following the link to http://git.osmocom.org/osmo-hlr/tree/src/osmo-euse-demo.c + +This demonstration program will echo back any USSD message sent/routed +to it, quoted like _You sent "..."_. diff --git a/doc/manuals/example_subscriber_add_update_delete.vty b/doc/manuals/example_subscriber_add_update_delete.vty new file mode 100644 index 0000000..ca14a65 --- /dev/null +++ b/doc/manuals/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/doc/manuals/example_subscriber_cs_ps_enabled.ctrl b/doc/manuals/example_subscriber_cs_ps_enabled.ctrl new file mode 100644 index 0000000..a103fb8 --- /dev/null +++ b/doc/manuals/example_subscriber_cs_ps_enabled.ctrl @@ -0,0 +1,71 @@ +GET 1 subscriber.by-msisdn-103.info +GET_REPLY 1 subscriber.by-msisdn-103.info +id 3 +imsi 901990000000003 +msisdn 103 +nam_cs 1 +nam_ps 1 +ms_purged_cs 0 +ms_purged_ps 0 +periodic_lu_timer 0 +periodic_rau_tau_timer 0 +lmsi 00000000 + +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_cs 1 +nam_ps 0 +ms_purged_cs 0 +ms_purged_ps 0 +periodic_lu_timer 0 +periodic_rau_tau_timer 0 +lmsi 00000000 + +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 +ms_purged_cs 0 +ms_purged_ps 0 +periodic_lu_timer 0 +periodic_rau_tau_timer 0 +lmsi 00000000 + +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 +nam_cs 1 +nam_ps 1 +ms_purged_cs 0 +ms_purged_ps 0 +periodic_lu_timer 0 +periodic_rau_tau_timer 0 +lmsi 00000000 diff --git a/doc/manuals/example_subscriber_info.ctrl b/doc/manuals/example_subscriber_info.ctrl new file mode 100644 index 0000000..1bdf00b --- /dev/null +++ b/doc/manuals/example_subscriber_info.ctrl @@ -0,0 +1,42 @@ +GET 1 subscriber.by-imsi-901990000000003.info +GET_REPLY 1 subscriber.by-imsi-901990000000003.info +id 3 +imsi 901990000000003 +msisdn 103 +nam_cs 1 +nam_ps 1 +ms_purged_cs 0 +ms_purged_ps 0 +periodic_lu_timer 0 +periodic_rau_tau_timer 0 +lmsi 00000000 + +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 0 + +GET 3 subscriber.by-id-3.info-all +GET_REPLY 3 subscriber.by-id-3.info-all +id 3 +imsi 901990000000003 +msisdn 103 +nam_cs 1 +nam_ps 1 +ms_purged_cs 0 +ms_purged_ps 0 +periodic_lu_timer 0 +periodic_rau_tau_timer 0 +lmsi 00000000 +aud2g.algo COMP128v1 +aud2g.ki 000102030405060708090a0b0c0d0e0f +aud3g.algo MILENAGE +aud3g.k 000102030405060708090a0b0c0d0e0f +aud3g.opc 101112131415161718191a1b1c1d1e1f +aud3g.ind_bitlen 5 +aud3g.sqn 0 diff --git a/doc/manuals/osmohlr-usermanual-docinfo.xml b/doc/manuals/osmohlr-usermanual-docinfo.xml new file mode 100644 index 0000000..d99bba7 --- /dev/null +++ b/doc/manuals/osmohlr-usermanual-docinfo.xml @@ -0,0 +1,47 @@ +<revhistory> + <revision> + <revnumber>1</revnumber> + <date>September 18th, 2017</date> + <authorinitials>NH</authorinitials> + <revremark> + Initial version; based on OsmoNITB manual version 2. + </revremark> + </revision> +</revhistory> + +<authorgroup> + <author> + <firstname>Neels</firstname> + <surname>Hofmeyr</surname> + <email>nhofmeyr@sysmocom.de</email> + <authorinitials>NH</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Senior Developer</jobtitle> + </affiliation> + </author> +</authorgroup> + +<copyright> + <year>2017</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 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". + </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/doc/manuals/osmohlr-usermanual.adoc b/doc/manuals/osmohlr-usermanual.adoc new file mode 100644 index 0000000..d9a4654 --- /dev/null +++ b/doc/manuals/osmohlr-usermanual.adoc @@ -0,0 +1,36 @@ +:gfdl-enabled: +:program-name: OsmoHLR + +OsmoHLR User Manual +==================== +Neels Hofmeyr <nhofmeyr@sysmocom.de> + + +include::../common/chapters/preface.adoc[] + +include::chapters/overview.adoc[] + +include::chapters/running.adoc[] + +include::chapters/subscribers.adoc[] + +include::chapters/ussd.adoc[] + +include::../common/chapters/vty.adoc[] + +include::../common/chapters/logging.adoc[] + +include::chapters/control.adoc[] + +include::../common/chapters/control_if.adoc[] + +include::../common/chapters/gsup.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/doc/manuals/osmohlr-vty-reference.xml b/doc/manuals/osmohlr-vty-reference.xml new file mode 100644 index 0000000..11633fd --- /dev/null +++ b/doc/manuals/osmohlr-vty-reference.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ex:ts=2:sw=42sts=2:et + -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +--> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN" +"http://docbook.org/xml/5.0/dtd/docbook.dtd" [ +<!ENTITY chapter-vty SYSTEM "../common/chapters/vty.xml" > +<!ENTITY sections-vty SYSTEM "generated/docbook_vty.xml" > +]> + +<book> + <info> + <revhistory> + <revision> + <revnumber>v1</revnumber> + <date>18th September 2017</date> + <authorinitials>nh</authorinitials> + <revremark>Initial</revremark> + </revision> + </revhistory> + + <title>OsmoHLR VTY Reference</title> + + <copyright> + <year>2017</year> + </copyright> + + <legalnotice> + <para>This work is copyright by <orgname>sysmocom - s.f.m.c. GmbH</orgname>. All rights reserved. + </para> + </legalnotice> + </info> + + <!-- Main chapters--> + &chapter-vty; +</book> + diff --git a/doc/manuals/vty/hlr_vty_additions.xml b/doc/manuals/vty/hlr_vty_additions.xml new file mode 100644 index 0000000..a4c675e --- /dev/null +++ b/doc/manuals/vty/hlr_vty_additions.xml @@ -0,0 +1,2 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> +</vtydoc> diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml new file mode 100644 index 0000000..cc97dc4 --- /dev/null +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -0,0 +1,1162 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> + <node id='_common_cmds_'> + <name>Common Commands</name> + <description>These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference.</description> + <command id='help'> + <params> + <param name='help' doc='Description of the interactive help system' /> + </params> + </command> + <command id='list'> + <params> + <param name='list' doc='Print command list' /> + </params> + </command> + <command id='write terminal'> + <params> + <param name='write' doc='Write running configuration to memory, network, or terminal' /> + <param name='terminal' doc='Write to terminal' /> + </params> + </command> + <command id='write file'> + <params> + <param name='write' doc='Write running configuration to memory, network, or terminal' /> + <param name='file' doc='Write to configuration file' /> + </params> + </command> + <command id='write memory'> + <params> + <param name='write' doc='Write running configuration to memory, network, or terminal' /> + <param name='memory' doc='Write configuration to the file (same as write file)' /> + </params> + </command> + <command id='write'> + <params> + <param name='write' doc='Write running configuration to memory, network, or terminal' /> + </params> + </command> + <command id='show running-config'> + <params> + <param name='show' doc='Show running system information' /> + <param name='running-config' doc='running configuration' /> + </params> + </command> + <command id='exit'> + <params> + <param name='exit' doc='Exit current mode and down to previous mode' /> + </params> + </command> + <command id='end'> + <params> + <param name='end' doc='End current mode and change to enable mode.' /> + </params> + </command> + </node> + <node id='view'> + <name>view</name> + <command id='show version'> + <params> + <param name='show' doc='Show running system information' /> + <param name='version' doc='Displays program version' /> + </params> + </command> + <command id='show online-help'> + <params> + <param name='show' doc='Show running system information' /> + <param name='online-help' doc='Online help' /> + </params> + </command> + <command id='enable'> + <params> + <param name='enable' doc='Turn on privileged mode command' /> + </params> + </command> + <command id='terminal length <0-512>'> + <params> + <param name='terminal' doc='Set terminal line parameters' /> + <param name='length' doc='Set number of lines on a screen' /> + <param name='<0-512>' doc='Number of lines on screen (0 for no pausing)' /> + </params> + </command> + <command id='terminal no length'> + <params> + <param name='terminal' doc='Set terminal line parameters' /> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='length' doc='Set number of lines on a screen' /> + </params> + </command> + <command id='who'> + <params> + <param name='who' doc='Display who is on vty' /> + </params> + </command> + <command id='show history'> + <params> + <param name='show' doc='Show running system information' /> + <param name='history' doc='Display the session command history' /> + </params> + </command> + <command id='logging enable'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='enable' doc='Enables logging to this vty' /> + </params> + </command> + <command id='logging disable'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='disable' doc='Disables logging to this vty' /> + </params> + </command> + <command id='logging filter all (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='filter' doc='Filter log messages' /> + <param name='all' doc='Do you want to log all messages?' /> + <param name='0' doc='Only print messages matched by other filters' /> + <param name='1' doc='Bypass filter and print all messages' /> + </params> + </command> + <command id='logging color (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='color' doc='Configure color-printing for log messages' /> + <param name='0' doc='Don't use color for printing messages' /> + <param name='1' doc='Use color for printing messages' /> + </params> + </command> + <command id='logging timestamp (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='timestamp' doc='Configure log message timestamping' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with current timestamp' /> + </params> + </command> + <command id='logging print extended-timestamp (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='extended-timestamp' doc='Configure log message timestamping' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' /> + </params> + </command> + <command id='logging print category (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='category' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with category/subsystem name' /> + </params> + </command> + <command id='logging print category-hex (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='category-hex' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with category/subsystem nr in hex ('<000b>')' /> + </params> + </command> + <command id='logging print level (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='level' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with the log level name' /> + </params> + </command> + <command id='logging print file (0|1|basename) [last]'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='file' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with the source file and line' /> + <param name='basename' doc='Prefix each log message with the source file's basename (strip leading paths) and line' /> + <param name='[last]' doc='Log source file info at the end of a log line. If omitted, log source file info just before the log text.' /> + </params> + </command> + <command id='logging set-log-mask MASK'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='set-log-mask' doc='Set the logmask of this logging target' /> + <param name='MASK' doc='List of logging categories to log, e.g. 'abc:mno:xyz'. Available log categories depend on the specific application, refer to the 'logging level' command. Optionally add individual log levels like 'abc,1:mno,3:xyz,5', where the level numbers are LOGL_DEBUG=1 LOGL_INFO=3 LOGL_NOTICE=5 LOGL_ERROR=7 LOGL_FATAL=8' /> + </params> + </command> + <command id='logging level (main|db|auc|ss|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='main' doc='Main Program' /> + <param name='db' doc='Database Layer' /> + <param name='auc' doc='Authentication Center' /> + <param name='ss' doc='Supplementary Services' /> + <param name='lglobal' doc='Library-internal global log family' /> + <param name='llapd' doc='LAPD in libosmogsm' /> + <param name='linp' doc='A-bis Intput Subsystem' /> + <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' /> + <param name='lmi' doc='A-bis Input Driver for Signalling' /> + <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' /> + <param name='lsms' doc='Layer3 Short Message Service (SMS)' /> + <param name='lctrl' doc='Control Interface' /> + <param name='lgtp' doc='GPRS GTP library' /> + <param name='lstats' doc='Statistics messages and logging' /> + <param name='lgsup' doc='Generic Subscriber Update Protocol' /> + <param name='loap' doc='Osmocom Authentication Protocol' /> + <param name='lss7' doc='libosmo-sigtran Signalling System 7' /> + <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' /> + <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' /> + <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' /> + <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' /> + <param name='ljibuf' doc='libosmo-netif Jitter Buffer' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='logging level set-all (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='set-all' doc='Once-off set all categories to the given log level. There is no single command to take back these changes -- each category is set to the given level, period.' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='logging level force-all (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='force-all' doc='Globally force all logging categories to a specific level. This is released by the 'no logging level force-all' command. Note: any 'logging level <category> <level>' commands will have no visible effect after this, until the forced level is released.' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='no logging level force-all'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='force-all' doc='Release any globally forced log level set with 'logging level force-all <level>'' /> + </params> + </command> + <command id='show logging vty'> + <params> + <param name='show' doc='Show running system information' /> + <param name='logging' doc='Show current logging configuration' /> + <param name='vty' doc='Show current logging configuration for this vty' /> + </params> + </command> + <command id='show alarms'> + <params> + <param name='show' doc='Show running system information' /> + <param name='alarms' doc='Show current logging configuration' /> + </params> + </command> + <command id='show talloc-context (application|all) (full|brief|DEPTH)'> + <params> + <param name='show' doc='Show running system information' /> + <param name='talloc-context' doc='Show talloc memory hierarchy' /> + <param name='application' doc='Application's context' /> + <param name='all' doc='All contexts, if NULL-context tracking is enabled' /> + <param name='full' doc='Display a full talloc memory hierarchy' /> + <param name='brief' doc='Display a brief talloc memory hierarchy' /> + <param name='DEPTH' doc='Specify required maximal depth value' /> + </params> + </command> + <command id='show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS'> + <params> + <param name='show' doc='Show running system information' /> + <param name='talloc-context' doc='Show talloc memory hierarchy' /> + <param name='application' doc='Application's context' /> + <param name='all' doc='All contexts, if NULL-context tracking is enabled' /> + <param name='full' doc='Display a full talloc memory hierarchy' /> + <param name='brief' doc='Display a brief talloc memory hierarchy' /> + <param name='DEPTH' doc='Specify required maximal depth value' /> + <param name='tree' doc='Display only a specific memory chunk' /> + <param name='ADDRESS' doc='Chunk address (e.g. 0xdeadbeef)' /> + </params> + </command> + <command id='show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP'> + <params> + <param name='show' doc='Show running system information' /> + <param name='talloc-context' doc='Show talloc memory hierarchy' /> + <param name='application' doc='Application's context' /> + <param name='all' doc='All contexts, if NULL-context tracking is enabled' /> + <param name='full' doc='Display a full talloc memory hierarchy' /> + <param name='brief' doc='Display a brief talloc memory hierarchy' /> + <param name='DEPTH' doc='Specify required maximal depth value' /> + <param name='filter' doc='Filter chunks using regular expression' /> + <param name='REGEXP' doc='Regular expression' /> + </params> + </command> + <command id='show gsup-connections'> + <params> + <param name='show' doc='Show running system information' /> + <param name='gsup-connections' doc='GSUP Connections from VLRs, SGSNs, EUSEs' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT show'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='show' doc='Show subscriber information' /> + </params> + </command> + </node> + <node id='enable'> + <name>enable</name> + <command id='disable'> + <params> + <param name='disable' doc='Turn off privileged mode command' /> + </params> + </command> + <command id='configure terminal'> + <params> + <param name='configure' doc='Configuration from vty interface' /> + <param name='terminal' doc='Configuration terminal' /> + </params> + </command> + <command id='copy running-config startup-config'> + <params> + <param name='copy' doc='Copy configuration' /> + <param name='running-config' doc='Copy running config to... ' /> + <param name='startup-config' doc='Copy running config to startup config (same as write file)' /> + </params> + </command> + <command id='show startup-config'> + <params> + <param name='show' doc='Show running system information' /> + <param name='startup-config' doc='Contentes of startup configuration' /> + </params> + </command> + <command id='show version'> + <params> + <param name='show' doc='Show running system information' /> + <param name='version' doc='Displays program version' /> + </params> + </command> + <command id='show online-help'> + <params> + <param name='show' doc='Show running system information' /> + <param name='online-help' doc='Online help' /> + </params> + </command> + <command id='terminal length <0-512>'> + <params> + <param name='terminal' doc='Set terminal line parameters' /> + <param name='length' doc='Set number of lines on a screen' /> + <param name='<0-512>' doc='Number of lines on screen (0 for no pausing)' /> + </params> + </command> + <command id='terminal no length'> + <params> + <param name='terminal' doc='Set terminal line parameters' /> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='length' doc='Set number of lines on a screen' /> + </params> + </command> + <command id='who'> + <params> + <param name='who' doc='Display who is on vty' /> + </params> + </command> + <command id='show history'> + <params> + <param name='show' doc='Show running system information' /> + <param name='history' doc='Display the session command history' /> + </params> + </command> + <command id='terminal monitor'> + <params> + <param name='terminal' doc='Set terminal line parameters' /> + <param name='monitor' doc='Copy debug output to the current terminal line' /> + </params> + </command> + <command id='terminal no monitor'> + <params> + <param name='terminal' doc='Set terminal line parameters' /> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='monitor' doc='Copy debug output to the current terminal line' /> + </params> + </command> + <command id='logging enable'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='enable' doc='Enables logging to this vty' /> + </params> + </command> + <command id='logging disable'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='disable' doc='Disables logging to this vty' /> + </params> + </command> + <command id='logging filter all (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='filter' doc='Filter log messages' /> + <param name='all' doc='Do you want to log all messages?' /> + <param name='0' doc='Only print messages matched by other filters' /> + <param name='1' doc='Bypass filter and print all messages' /> + </params> + </command> + <command id='logging color (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='color' doc='Configure color-printing for log messages' /> + <param name='0' doc='Don't use color for printing messages' /> + <param name='1' doc='Use color for printing messages' /> + </params> + </command> + <command id='logging timestamp (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='timestamp' doc='Configure log message timestamping' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with current timestamp' /> + </params> + </command> + <command id='logging print extended-timestamp (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='extended-timestamp' doc='Configure log message timestamping' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' /> + </params> + </command> + <command id='logging print category (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='category' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with category/subsystem name' /> + </params> + </command> + <command id='logging print category-hex (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='category-hex' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with category/subsystem nr in hex ('<000b>')' /> + </params> + </command> + <command id='logging print level (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='level' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with the log level name' /> + </params> + </command> + <command id='logging print file (0|1|basename) [last]'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='file' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with the source file and line' /> + <param name='basename' doc='Prefix each log message with the source file's basename (strip leading paths) and line' /> + <param name='[last]' doc='Log source file info at the end of a log line. If omitted, log source file info just before the log text.' /> + </params> + </command> + <command id='logging set-log-mask MASK'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='set-log-mask' doc='Set the logmask of this logging target' /> + <param name='MASK' doc='List of logging categories to log, e.g. 'abc:mno:xyz'. Available log categories depend on the specific application, refer to the 'logging level' command. Optionally add individual log levels like 'abc,1:mno,3:xyz,5', where the level numbers are LOGL_DEBUG=1 LOGL_INFO=3 LOGL_NOTICE=5 LOGL_ERROR=7 LOGL_FATAL=8' /> + </params> + </command> + <command id='logging level (main|db|auc|ss|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='main' doc='Main Program' /> + <param name='db' doc='Database Layer' /> + <param name='auc' doc='Authentication Center' /> + <param name='ss' doc='Supplementary Services' /> + <param name='lglobal' doc='Library-internal global log family' /> + <param name='llapd' doc='LAPD in libosmogsm' /> + <param name='linp' doc='A-bis Intput Subsystem' /> + <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' /> + <param name='lmi' doc='A-bis Input Driver for Signalling' /> + <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' /> + <param name='lsms' doc='Layer3 Short Message Service (SMS)' /> + <param name='lctrl' doc='Control Interface' /> + <param name='lgtp' doc='GPRS GTP library' /> + <param name='lstats' doc='Statistics messages and logging' /> + <param name='lgsup' doc='Generic Subscriber Update Protocol' /> + <param name='loap' doc='Osmocom Authentication Protocol' /> + <param name='lss7' doc='libosmo-sigtran Signalling System 7' /> + <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' /> + <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' /> + <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' /> + <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' /> + <param name='ljibuf' doc='libosmo-netif Jitter Buffer' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='logging level set-all (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='set-all' doc='Once-off set all categories to the given log level. There is no single command to take back these changes -- each category is set to the given level, period.' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='logging level force-all (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='force-all' doc='Globally force all logging categories to a specific level. This is released by the 'no logging level force-all' command. Note: any 'logging level <category> <level>' commands will have no visible effect after this, until the forced level is released.' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='no logging level force-all'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='force-all' doc='Release any globally forced log level set with 'logging level force-all <level>'' /> + </params> + </command> + <command id='show logging vty'> + <params> + <param name='show' doc='Show running system information' /> + <param name='logging' doc='Show current logging configuration' /> + <param name='vty' doc='Show current logging configuration for this vty' /> + </params> + </command> + <command id='show alarms'> + <params> + <param name='show' doc='Show running system information' /> + <param name='alarms' doc='Show current logging configuration' /> + </params> + </command> + <command id='show talloc-context (application|all) (full|brief|DEPTH)'> + <params> + <param name='show' doc='Show running system information' /> + <param name='talloc-context' doc='Show talloc memory hierarchy' /> + <param name='application' doc='Application's context' /> + <param name='all' doc='All contexts, if NULL-context tracking is enabled' /> + <param name='full' doc='Display a full talloc memory hierarchy' /> + <param name='brief' doc='Display a brief talloc memory hierarchy' /> + <param name='DEPTH' doc='Specify required maximal depth value' /> + </params> + </command> + <command id='show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS'> + <params> + <param name='show' doc='Show running system information' /> + <param name='talloc-context' doc='Show talloc memory hierarchy' /> + <param name='application' doc='Application's context' /> + <param name='all' doc='All contexts, if NULL-context tracking is enabled' /> + <param name='full' doc='Display a full talloc memory hierarchy' /> + <param name='brief' doc='Display a brief talloc memory hierarchy' /> + <param name='DEPTH' doc='Specify required maximal depth value' /> + <param name='tree' doc='Display only a specific memory chunk' /> + <param name='ADDRESS' doc='Chunk address (e.g. 0xdeadbeef)' /> + </params> + </command> + <command id='show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP'> + <params> + <param name='show' doc='Show running system information' /> + <param name='talloc-context' doc='Show talloc memory hierarchy' /> + <param name='application' doc='Application's context' /> + <param name='all' doc='All contexts, if NULL-context tracking is enabled' /> + <param name='full' doc='Display a full talloc memory hierarchy' /> + <param name='brief' doc='Display a brief talloc memory hierarchy' /> + <param name='DEPTH' doc='Specify required maximal depth value' /> + <param name='filter' doc='Filter chunks using regular expression' /> + <param name='REGEXP' doc='Regular expression' /> + </params> + </command> + <command id='show gsup-connections'> + <params> + <param name='show' doc='Show running system information' /> + <param name='gsup-connections' doc='GSUP Connections from VLRs, SGSNs, EUSEs' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT show'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='show' doc='Show subscriber information' /> + </params> + </command> + <command id='subscriber imsi IDENT create'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='create' doc='Create subscriber by IMSI' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT delete'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='delete' doc='Delete subscriber from database' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT update msisdn MSISDN'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='update' doc='Set or update subscriber data' /> + <param name='msisdn' doc='Set MSISDN (phone number) of the subscriber' /> + <param name='MSISDN' doc='New MSISDN (phone number)' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT update aud2g none'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='update' doc='Set or update subscriber data' /> + <param name='aud2g' doc='Set 2G authentication data' /> + <param name='none' doc='Delete 2G authentication data' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT update aud2g (comp128v1|comp128v2|comp128v3|xor) ki KI'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='update' doc='Set or update subscriber data' /> + <param name='aud2g' doc='Set 2G authentication data' /> + <param name='comp128v1' doc='Use COMP128v1 algorithm' /> + <param name='comp128v2' doc='Use COMP128v2 algorithm' /> + <param name='comp128v3' doc='Use COMP128v3 algorithm' /> + <param name='xor' doc='Use XOR algorithm' /> + <param name='ki' doc='Set Ki Encryption Key' /> + <param name='KI' doc='Ki as 32 hexadecimal characters' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT update aud3g none'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='update' doc='Set or update subscriber data' /> + <param name='aud3g' doc='Set UMTS authentication data (3G, and 2G with UMTS AKA)' /> + <param name='none' doc='Delete 3G authentication data' /> + </params> + </command> + <command id='subscriber (imsi|msisdn|id) IDENT update aud3g milenage k K (op|opc) OP_C [ind-bitlen] [<0-28>]'> + <params> + <param name='subscriber' doc='Subscriber management commands' /> + <param name='imsi' doc='Identify subscriber by IMSI' /> + <param name='msisdn' doc='Identify subscriber by MSISDN (phone number)' /> + <param name='id' doc='Identify subscriber by database ID' /> + <param name='IDENT' doc='IMSI/MSISDN/ID of the subscriber' /> + <param name='update' doc='Set or update subscriber data' /> + <param name='aud3g' doc='Set UMTS authentication data (3G, and 2G with UMTS AKA)' /> + <param name='milenage' doc='Use Milenage algorithm' /> + <param name='k' doc='Set Encryption Key K' /> + <param name='K' doc='K as 32 hexadecimal characters' /> + <param name='op' doc='Set OP key' /> + <param name='opc' doc='Set OPC key' /> + <param name='OP_C' doc='OP or OPC as 32 hexadecimal characters' /> + <param name='[ind-bitlen]' doc='Set IND bit length' /> + <param name='[<0-28>]' doc='IND bit length value (default: 5)' /> + </params> + </command> + </node> + <node id='config'> + <name>config</name> + <command id='hostname WORD'> + <params> + <param name='hostname' doc='Set system's network name' /> + <param name='WORD' doc='This system's network name' /> + </params> + </command> + <command id='no hostname [HOSTNAME]'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='hostname' doc='Reset system's network name' /> + <param name='[HOSTNAME]' doc='Host name of this router' /> + </params> + </command> + <command id='password (8|) WORD'> + <params> + <param name='password' doc='Assign the terminal connection password' /> + <param name='8' doc='Specifies a HIDDEN password will follow' /> + <param name='' doc='dummy string ' /> + <param name='WORD' doc='The HIDDEN line password string' /> + </params> + </command> + <command id='password LINE'> + <params> + <param name='password' doc='Assign the terminal connection password' /> + <param name='LINE' doc='The UNENCRYPTED (cleartext) line password' /> + </params> + </command> + <command id='enable password (8|) WORD'> + <params> + <param name='enable' doc='Modify enable password parameters' /> + <param name='password' doc='Assign the privileged level password' /> + <param name='8' doc='Specifies a HIDDEN password will follow' /> + <param name='' doc='dummy string ' /> + <param name='WORD' doc='The HIDDEN 'enable' password string' /> + </params> + </command> + <command id='enable password LINE'> + <params> + <param name='enable' doc='Modify enable password parameters' /> + <param name='password' doc='Assign the privileged level password' /> + <param name='LINE' doc='The UNENCRYPTED (cleartext) 'enable' password' /> + </params> + </command> + <command id='no enable password'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='enable' doc='Modify enable password parameters' /> + <param name='password' doc='Assign the privileged level password' /> + </params> + </command> + <command id='banner motd default'> + <params> + <param name='banner' doc='Set banner string' /> + <param name='motd' doc='Strings for motd' /> + <param name='default' doc='Default string' /> + </params> + </command> + <command id='banner motd file [FILE]'> + <params> + <param name='banner' doc='Set banner' /> + <param name='motd' doc='Banner for motd' /> + <param name='file' doc='Banner from a file' /> + <param name='[FILE]' doc='Filename' /> + </params> + </command> + <command id='no banner motd'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='banner' doc='Set banner string' /> + <param name='motd' doc='Strings for motd' /> + </params> + </command> + <command id='service terminal-length <0-512>'> + <params> + <param name='service' doc='Set up miscellaneous service' /> + <param name='terminal-length' doc='System wide terminal length configuration' /> + <param name='<0-512>' doc='Number of lines of VTY (0 means no line control)' /> + </params> + </command> + <command id='no service terminal-length [<0-512>]'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='service' doc='Set up miscellaneous service' /> + <param name='terminal-length' doc='System wide terminal length configuration' /> + <param name='[<0-512>]' doc='Number of lines of VTY (0 means no line control)' /> + </params> + </command> + <command id='line vty'> + <params> + <param name='line' doc='Configure a terminal line' /> + <param name='vty' doc='Virtual terminal' /> + </params> + </command> + <command id='service advanced-vty'> + <params> + <param name='service' doc='Set up miscellaneous service' /> + <param name='advanced-vty' doc='Enable advanced mode vty interface' /> + </params> + </command> + <command id='no service advanced-vty'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='service' doc='Set up miscellaneous service' /> + <param name='advanced-vty' doc='Enable advanced mode vty interface' /> + </params> + </command> + <command id='show history'> + <params> + <param name='show' doc='Show running system information' /> + <param name='history' doc='Display the session command history' /> + </params> + </command> + <command id='ctrl'> + <params> + <param name='ctrl' doc='Configure the Control Interface' /> + </params> + </command> + <command id='log stderr'> + <params> + <param name='log' doc='Configure logging sub-system' /> + <param name='stderr' doc='Logging via STDERR of the process' /> + </params> + </command> + <command id='no log stderr'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='log' doc='Configure logging sub-system' /> + <param name='stderr' doc='Logging via STDERR of the process' /> + </params> + </command> + <command id='log file .FILENAME'> + <params> + <param name='log' doc='Configure logging sub-system' /> + <param name='file' doc='Logging to text file' /> + <param name='.FILENAME' doc='Filename' /> + </params> + </command> + <command id='no log file .FILENAME'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='log' doc='Configure logging sub-system' /> + <param name='file' doc='Logging to text file' /> + <param name='.FILENAME' doc='Filename' /> + </params> + </command> + <command id='log alarms <2-32700>'> + <params> + <param name='log' doc='Configure logging sub-system' /> + <param name='alarms' doc='Logging alarms to osmo_strrb' /> + <param name='<2-32700>' doc='Maximum number of messages to log' /> + </params> + </command> + <command id='no log alarms'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='log' doc='Configure logging sub-system' /> + <param name='alarms' doc='Logging alarms to osmo_strrb' /> + </params> + </command> + <command id='log syslog (authpriv|cron|daemon|ftp|lpr|mail|news|user|uucp)'> + <params> + <param name='log' doc='Configure logging sub-system' /> + <param name='syslog' doc='Logging via syslog' /> + <param name='authpriv' doc='Security/authorization messages facility' /> + <param name='cron' doc='Clock daemon (cron/at) facility' /> + <param name='daemon' doc='General system daemon facility' /> + <param name='ftp' doc='Ftp daemon facility' /> + <param name='lpr' doc='Line printer facility' /> + <param name='mail' doc='Mail facility' /> + <param name='news' doc='News facility' /> + <param name='user' doc='Generic facility' /> + <param name='uucp' doc='UUCP facility' /> + </params> + </command> <command id='log syslog local <0-7>'> + <params> + <param name='log' doc='Configure logging sub-system' /> + <param name='syslog' doc='Logging via syslog' /> + <param name='local' doc='Syslog LOCAL facility' /> + <param name='<0-7>' doc='Local facility number' /> + </params> + </command> + <command id='no log syslog'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='log' doc='Configure logging sub-system' /> + <param name='syslog' doc='Logging via syslog' /> + </params> + </command> + <command id='log gsmtap [HOSTNAME]'> + <params> + <param name='log' doc='Configure logging sub-system' /> + <param name='gsmtap' doc='Logging via GSMTAP' /> + <param name='[HOSTNAME]' doc='Host name to send the GSMTAP logging to (UDP port 4729)' /> + </params> + </command> + <command id='hlr'> + <params> + <param name='hlr' doc='Configure the HLR' /> + </params> + </command> + </node> + <node id='config-log'> + <name>config-log</name> + <command id='logging filter all (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='filter' doc='Filter log messages' /> + <param name='all' doc='Do you want to log all messages?' /> + <param name='0' doc='Only print messages matched by other filters' /> + <param name='1' doc='Bypass filter and print all messages' /> + </params> + </command> + <command id='logging color (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='color' doc='Configure color-printing for log messages' /> + <param name='0' doc='Don't use color for printing messages' /> + <param name='1' doc='Use color for printing messages' /> + </params> + </command> + <command id='logging timestamp (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='timestamp' doc='Configure log message timestamping' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with current timestamp' /> + </params> + </command> + <command id='logging print extended-timestamp (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='extended-timestamp' doc='Configure log message timestamping' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' /> + </params> + </command> + <command id='logging print category (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='category' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with category/subsystem name' /> + </params> + </command> + <command id='logging print category-hex (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='category-hex' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with category/subsystem nr in hex ('<000b>')' /> + </params> + </command> + <command id='logging print level (0|1)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='level' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with the log level name' /> + </params> + </command> + <command id='logging print file (0|1|basename) [last]'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='print' doc='Log output settings' /> + <param name='file' doc='Configure log message' /> + <param name='0' doc='Don't prefix each log message' /> + <param name='1' doc='Prefix each log message with the source file and line' /> + <param name='basename' doc='Prefix each log message with the source file's basename (strip leading paths) and line' /> + <param name='[last]' doc='Log source file info at the end of a log line. If omitted, log source file info just before the log text.' /> + </params> + </command> + <command id='logging level (main|db|auc|ss|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='main' doc='Main Program' /> + <param name='db' doc='Database Layer' /> + <param name='auc' doc='Authentication Center' /> + <param name='ss' doc='Supplementary Services' /> + <param name='lglobal' doc='Library-internal global log family' /> + <param name='llapd' doc='LAPD in libosmogsm' /> + <param name='linp' doc='A-bis Intput Subsystem' /> + <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' /> + <param name='lmi' doc='A-bis Input Driver for Signalling' /> + <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' /> + <param name='lsms' doc='Layer3 Short Message Service (SMS)' /> + <param name='lctrl' doc='Control Interface' /> + <param name='lgtp' doc='GPRS GTP library' /> + <param name='lstats' doc='Statistics messages and logging' /> + <param name='lgsup' doc='Generic Subscriber Update Protocol' /> + <param name='loap' doc='Osmocom Authentication Protocol' /> + <param name='lss7' doc='libosmo-sigtran Signalling System 7' /> + <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' /> + <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' /> + <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' /> + <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' /> + <param name='ljibuf' doc='libosmo-netif Jitter Buffer' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='logging level set-all (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='set-all' doc='Once-off set all categories to the given log level. There is no single command to take back these changes -- each category is set to the given level, period.' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='logging level force-all (debug|info|notice|error|fatal)'> + <params> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='force-all' doc='Globally force all logging categories to a specific level. This is released by the 'no logging level force-all' command. Note: any 'logging level <category> <level>' commands will have no visible effect after this, until the forced level is released.' /> + <param name='debug' doc='Log debug messages and higher levels' /> + <param name='info' doc='Log informational messages and higher levels' /> + <param name='notice' doc='Log noticeable messages and higher levels' /> + <param name='error' doc='Log error messages and higher levels' /> + <param name='fatal' doc='Log only fatal messages' /> + </params> + </command> + <command id='no logging level force-all'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='logging' doc='Configure logging' /> + <param name='level' doc='Set the log level for a specified category' /> + <param name='force-all' doc='Release any globally forced log level set with 'logging level force-all <level>'' /> + </params> + </command> + </node> + <node id='config-line'> + <name>config-line</name> + <command id='login'> + <params> + <param name='login' doc='Enable password checking' /> + </params> + </command> + <command id='no login'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='login' doc='Enable password checking' /> + </params> + </command> + <command id='bind A.B.C.D'> + <params> + <param name='bind' doc='Accept VTY telnet connections on local interface' /> + <param name='A.B.C.D' doc='Local interface IP address (default: 127.0.0.1)' /> + </params> + </command> + </node> + <node id='config-ctrl'> + <name>config-ctrl</name> + <command id='bind A.B.C.D'> + <params> + <param name='bind' doc='Set bind address to listen for Control connections' /> + <param name='A.B.C.D' doc='Local IP address (default 127.0.0.1)' /> + </params> + </command> + </node> + <node id='config-hlr'> + <name>config-hlr</name> + <command id='gsup'> + <params> + <param name='gsup' doc='Configure GSUP options' /> + </params> + </command> + <command id='euse NAME'> + <params> + <param name='euse' doc='Configure a particular External USSD Entity' /> + <param name='NAME' doc='Alphanumeric name of the External USSD Entity' /> + </params> + </command> + <command id='no euse NAME'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='euse' doc='Remove a particular External USSD Entity' /> + <param name='NAME' doc='Alphanumeric name of the External USSD Entity' /> + </params> + </command> + <command id='ussd route prefix PREFIX internal (own-msisdn|own-imsi)'> + <params> + <param name='ussd' doc='USSD Configuration' /> + <param name='route' doc='Routing Configuration' /> + <param name='prefix' doc='Prefix-Matching Route' /> + <param name='PREFIX' doc='USSD Prefix' /> + <param name='internal' doc='Internal USSD Handler' /> + <param name='own-msisdn' doc='Respond with subscribers' own MSISDN' /> + <param name='own-imsi' doc='Respond with subscribers' own IMSI' /> + </params> + </command> + <command id='ussd route prefix PREFIX external EUSE'> + <params> + <param name='ussd' doc='USSD Configuration' /> + <param name='route' doc='Routing Configuration' /> + <param name='prefix' doc='Prefix-Matching Route' /> + <param name='PREFIX' doc='USSD Prefix' /> + <param name='external' doc='External USSD Handler' /> + <param name='EUSE' doc='Name of External USSD Handler (IPA CCM ID)' /> + </params> + </command> + <command id='no ussd route prefix PREFIX'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='ussd' doc='USSD Configuration' /> + <param name='route' doc='Routing Configuration' /> + <param name='prefix' doc='Prefix-Matching Route' /> + <param name='PREFIX' doc='USSD Prefix' /> + </params> + </command> + <command id='ussd default-route external EUSE'> + <params> + <param name='ussd' doc='USSD Configuration' /> + <param name='default-route' doc='Configure default-route for all USSD to unknown destinations' /> + <param name='external' doc='External USSD Handler' /> + <param name='EUSE' doc='Name of External USSD Handler (IPA CCM ID)' /> + </params> + </command> + <command id='no ussd default-route'> + <params> + <param name='no' doc='Negate a command or set its defaults' /> + <param name='ussd' doc='USSD Configuration' /> + <param name='default-route' doc='Remove the default-route for all USSD to unknown destinations' /> + </params> + </command> + </node> + <node id='config-hlr-gsup'> + <name>config-hlr-gsup</name> + <command id='bind ip A.B.C.D'> + <params> + <param name='bind' doc='Listen/Bind related socket option' /> + <param name='ip' doc='IP information' /> + <param name='A.B.C.D' doc='IPv4 Address to bind the GSUP interface to' /> + </params> + </command> + </node> + <node id='config-hlr-euse'> + <name>config-hlr-euse</name> + </node> +</vtydoc> |