diff options
105 files changed, 23207 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5742b8e --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.pdf +*.sw? +*.bak +*~ +*.html +*__*.png +*__*.svg +generated/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cfe7fc0 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +all: + cd OsmoBTS; $(MAKE) + cd OsmoNITB; $(MAKE) + cd OsmoBSC; $(MAKE) + cd OsmoMGCP; $(MAKE) + cd OsmoSGSN; $(MAKE) + cd OsmoNAT; $(MAKE) + cd OsmoPCU; $(MAKE) + +clean: + cd OsmoBTS; $(MAKE) clean + cd OsmoNITB; $(MAKE) clean + cd OsmoBSC; $(MAKE) clean + cd OsmoMGCP; $(MAKE) clean + cd OsmoSGSN; $(MAKE) clean + cd OsmoNAT; $(MAKE) clean + cd OsmoPCU; $(MAKE) clean + +upload: + cd OsmoBTS; $(MAKE) upload + cd OsmoNITB; $(MAKE) upload + cd OsmoBSC; $(MAKE) upload + cd OsmoMGCP; $(MAKE) upload + cd OsmoSGSN; $(MAKE) upload + cd OsmoNAT; $(MAKE) upload + cd OsmoPCU; $(MAKE) upload diff --git a/OsmoBSC/Makefile b/OsmoBSC/Makefile new file mode 100644 index 0000000..e2c464c --- /dev/null +++ b/OsmoBSC/Makefile @@ -0,0 +1,42 @@ +# XSL stylesheets downloaded from http://docbook.sourceforge.net/release/xsl/current/html/ +# Makefile from BitBake/OpenEmbedded manuals + + +EXTRA_DEPS = gen-bsc-vty-docbook + +topdir = . +bsc_reference = $(topdir)/osmobsc-vty-reference.xml +manuals = $(bsc_reference) +# types = pdf txt rtf ps xhtml html man tex texi dvi +# types = pdf txt +types = $(docbooktotypes) +docbooktotypes = pdf +# htmlcssfile = +# htmlcss = + +TOPDIR := .. +ASCIIDOCS := osmobsc-usermanual + +include $(TOPDIR)/build/Makefile.asciidoc.inc +include $(TOPDIR)/build/Makefile.inc + +osmobsc-usermanual.pdf: chapters/*.adoc + +clean: + rm -rf $(cleanfiles) + +gen-bsc-vty-docbook: FORCE + $(call command,xsltproc -o generated/combined1.xml \ + --stringparam with $(PWD)/../common/vty_additions.xml \ + $(MERGE_DOC) vty/bsc_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/bsc_vty_additions.xml \ + $(MERGE_DOC) generated/combined2.xml, \ + XSLTPROC,Merging BSC VTY) + $(call command,xsltproc ../vty_reference.xsl generated/combined3.xml > generated/docbook_vty.xml, \ + XSLTPROC,Converting BSC VTY to DocBook) diff --git a/OsmoBSC/chapters/alink.adoc b/OsmoBSC/chapters/alink.adoc new file mode 100644 index 0000000..37e64c0 --- /dev/null +++ b/OsmoBSC/chapters/alink.adoc @@ -0,0 +1,15 @@ +== A-link including SCCP/BSSAP/DTAP + +OsmoBSC implements a minimal sub-set of the GSM A interface as specified +in TS 08.08. + +Unlike classic A interface implementations for E1 interfacs, OsmoBSC +implements a variant of encapsulating the A interface over IP. To do +so, the SCCP messages are wrapped in an IPA multiplex and then +communicated over TCP. The audio channels are mapped to RTP streams. + +This protcol stacking is sometimes called "SCCPlite". + +=== + +FIXME diff --git a/OsmoBSC/chapters/overview.adoc b/OsmoBSC/chapters/overview.adoc new file mode 100644 index 0000000..b6cc2e8 --- /dev/null +++ b/OsmoBSC/chapters/overview.adoc @@ -0,0 +1,69 @@ +[[overview]] +== Overview + +This manual should help you getting started with OsmoBSC. It will cover +aspects of configuring and running the OsmoBSC. + +[[intro_overview]] +=== About OsmoBSC + +OsmoBSC is one particular version of the OpenBSC software suite. + +Unlike the highly integrated OmsoNITB, OsmoBSC impleents a more classic +GSM Base Station Controller with A-bis interface towards BTSs and A +interface towards a MSC. + + +=== Software Components + +OsmoBSC contains a variety of different software components, which +we'll quickly describe in this section. + +==== A-bis Implementation + +OsmoBSC implements the ETSI/3GPP specified A-bis interface, including +TS 08.56 (LAPD), TS 08.58 (RSL) and TS 12.21 (OML). In addition, it +supports a variety of vendor-specific extensions and dialects in order +to communicate with BTSs from Siemens, Nokia, Ericsson, ip.access and +sysmocom. + +For more information, see <<bts>> and <<bts-examples>>. + +==== A Implementation + +OsmoBSC implements a minimal sub-set of the GSM A interface as specified +in TS 08.08. + +Unlike classic A interface implementations for E1 interfacs, OsmoBSC +implements a variant of encapsulating the A interface over IP. To do +so, the SCCP messages are wrapped in an IPA multiplex and then +communicated over TCP. The audio channels are mapped to RTP streams. + +This protcol stacking is sometimes called "SCCPlite". + +For more information, see <<alink>>. + + +==== BSC Implementation + +The BSC implementation covers the classic functionality of a GSM Base +Station Controller, i.e. + +* configuring and bringing up BTSs with their TRXs and TSs +* implementing the A-bis interface / protocols for signalling and actual + voice data (TRAU frames). +* processing measurement results from the mobile stations in dedicated + mode, performing hand-over decision and execution. +* Terminating the TS 04.08 RR (Radio Resource) sub-layer from the MS. + +For more information, see <<net>>, <<bts>> and <<bts-examples>>. + + +==== TRAU mapper / E1 sub-channel muxer + +Unlike classic GSM networks, OsmoBSC does not perform any transcoding. +Rather, a compatible codec is selected for both legs of a call, and +codec frames are passed through transparently. In order to achieve this +with E1 based BTS, OsmoBSC contains a E1 sub-channel de- and +re-multiplexer as well as a TRAU mapper that can map uplink to downlink +frames and vice versa. diff --git a/OsmoBSC/chapters/running.adoc b/OsmoBSC/chapters/running.adoc new file mode 100644 index 0000000..4be6809 --- /dev/null +++ b/OsmoBSC/chapters/running.adoc @@ -0,0 +1,42 @@ +== Running OsmoBSC + +The OsmoBSC executable (`osmo-bsc`) offers the following command-line +arguments: + +==== SYNOPSIS + +*osmo-bsc* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'IP'] [-r 'RFCTL'] + +==== 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 `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 <<logging>> + for more information. +*-T, --timestamp*:: + Enable time-stamping of log messages to stderr. This has mostly + been deprecated by VTY based logging configu- ration, 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, --local='IP'*:: + Specify the local IP address of the OsmoBSC-MGCP +*-r, --rf-ctl 'RFCTL'*:: + Offer a Unix domain socket for RF control at the path/filename + 'RFCTL' in the file system. diff --git a/OsmoBSC/osmobsc-usermanual-docinfo.xml b/OsmoBSC/osmobsc-usermanual-docinfo.xml new file mode 100644 index 0000000..42307ce --- /dev/null +++ b/OsmoBSC/osmobsc-usermanual-docinfo.xml @@ -0,0 +1,52 @@ +<revhistory> + <revision> + <revnumber>1</revnumber> + <date>February 2016</date> + <authorinitials>HW</authorinitials> + <revremark> + Initial OsmoBSC manual, recycling OsmoNITB sections + </revremark> + </revision> +</revhistory> + +<authorgroup> + <author> + <firstname>Holger</firstname> + <surname>Freyther</surname> + <email>hfreyther@sysmocom.de</email> + <authorinitials>HF</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> + <author> + <firstname>Harald</firstname> + <surname>Welte</surname> + <email>hwelte@sysmocom.de</email> + <authorinitials>HW</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> +</authorgroup> + +<copyright> + <year>2012-2016</year> + <holder>sysmocom - s.f.m.c. GmbH</holder> +</copyright> + +<legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with 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> +</legalnotice> diff --git a/OsmoBSC/osmobsc-usermanual.adoc b/OsmoBSC/osmobsc-usermanual.adoc new file mode 100644 index 0000000..dcb475a --- /dev/null +++ b/OsmoBSC/osmobsc-usermanual.adoc @@ -0,0 +1,35 @@ +OsmoBSC User Manual +=================== +Harald Welte <hwelte@sysmocom.de> + + +include::../common/chapters/preface.adoc[] + +include::chapters/overview.adoc[] + +include::chapters/running.adoc[] + +include::../common/chapters/vty.adoc[] + +include::../common/chapters/logging.adoc[] + +include::../common/chapters/bts.adoc[] + +include::chapters/bts-examples.adoc[] + +include::../common/chapters/bsc.adoc[] + +include::../common/chapters/abis.adoc[] + +#include::../common/chapters/alink.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/OsmoBSC/osmobsc-vty-reference.xml b/OsmoBSC/osmobsc-vty-reference.xml new file mode 100644 index 0000000..6e60357 --- /dev/null +++ b/OsmoBSC/osmobsc-vty-reference.xml @@ -0,0 +1,44 @@ +<?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 V5.0//EN" +"http://www.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>13th August 2012</date> + <authorinitials>hf</authorinitials> + <revremark>Initial</revremark> + </revision> + <revision> + <revnumber>v2</revnumber> + <date>5th March 2014</date> + <authorinitials>hf</authorinitials> + <revremark>Update to match osmo-bsc version 0.13.0-305</revremark> + </revision> + </revhistory> + + <title>OsmoBSC VTY Reference</title> + + <copyright> + <year>2012-2014</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/OsmoBSC/vty/bsc_vty_additions.xml b/OsmoBSC/vty/bsc_vty_additions.xml new file mode 100644 index 0000000..2764eb8 --- /dev/null +++ b/OsmoBSC/vty/bsc_vty_additions.xml @@ -0,0 +1,14 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> + <node id='25'> + <child_of nodeid='4' /> + <name>MSC Connection Commands</name> + <description>This node allows to configure the MSC connection related + settings.</description> + </node> + <node id='30'> + <child_of nodeid='4' /> + <name>BSC Commands</name> + <description>This node allows to configure the BSC connection related + settings.</description> + </node> +</vtydoc> diff --git a/OsmoBSC/vty/bsc_vty_reference.xml b/OsmoBSC/vty/bsc_vty_reference.xml new file mode 100644 index 0000000..3b61b42 --- /dev/null +++ b/OsmoBSC/vty/bsc_vty_reference.xml @@ -0,0 +1,3059 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='0'>
+ </node>
+ <node id='1'>
+ <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='list'>
+ <params>
+ <param name='list' doc='Print command list' />
+ </params>
+ </command>
+ <command id='exit'>
+ <params>
+ <param name='exit' doc='Exit current mode and down to previous mode' />
+ </params>
+ </command>
+ <command id='help'>
+ <params>
+ <param name='help' doc='Description of the interactive help system' />
+ </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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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='show network'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='network' doc='Display information about a GSM NETWORK' />
+ </params>
+ </command>
+ <command id='show bts [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bts' doc='Display information about a BTS' />
+ <param name='[<0-255>]' doc='BTS number' />
+ </params>
+ </command>
+ <command id='show trx [<0-255>] [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='trx' doc='Display information about a TRX' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ </params>
+ </command>
+ <command id='show timeslot [<0-255>] [<0-255>] [<0-7>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='timeslot' doc='Display information about a TS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ </params>
+ </command>
+ <command id='show lchan [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='show lchan summary [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='summary' doc='Short summary' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='logging filter imsi IMSI'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='imsi' doc='Filter log messages by IMSI' />
+ <param name='IMSI' doc='IMSI to be used as filter' />
+ </params>
+ </command>
+ <command id='show paging [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging' doc='Display information about paging reuqests of a BTS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ </params>
+ </command>
+ <command id='show paging-group <0-255> IMSI'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging-group' doc='Display the paging group' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='IMSI' doc='IMSI' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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 e1_driver'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_driver' doc='Display information about available E1 drivers' />
+ </params>
+ </command>
+ <command id='show e1_line [line_nr] [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_line' doc='Display information about a E1 line' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[stats]' doc='Include statistics' />
+ </params>
+ </command>
+ <command id='show e1_timeslot [line_nr] [ts_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_timeslot' doc='Display information about a E1 timeslot' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[ts_nr]' doc='E1 Timeslot Number' />
+ </params>
+ </command>
+ <command id='show statistics'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics' doc='Statistics about the BSC' />
+ </params>
+ </command>
+ <command id='show mscs'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='mscs' doc='MSC Connections and State' />
+ </params>
+ </command>
+ <command id='show position'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='position' doc='Position information of the BTS' />
+ </params>
+ </command>
+ </node>
+ <node id='2'>
+ </node>
+ <node id='3'>
+ <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='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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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='show network'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='network' doc='Display information about a GSM NETWORK' />
+ </params>
+ </command>
+ <command id='show bts [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bts' doc='Display information about a BTS' />
+ <param name='[<0-255>]' doc='BTS number' />
+ </params>
+ </command>
+ <command id='show trx [<0-255>] [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='trx' doc='Display information about a TRX' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ </params>
+ </command>
+ <command id='show timeslot [<0-255>] [<0-255>] [<0-7>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='timeslot' doc='Display information about a TS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ </params>
+ </command>
+ <command id='show lchan [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='show lchan summary [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='summary' doc='Short summary' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='logging filter imsi IMSI'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='imsi' doc='Filter log messages by IMSI' />
+ <param name='IMSI' doc='IMSI to be used as filter' />
+ </params>
+ </command>
+ <command id='show paging [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging' doc='Display information about paging reuqests of a BTS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ </params>
+ </command>
+ <command id='show paging-group <0-255> IMSI'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging-group' doc='Display the paging group' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='IMSI' doc='IMSI' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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='drop bts connection <0-65535> (oml|rsl)'>
+ <params>
+ <param name='drop' doc='Debug/Simulation command to drop Abis/IP BTS' />
+ <param name='bts' doc='Debug/Simulation command to drop Abis/IP BTS' />
+ <param name='connection' doc='Debug/Simulation command to drop Abis/IP BTS' />
+ <param name='<0-65535>' doc='BTS NR' />
+ <param name='oml' doc='Drop OML Connection' />
+ <param name='rsl' doc='Drop RSL Connection' />
+ </params>
+ </command>
+ <command id='bts <0-255> trx <0-255> timeslot <0-7> pdch (activate|deactivate)'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='trx' doc='Transceiver' />
+ <param name='<0-255>' doc='Transceiver Number' />
+ <param name='timeslot' doc='TRX Timeslot' />
+ <param name='<0-7>' doc='Timeslot Number' />
+ <param name='pdch' doc='Packet Data Channel' />
+ <param name='activate' doc='Activate Dynamic PDCH/TCH (-> PDCH mode)' />
+ <param name='deactivate' doc='Deactivate Dynamic PDCH/TCH (-> TCH mode)' />
+ </params>
+ </command>
+ <command id='bts <0-255> oml class (site-manager|bts|radio-carrier|baseband-transceiver|channel|adjc|handover|power-contorl|btse|rack|test|envabtse|bport|gprs-nse|gprs-cell|gprs-nsvc|siemenshw) instance <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='oml' doc='Manipulate the OML managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='site-manager' doc='Site Manager Object' />
+ <param name='bts' doc='BTS Object' />
+ <param name='radio-carrier' doc='Radio Carrier Object' />
+ <param name='baseband-transceiver' doc='Baseband Transceiver Object' />
+ <param name='channel' doc='Channel (Timeslot) Object' />
+ <param name='adjc' doc='Adjacent Object (Siemens)' />
+ <param name='handover' doc='Handover Object (Siemens)' />
+ <param name='power-contorl' doc='Power Control Object (Siemens)' />
+ <param name='btse' doc='BTSE Object (Siemens)' />
+ <param name='rack' doc='Rack Object (Siemens)' />
+ <param name='test' doc='Test Object (Siemens)' />
+ <param name='envabtse' doc='ENVABTSE Object (Siemens)' />
+ <param name='bport' doc='BPORT Object (Siemens)' />
+ <param name='gprs-nse' doc='GPRS NSE Object (ip.access/osmo-bts)' />
+ <param name='gprs-cell' doc='GPRS Cell Object (ip.acecss/osmo-bts)' />
+ <param name='gprs-nsvc' doc='GPRS NSVC Object (ip.acecss/osmo-bts)' />
+ <param name='siemenshw' doc='SIEMENSHW Object (Siemens)' />
+ <param name='instance' doc='Object Instance' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='TRX Number' />
+ <param name='<0-255>' doc='TS Number' />
+ </params>
+ </command>
+ <command id='bts <0-255> oml class <0-255> instance <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='oml' doc='Manipulate the OML managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='<0-255>' doc='Object Class' />
+ <param name='instance' doc='Object Instance' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='TRX Number' />
+ <param name='<0-255>' doc='TS Number' />
+ </params>
+ </command>
+ <command id='bts <0-255> om2000 class (trxc|ts|tf|is|con|dp|cf|tx|rx) <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='om2000' doc='Manipulate the OM2000 managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='trxc' doc='TRX Controller' />
+ <param name='ts' doc='Timeslot' />
+ <param name='tf' doc='Timing Function' />
+ <param name='is' doc='Interface Switch' />
+ <param name='con' doc='Abis Concentrator' />
+ <param name='dp' doc='Digital Path' />
+ <param name='cf' doc='Central Function' />
+ <param name='tx' doc='Transmitter' />
+ <param name='rx' doc='Receiver' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='Associated SO Instance' />
+ <param name='<0-255>' doc='Instance Number' />
+ </params>
+ </command>
+ <command id='bts <0-255> om2000 class <0-255> <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='om2000' doc='Manipulate the OML managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='<0-255>' doc='Object Class' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='Associated SO Instance' />
+ <param name='<0-255>' doc='Instance Number' />
+ </params>
+ </command>
+ <command id='show e1_driver'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_driver' doc='Display information about available E1 drivers' />
+ </params>
+ </command>
+ <command id='show e1_line [line_nr] [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_line' doc='Display information about a E1 line' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[stats]' doc='Include statistics' />
+ </params>
+ </command>
+ <command id='show e1_timeslot [line_nr] [ts_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_timeslot' doc='Display information about a E1 timeslot' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[ts_nr]' doc='E1 Timeslot Number' />
+ </params>
+ </command>
+ <command id='show statistics'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics' doc='Statistics about the BSC' />
+ </params>
+ </command>
+ <command id='show mscs'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='mscs' doc='MSC Connections and State' />
+ </params>
+ </command>
+ <command id='show position'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='position' doc='Position information of the BTS' />
+ </params>
+ </command>
+ <command id='generate-location-state-trap <0-255>'>
+ <params>
+ <param name='generate-location-state-trap' doc='Generate location state report' />
+ <param name='<0-255>' doc='BTS to report' />
+ </params>
+ </command>
+ </node>
+ <node id='4'>
+ <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>
+ <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='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='network'>
+ <params>
+ <param name='network' doc='Configure the GSM network' />
+ </params>
+ </command>
+ <command id='e1_input'>
+ <params>
+ <param name='e1_input' doc='Configure E1/T1/J1 TDM input' />
+ </params>
+ </command>
+ <command id='msc [<0-1000>]'>
+ <params>
+ <param name='msc' doc='Configure MSC details' />
+ <param name='[<0-1000>]' doc='MSC connection to configure' />
+ </params>
+ </command>
+ <command id='bsc'>
+ <params>
+ <param name='bsc' doc='Configure BSC' />
+ </params>
+ </command>
+ </node>
+ <node id='7'>
+ <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>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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 filter imsi IMSI'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='imsi' doc='Filter log messages by IMSI' />
+ <param name='IMSI' doc='IMSI to be used as filter' />
+ </params>
+ </command>
+ </node>
+ <node id='8'>
+ <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>
+ <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>
+ </node>
+ <node id='9'>
+ <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>
+ <command id='e1_line <0-255> driver (misdn|misdn_lapd|dahdi|ipa)'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='driver' doc='Set driver for this line' />
+ <param name='misdn' doc='mISDN supported E1 Card (kernel LAPD)' />
+ <param name='misdn_lapd' doc='mISDN supported E1 Card (userspace LAPD)' />
+ <param name='dahdi' doc='DAHDI supported E1/T1/J1 Card' />
+ <param name='ipa' doc='IPA TCP/IP input' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> port <0-255>'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='port' doc='Set physical port/span/card number' />
+ <param name='<0-255>' doc='E1/T1 Port/Span/Card number' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> name .LINE'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='name' doc='Set name for this line' />
+ <param name='.LINE' doc='Human readable name' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> keepalive'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='keepalive' doc='Enable keep-alive probing' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> keepalive <1-300> <1-20> <1-300>'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='keepalive' doc='Enable keep-alive probing' />
+ <param name='<1-300>' doc='Idle interval in seconds before probes are sent' />
+ <param name='<1-20>' doc='Number of probes to sent' />
+ <param name='<1-300>' doc='Delay between probe packets in seconds' />
+ </params>
+ </command>
+ <command id='no e1_line <0-255> keepalive'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='keepalive' doc='Enable keep-alive probing' />
+ </params>
+ </command>
+ </node>
+ <node id='14'>
+ <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>
+ <command id='network country code <1-999>'>
+ <params>
+ <param name='network' doc='Set the GSM network country code' />
+ <param name='country' doc='Country commands' />
+ <param name='code' doc='Code commands' />
+ <param name='<1-999>' doc='Network Country Code to use' />
+ </params>
+ </command>
+ <command id='mobile network code <0-999>'>
+ <params>
+ <param name='mobile' doc='Set the GSM mobile network code' />
+ <param name='network' doc='Network Commands' />
+ <param name='code' doc='Code commands' />
+ <param name='<0-999>' doc='Mobile Network Code to use' />
+ </params>
+ </command>
+ <command id='short name NAME'>
+ <params>
+ <param name='short' doc='Set the short GSM network name' />
+ <param name='name' doc='Name Commands' />
+ <param name='NAME' doc='Name to use' />
+ </params>
+ </command>
+ <command id='long name NAME'>
+ <params>
+ <param name='long' doc='Set the long GSM network name' />
+ <param name='name' doc='Name Commands' />
+ <param name='NAME' doc='Name to use' />
+ </params>
+ </command>
+ <command id='auth policy (closed|accept-all|token)'>
+ <params>
+ <param name='auth' doc='Authentication (not cryptographic)' />
+ <param name='policy' doc='Set the GSM network authentication policy' />
+ <param name='closed' doc='Require the MS to be activated in HLR' />
+ <param name='accept-all' doc='Accept all MS, whether in HLR or not' />
+ <param name='token' doc='Use SMS-token based authentication' />
+ </params>
+ </command>
+ <command id='location updating reject cause <2-111>'>
+ <params>
+ <param name='location' doc='Set the reject cause of location updating reject' />
+ <param name='updating' doc='Set the reject cause of location updating reject' />
+ <param name='reject' doc='Set the reject cause of location updating reject' />
+ <param name='cause' doc='Set the reject cause of location updating reject' />
+ <param name='<2-111>' doc='Cause Value as Per GSM TS 04.08' />
+ </params>
+ </command>
+ <command id='encryption a5 (0|1|2|3)'>
+ <params>
+ <param name='encryption' doc='Encryption options' />
+ <param name='a5' doc='A5 encryption' />
+ <param name='0' doc='A5/0: No encryption' />
+ <param name='1' doc='A5/1: Encryption' />
+ <param name='2' doc='A5/2: Export-grade Encryption' />
+ <param name='3' doc='A5/3: 'New' Secure Encryption' />
+ </params>
+ </command>
+ <command id='neci (0|1)'>
+ <params>
+ <param name='neci' doc='New Establish Cause Indication' />
+ <param name='0' doc='Don't set the NECI bit' />
+ <param name='1' doc='Set the NECI bit' />
+ </params>
+ </command>
+ <command id='rrlp mode (none|ms-based|ms-preferred|ass-preferred)'>
+ <params>
+ <param name='rrlp' doc='Radio Resource Location Protocol' />
+ <param name='mode' doc='Set the Radio Resource Location Protocol Mode' />
+ <param name='none' doc='Don't send RRLP request' />
+ <param name='ms-based' doc='Request MS-based location' />
+ <param name='ms-preferred' doc='Request any location, prefer MS-based' />
+ <param name='ass-preferred' doc='Request any location, prefer MS-assisted' />
+ </params>
+ </command>
+ <command id='mm info (0|1)'>
+ <params>
+ <param name='mm' doc='Mobility Management' />
+ <param name='info' doc='Send MM INFO after LOC UPD ACCEPT' />
+ <param name='0' doc='Disable' />
+ <param name='1' doc='Enable' />
+ </params>
+ </command>
+ <command id='handover (0|1)'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='0' doc='Don't perform in-call handover' />
+ <param name='1' doc='Perform in-call handover' />
+ </params>
+ </command>
+ <command id='handover window rxlev averaging <1-10>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='window' doc='Measurement Window' />
+ <param name='rxlev' doc='Received Level Averaging' />
+ <param name='averaging' doc='How many RxLev measurements are used for averaging' />
+ <param name='<1-10>' doc='Amount to use for Averaging' />
+ </params>
+ </command>
+ <command id='handover window rxqual averaging <1-10>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='window' doc='Measurement Window' />
+ <param name='rxqual' doc='Received Quality Averaging' />
+ <param name='averaging' doc='How many RxQual measurements are used for averaging' />
+ <param name='<1-10>' doc='Amount to use for Averaging' />
+ </params>
+ </command>
+ <command id='handover window rxlev neighbor averaging <1-10>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='window' doc='Measurement Window' />
+ <param name='rxlev' doc='Received Level Averaging' />
+ <param name='neighbor' doc='Neighbor' />
+ <param name='averaging' doc='How many RxQual measurements are used for averaging' />
+ <param name='<1-10>' doc='Amount to use for Averaging' />
+ </params>
+ </command>
+ <command id='handover power budget interval <1-99>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='power' doc='Power Budget' />
+ <param name='budget' doc='How often to check if we have a better cell (SACCH frames)' />
+ <param name='interval' doc='Interval' />
+ <param name='<1-99>' doc='Number' />
+ </params>
+ </command>
+ <command id='handover power budget hysteresis <0-999>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='power' doc='Power Budget' />
+ <param name='budget' doc='How many dB does a neighbor to be stronger to become a HO candidate' />
+ <param name='hysteresis' doc='Hysteresis' />
+ <param name='<0-999>' doc='Number' />
+ </params>
+ </command>
+ <command id='handover maximum distance <0-9999>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='maximum' doc='How big is the maximum timing advance before HO is forced' />
+ <param name='distance' doc='Distance' />
+ <param name='<0-9999>' doc='Number' />
+ </params>
+ </command>
+ <command id='timer t3101 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3101' doc='Set the timeout value for IMMEDIATE ASSIGNMENT.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3103 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3103' doc='Set the timeout value for HANDOVER.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3105 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3105' doc='Set the timer for repetition of PHYSICAL INFORMATION.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3107 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3107' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3109 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3109' doc='Set the RSL SACCH deactivation timeout.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3111 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3111' doc='Set the RSL timeout to wait before releasing the RF Channel.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3113 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3113' doc='Set the time to try paging a subscriber.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3115 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3115' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3117 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3117' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3119 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3119' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3122 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3122' doc='Waiting time (seconds) after IMM ASS REJECT' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3141 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3141' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='dtx-used (0|1)'>
+ <params>
+ <param name='dtx-used' doc='Enable the usage of DTX.' />
+ <param name='0' doc='DTX is disabled' />
+ <param name='1' doc='DTX is enabled' />
+ </params>
+ </command>
+ <command id='subscriber-keep-in-ram (0|1)'>
+ <params>
+ <param name='subscriber-keep-in-ram' doc='Keep unused subscribers in RAM.' />
+ <param name='0' doc='Delete unused subscribers' />
+ <param name='1' doc='Keep unused subscribers' />
+ </params>
+ </command>
+ <command id='paging any use tch (0|1)'>
+ <params>
+ <param name='paging' doc='Assign a TCH when receiving a Paging Any request' />
+ <param name='any' doc='Any Channel' />
+ <param name='use' doc='Use' />
+ <param name='tch' doc='TCH' />
+ <param name='0' doc='Do not use TCH for Paging Request Any' />
+ <param name='1' doc='Do use TCH for Paging Request Any' />
+ </params>
+ </command>
+ <command id='bts <0-255>'>
+ <params>
+ <param name='bts' doc='Select a BTS to configure' />
+ <param name='<0-255>' doc='BTS Number' />
+ </params>
+ </command>
+ </node>
+ <node id='15'>
+ <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>
+ <command id='type (unknown|bs11|nanobts|rbs2000|nokia_site|sysmobts)'>
+ <params>
+ <param name='type' doc='BTS Vendor/Type' />
+ <param name='unknown' doc='Unknown BTS Type' />
+ <param name='bs11' doc='Siemens BTS (BS-11 or compatible)' />
+ <param name='nanobts' doc='ip.access nanoBTS or compatible' />
+ <param name='rbs2000' doc='Ericsson RBS2000 Series' />
+ <param name='nokia_site' doc='Nokia {Metro,Ultra,In}Site' />
+ <param name='sysmobts' doc='sysmocom sysmoBTS' />
+ </params>
+ </command>
+ <command id='description .TEXT'>
+ <params>
+ <param name='description' doc='Save human-readable decription of the object' />
+ <param name='.TEXT' doc='Text until the end of the line' />
+ </params>
+ </command>
+ <command id='no description'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='description' doc='Remove description of the object' />
+ </params>
+ </command>
+ <command id='band BAND'>
+ <params>
+ <param name='band' doc='Set the frequency band of this BTS' />
+ <param name='BAND' doc='Frequency band' />
+ </params>
+ </command>
+ <command id='cell_identity <0-65535>'>
+ <params>
+ <param name='cell_identity' doc='Set the Cell identity of this BTS' />
+ <param name='<0-65535>' doc='Cell Identity' />
+ </params>
+ </command>
+ <command id='location_area_code <0-65535>'>
+ <params>
+ <param name='location_area_code' doc='Set the Location Area Code (LAC) of this BTS' />
+ <param name='<0-65535>' doc='LAC' />
+ </params>
+ </command>
+ <command id='training_sequence_code <0-7>'>
+ <params>
+ <param name='training_sequence_code' doc='Set the Training Sequence Code (TSC) of this BTS' />
+ <param name='<0-7>' doc='TSC' />
+ </params>
+ </command>
+ <command id='base_station_id_code <0-63>'>
+ <params>
+ <param name='base_station_id_code' doc='Set the Base Station Identity Code (BSIC) of this BTS' />
+ <param name='<0-63>' doc='BSIC of this BTS' />
+ </params>
+ </command>
+ <command id='ip.access unit_id <0-65534> <0-255>'>
+ <params>
+ <param name='ip.access' doc='Abis/IP specific options' />
+ <param name='unit_id' doc='Set the IPA BTS Unit ID' />
+ <param name='<0-65534>' doc='Unit ID (Site)' />
+ <param name='<0-255>' doc='Unit ID (BTS)' />
+ </params>
+ </command>
+ <command id='ip.access rsl-ip A.B.C.D'>
+ <params>
+ <param name='ip.access' doc='Abis/IP specific options' />
+ <param name='rsl-ip' doc='Set the IPA RSL IP Address of the BSC' />
+ <param name='A.B.C.D' doc='Destination IP address for RSL connection' />
+ </params>
+ </command>
+ <command id='timezone <-19-19> (0|15|30|45)'>
+ <params>
+ <param name='timezone' doc='Set the Timezone Offset of this BTS' />
+ <param name='<-19-19>' doc='Timezone offset (hours)' />
+ <param name='0' doc='Timezone offset (00 minutes)' />
+ <param name='15' doc='Timezone offset (15 minutes)' />
+ <param name='30' doc='Timezone offset (30 minutes)' />
+ <param name='45' doc='Timezone offset (45 minutes)' />
+ </params>
+ </command>
+ <command id='timezone <-19-19> (0|15|30|45) <0-2>'>
+ <params>
+ <param name='timezone' doc='Set the Timezone Offset of this BTS' />
+ <param name='<-19-19>' doc='Timezone offset (hours)' />
+ <param name='0' doc='Timezone offset (00 minutes)' />
+ <param name='15' doc='Timezone offset (15 minutes)' />
+ <param name='30' doc='Timezone offset (30 minutes)' />
+ <param name='45' doc='Timezone offset (45 minutes)' />
+ <param name='<0-2>' doc='DST offset (hours)' />
+ </params>
+ </command>
+ <command id='no timezone'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='timezone' doc='Disable BTS specific timezone' />
+ </params>
+ </command>
+ <command id='nokia_site skip-reset (0|1)'>
+ <params>
+ <param name='nokia_site' doc='Nokia *Site related commands' />
+ <param name='skip-reset' doc='Skip the reset step during bootstrap process of this BTS' />
+ <param name='0' doc='Do NOT skip the reset' />
+ <param name='1' doc='Skip the reset' />
+ </params>
+ </command>
+ <command id='nokia_site no-local-rel-conf (0|1)'>
+ <params>
+ <param name='nokia_site' doc='Nokia *Site related commands' />
+ <param name='no-local-rel-conf' doc='Do not wait for RELease CONFirm message when releasing channel locally' />
+ <param name='0' doc='Wait for RELease CONFirm' />
+ <param name='1' doc='Do not wait for RELease CONFirm' />
+ </params>
+ </command>
+ <command id='oml ip.access stream_id <0-255> line E1_LINE'>
+ <params>
+ <param name='oml' doc='Organization & Maintenance Link' />
+ <param name='ip.access' doc='A-bis/IP Specific Options' />
+ <param name='stream_id' doc='Set the ip.access Stream ID of the OML link of this BTS' />
+ <param name='<0-255>' doc='Stream Identifier' />
+ <param name='line' doc='Virtual E1 Line Number' />
+ <param name='E1_LINE' doc='Virtual E1 Line Number' />
+ </params>
+ </command>
+ <command id='oml e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)'>
+ <params>
+ <param name='oml' doc='Organization & Maintenance Link' />
+ <param name='e1' doc='OML E1/T1 Configuration' />
+ <param name='line' doc='E1/T1 line number to be used for OML' />
+ <param name='E1_LINE' doc='E1/T1 line number to be used for OML' />
+ <param name='timeslot' doc='E1/T1 timeslot to be used for OML' />
+ <param name='<1-31>' doc='E1/T1 timeslot to be used for OML' />
+ <param name='sub-slot' doc='E1/T1 sub-slot to be used for OML' />
+ <param name='0' doc='Use E1/T1 sub-slot 0' />
+ <param name='1' doc='Use E1/T1 sub-slot 1' />
+ <param name='2' doc='Use E1/T1 sub-slot 2' />
+ <param name='3' doc='Use E1/T1 sub-slot 3' />
+ <param name='full' doc='Use full E1 slot 3' />
+ </params>
+ </command>
+ <command id='oml e1 tei <0-63>'>
+ <params>
+ <param name='oml' doc='Organization & Maintenance Link' />
+ <param name='e1' doc='OML E1/T1 Configuration' />
+ <param name='tei' doc='Set the TEI to be used for OML' />
+ <param name='<0-63>' doc='TEI Number' />
+ </params>
+ </command>
+ <command id='channel allocator (ascending|descending)'>
+ <params>
+ <param name='channel' doc='Channnel Allocator' />
+ <param name='allocator' doc='Channel Allocator' />
+ <param name='ascending' doc='Allocate Timeslots and Transceivers in ascending order' />
+ <param name='descending' doc='Allocate Timeslots and Transceivers in descending order' />
+ </params>
+ </command>
+ <command id='rach tx integer <0-15>'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='tx' doc='Set the raw tx integer value in RACH Control parameters IE' />
+ <param name='integer' doc='Set the raw tx integer value in RACH Control parameters IE' />
+ <param name='<0-15>' doc='Raw tx integer value in RACH Control parameters IE' />
+ </params>
+ </command>
+ <command id='rach max transmission (1|2|4|7)'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='max' doc='Set the maximum number of RACH burst transmissions' />
+ <param name='transmission' doc='Set the maximum number of RACH burst transmissions' />
+ <param name='1' doc='Maximum number of 1 RACH burst transmissions' />
+ <param name='2' doc='Maximum number of 2 RACH burst transmissions' />
+ <param name='4' doc='Maximum number of 4 RACH burst transmissions' />
+ <param name='7' doc='Maximum number of 7 RACH burst transmissions' />
+ </params>
+ </command>
+ <command id='channel-descrption attach (0|1)'>
+ <params>
+ <param name='channel-descrption' doc='Channel Description' />
+ <param name='attach' doc='Set if attachment is required' />
+ <param name='0' doc='Attachment is NOT required' />
+ <param name='1' doc='Attachment is required (standard)' />
+ </params>
+ </command>
+ <command id='channel-descrption bs-pa-mfrms <2-9>'>
+ <params>
+ <param name='channel-descrption' doc='Channel Description' />
+ <param name='bs-pa-mfrms' doc='Set number of multiframe periods for paging groups' />
+ <param name='<2-9>' doc='Number of multiframe periods for paging groups' />
+ </params>
+ </command>
+ <command id='channel-descrption bs-ag-blks-res <0-7>'>
+ <params>
+ <param name='channel-descrption' doc='Channel Description' />
+ <param name='bs-ag-blks-res' doc='Set number of blocks reserved for access grant' />
+ <param name='<0-7>' doc='Number of blocks reserved for access grant' />
+ </params>
+ </command>
+ <command id='rach nm busy threshold <0-255>'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='nm' doc='Network Management' />
+ <param name='busy' doc='Set the NM Busy Threshold' />
+ <param name='threshold' doc='Set the NM Busy Threshold' />
+ <param name='<0-255>' doc='NM Busy Threshold in dB' />
+ </params>
+ </command>
+ <command id='rach nm load average <0-65535>'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='nm' doc='Network Management' />
+ <param name='load' doc='Set the NM Loadaverage Slots value' />
+ <param name='average' doc='Set the NM Loadaverage Slots value' />
+ <param name='<0-65535>' doc='NM Loadaverage Slots value' />
+ </params>
+ </command>
+ <command id='cell barred (0|1)'>
+ <params>
+ <param name='cell' doc='Should this cell be barred from access?' />
+ <param name='barred' doc='Should this cell be barred from access?' />
+ <param name='0' doc='Cell should NOT be barred' />
+ <param name='1' doc='Cell should be barred' />
+ </params>
+ </command>
+ <command id='rach emergency call allowed (0|1)'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='emergency' doc='Should this cell allow emergency calls?' />
+ <param name='call' doc='Should this cell allow emergency calls?' />
+ <param name='allowed' doc='Should this cell allow emergency calls?' />
+ <param name='0' doc='Do NOT allow emergency calls' />
+ <param name='1' doc='Allow emergency calls' />
+ </params>
+ </command>
+ <command id='rach access-control-class (0|1|2|3|4|5|6|7|8|9|11|12|13|14|15) (barred|allowed)'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='access-control-class' doc='Set access control class' />
+ <param name='0' doc='Access control class 0' />
+ <param name='1' doc='Access control class 1' />
+ <param name='2' doc='Access control class 2' />
+ <param name='3' doc='Access control class 3' />
+ <param name='4' doc='Access control class 4' />
+ <param name='5' doc='Access control class 5' />
+ <param name='6' doc='Access control class 6' />
+ <param name='7' doc='Access control class 7' />
+ <param name='8' doc='Access control class 8' />
+ <param name='9' doc='Access control class 9' />
+ <param name='11' doc='Access control class 11 for PLMN use' />
+ <param name='12' doc='Access control class 12 for security services' />
+ <param name='13' doc='Access control class 13 for public utilities (e.g. water/gas suppliers)' />
+ <param name='14' doc='Access control class 14 for emergency services' />
+ <param name='15' doc='Access control class 15 for PLMN staff' />
+ <param name='barred' doc='barred to use access control class' />
+ <param name='allowed' doc='allowed to use access control class' />
+ </params>
+ </command>
+ <command id='ms max power <0-40>'>
+ <params>
+ <param name='ms' doc='MS Options' />
+ <param name='max' doc='Maximum transmit power of the MS' />
+ <param name='power' doc='Maximum transmit power of the MS' />
+ <param name='<0-40>' doc='Maximum transmit power of the MS in dBm' />
+ </params>
+ </command>
+ <command id='periodic location update <6-1530>'>
+ <params>
+ <param name='periodic' doc='Periodic Location Updating Interval' />
+ <param name='location' doc='Periodic Location Updating Interval' />
+ <param name='update' doc='Periodic Location Updating Interval' />
+ <param name='<6-1530>' doc='Periodic Location Updating Interval in Minutes' />
+ </params>
+ </command>
+ <command id='no periodic location update'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='periodic' doc='Periodic Location Updating Interval' />
+ <param name='location' doc='Periodic Location Updating Interval' />
+ <param name='update' doc='Periodic Location Updating Interval' />
+ </params>
+ </command>
+ <command id='cell reselection hysteresis <0-14>'>
+ <params>
+ <param name='cell' doc='Cell Parameters' />
+ <param name='reselection' doc='Cell re-selection parameters' />
+ <param name='hysteresis' doc='Cell Re-Selection Hysteresis in dB' />
+ <param name='<0-14>' doc='Cell Re-Selection Hysteresis in dB' />
+ </params>
+ </command>
+ <command id='rxlev access min <0-63>'>
+ <params>
+ <param name='rxlev' doc='Minimum RxLev needed for cell access' />
+ <param name='access' doc='Minimum RxLev needed for cell access' />
+ <param name='min' doc='Minimum RxLev needed for cell access' />
+ <param name='<0-63>' doc='Minimum RxLev needed for cell access (better than -110dBm)' />
+ </params>
+ </command>
+ <command id='cell bar qualify (0|1)'>
+ <params>
+ <param name='cell' doc='Cell Parameters' />
+ <param name='bar' doc='Cell Bar Qualify' />
+ <param name='qualify' doc='Cell Bar Qualify' />
+ <param name='0' doc='Set CBQ to 0' />
+ <param name='1' doc='Set CBQ to 1' />
+ </params>
+ </command>
+ <command id='cell reselection offset <0-126>'>
+ <params>
+ <param name='cell' doc='Cell Parameters' />
+ <param name='reselection' doc='Cell Re-Selection Parameters' />
+ <param name='offset' doc='Cell Re-Selection Offset (CRO) in dB' />
+ <param name='<0-126>' doc='Cell Re-Selection Offset (CRO) in dB' />
+ </params>
+ </command>
+ <command id='temporary offset <0-60>'>
+ <params>
+ <param name='temporary' doc='Cell selection temporary negative offset' />
+ <param name='offset' doc='Cell selection temporary negative offset' />
+ <param name='<0-60>' doc='Cell selection temporary negative offset in dB' />
+ </params>
+ </command>
+ <command id='temporary offset infinite'>
+ <params>
+ <param name='temporary' doc='Cell selection temporary negative offset' />
+ <param name='offset' doc='Cell selection temporary negative offset' />
+ <param name='infinite' doc='Sets cell selection temporary negative offset to infinity' />
+ </params>
+ </command>
+ <command id='penalty time <20-620>'>
+ <params>
+ <param name='penalty' doc='Cell selection penalty time' />
+ <param name='time' doc='Cell selection penalty time' />
+ <param name='<20-620>' doc='Cell selection penalty time in seconds (by 20s increments)' />
+ </params>
+ </command>
+ <command id='penalty time reserved'>
+ <params>
+ <param name='penalty' doc='Cell selection penalty time' />
+ <param name='time' doc='Cell selection penalty time' />
+ <param name='reserved' doc='Set cell selection penalty time to reserved value 31, (indicate that CELL_RESELECT_OFFSET is subtracted from C2 and TEMPORARY_OFFSET is ignored)' />
+ </params>
+ </command>
+ <command id='gprs mode (none|gprs|egprs)'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='mode' doc='GPRS Mode for this BTS' />
+ <param name='none' doc='GPRS Disabled on this BTS' />
+ <param name='gprs' doc='GPRS Enabled on this BTS' />
+ <param name='egprs' doc='EGPRS (EDGE) Enabled on this BTS' />
+ </params>
+ </command>
+ <command id='gprs ns timer (tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries) <0-255>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='ns' doc='Network Service' />
+ <param name='timer' doc='Network Service Timer' />
+ <param name='tns-block' doc='(un)blocking Timer (Tns-block) timeout' />
+ <param name='tns-block-retries' doc='(un)blocking Timer (Tns-block) number of retries' />
+ <param name='tns-reset' doc='Reset Timer (Tns-reset) timeout' />
+ <param name='tns-reset-retries' doc='Reset Timer (Tns-reset) number of retries' />
+ <param name='tns-test' doc='Test Timer (Tns-test) timeout' />
+ <param name='tns-alive' doc='Alive Timer (Tns-alive) timeout' />
+ <param name='tns-alive-retries' doc='Alive Timer (Tns-alive) number of retries' />
+ <param name='<0-255>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='gprs routing area <0-255>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='routing' doc='GPRS Routing Area Code' />
+ <param name='area' doc='GPRS Routing Area Code' />
+ <param name='<0-255>' doc='GPRS Routing Area Code' />
+ </params>
+ </command>
+ <command id='gprs network-control-order (nc0|nc1|nc2)'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='network-control-order' doc='GPRS Network Control Order' />
+ <param name='nc0' doc='MS controlled cell re-selection, no measurement reporting' />
+ <param name='nc1' doc='MS controlled cell re-selection, MS sends measurement reports' />
+ <param name='nc2' doc='Network controlled cell re-selection, MS sends measurement reports' />
+ </params>
+ </command>
+ <command id='gprs cell bvci <2-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='cell' doc='GPRS Cell Settings' />
+ <param name='bvci' doc='GPRS BSSGP VC Identifier' />
+ <param name='<2-65535>' doc='GPRS BSSGP VC Identifier' />
+ </params>
+ </command>
+ <command id='gprs cell timer (blocking-timer|blocking-retries|unblocking-retries|reset-timer|reset-retries|suspend-timer|suspend-retries|resume-timer|resume-retries|capability-update-timer|capability-update-retries) <0-255>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='cell' doc='Cell / BSSGP' />
+ <param name='timer' doc='Cell/BSSGP Timer' />
+ <param name='blocking-timer' doc='Tbvc-block timeout' />
+ <param name='blocking-retries' doc='Tbvc-block retries' />
+ <param name='unblocking-retries' doc='Tbvc-unblock retries' />
+ <param name='reset-timer' doc='Tbvcc-reset timeout' />
+ <param name='reset-retries' doc='Tbvc-reset retries' />
+ <param name='suspend-timer' doc='Tbvc-suspend timeout' />
+ <param name='suspend-retries' doc='Tbvc-suspend retries' />
+ <param name='resume-timer' doc='Tbvc-resume timeout' />
+ <param name='resume-retries' doc='Tbvc-resume retries' />
+ <param name='capability-update-timer' doc='Tbvc-capa-update timeout' />
+ <param name='capability-update-retries' doc='Tbvc-capa-update retries' />
+ <param name='<0-255>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='gprs nsei <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsei' doc='GPRS NS Entity Identifier' />
+ <param name='<0-65535>' doc='GPRS NS Entity Identifier' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> nsvci <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='nsvci' doc='NS Virtual Connection Identifier' />
+ <param name='<0-65535>' doc='GPRS NS VC Identifier' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> local udp port <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='local' doc='GPRS NS Local UDP Port' />
+ <param name='udp' doc='GPRS NS Local UDP Port' />
+ <param name='port' doc='GPRS NS Local UDP Port' />
+ <param name='<0-65535>' doc='GPRS NS Local UDP Port Number' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> remote udp port <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='remote' doc='GPRS NS Remote UDP Port' />
+ <param name='udp' doc='GPRS NS Remote UDP Port' />
+ <param name='port' doc='GPRS NS Remote UDP Port' />
+ <param name='<0-65535>' doc='GPRS NS Remote UDP Port Number' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> remote ip A.B.C.D'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='remote' doc='GPRS NS Remote IP Address' />
+ <param name='ip' doc='GPRS NS Remote IP Address' />
+ <param name='A.B.C.D' doc='GPRS NS Remote IP Address' />
+ </params>
+ </command>
+ <command id='paging free <-1-1024>'>
+ <params>
+ <param name='paging' doc='Paging options' />
+ <param name='free' doc='Only page when having a certain amount of free slots' />
+ <param name='<-1-1024>' doc='amount of required free paging slots. -1 to disable' />
+ </params>
+ </command>
+ <command id='system-information (1|2|3|4|5|6|7|8|9|10|13|16|17|18|19|20|2bis|2ter|2quater|5bis|5ter) mode (static|computed)'>
+ <params>
+ <param name='system-information' doc='System Information Messages' />
+ <param name='1' doc='System Information Type 1' />
+ <param name='2' doc='System Information Type 2' />
+ <param name='3' doc='System Information Type 3' />
+ <param name='4' doc='System Information Type 4' />
+ <param name='5' doc='System Information Type 5' />
+ <param name='6' doc='System Information Type 6' />
+ <param name='7' doc='System Information Type 7' />
+ <param name='8' doc='System Information Type 8' />
+ <param name='9' doc='System Information Type 9' />
+ <param name='10' doc='System Information Type 10' />
+ <param name='13' doc='System Information Type 13' />
+ <param name='16' doc='System Information Type 16' />
+ <param name='17' doc='System Information Type 17' />
+ <param name='18' doc='System Information Type 18' />
+ <param name='19' doc='System Information Type 19' />
+ <param name='20' doc='System Information Type 20' />
+ <param name='2bis' doc='System Information Type 2bis' />
+ <param name='2ter' doc='System Information Type 2ter' />
+ <param name='2quater' doc='System Information Type 2quater' />
+ <param name='5bis' doc='System Information Type 5bis' />
+ <param name='5ter' doc='System Information Type 5ter' />
+ <param name='mode' doc='System Information Mode' />
+ <param name='static' doc='Static user-specified' />
+ <param name='computed' doc='Dynamic, BSC-computed' />
+ </params>
+ </command>
+ <command id='system-information (1|2|3|4|5|6|7|8|9|10|13|16|17|18|19|20|2bis|2ter|2quater|5bis|5ter) static HEXSTRING'>
+ <params>
+ <param name='system-information' doc='System Information Messages' />
+ <param name='1' doc='System Information Type 1' />
+ <param name='2' doc='System Information Type 2' />
+ <param name='3' doc='System Information Type 3' />
+ <param name='4' doc='System Information Type 4' />
+ <param name='5' doc='System Information Type 5' />
+ <param name='6' doc='System Information Type 6' />
+ <param name='7' doc='System Information Type 7' />
+ <param name='8' doc='System Information Type 8' />
+ <param name='9' doc='System Information Type 9' />
+ <param name='10' doc='System Information Type 10' />
+ <param name='13' doc='System Information Type 13' />
+ <param name='16' doc='System Information Type 16' />
+ <param name='17' doc='System Information Type 17' />
+ <param name='18' doc='System Information Type 18' />
+ <param name='19' doc='System Information Type 19' />
+ <param name='20' doc='System Information Type 20' />
+ <param name='2bis' doc='System Information Type 2bis' />
+ <param name='2ter' doc='System Information Type 2ter' />
+ <param name='2quater' doc='System Information Type 2quater' />
+ <param name='5bis' doc='System Information Type 5bis' />
+ <param name='5ter' doc='System Information Type 5ter' />
+ <param name='static' doc='Static System Information filling' />
+ <param name='HEXSTRING' doc='Static user-specified SI content in HEX notation' />
+ </params>
+ </command>
+ <command id='neighbor-list mode (automatic|manual|manual-si5)'>
+ <params>
+ <param name='neighbor-list' doc='Neighbor List' />
+ <param name='mode' doc='Mode of Neighbor List generation' />
+ <param name='automatic' doc='Automatically from all BTS in this OpenBSC' />
+ <param name='manual' doc='Manual' />
+ <param name='manual-si5' doc='Manual with different lists for SI2 and SI5' />
+ </params>
+ </command>
+ <command id='neighbor-list (add|del) arfcn <0-1023>'>
+ <params>
+ <param name='neighbor-list' doc='Neighbor List' />
+ <param name='add' doc='Add to manual neighbor list' />
+ <param name='del' doc='Delete from manual neighbor list' />
+ <param name='arfcn' doc='ARFCN of neighbor' />
+ <param name='<0-1023>' doc='ARFCN of neighbor' />
+ </params>
+ </command>
+ <command id='si5 neighbor-list (add|del) arfcn <0-1023>'>
+ <params>
+ <param name='si5' doc='SI5 Neighbor List' />
+ <param name='neighbor-list' doc='SI5 Neighbor List' />
+ <param name='add' doc='Add to manual SI5 neighbor list' />
+ <param name='del' doc='Delete from SI5 manual neighbor list' />
+ <param name='arfcn' doc='ARFCN of neighbor' />
+ <param name='<0-1023>' doc='ARFCN of neighbor' />
+ </params>
+ </command>
+ <command id='rf-lock-exclude'>
+ <params>
+ <param name='rf-lock-exclude' doc='Exclude this BTS from the global RF Lock' />
+ </params>
+ </command>
+ <command id='no rf-lock-exclude'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rf-lock-exclude' doc='Exclude this BTS from the global RF Lock' />
+ </params>
+ </command>
+ <command id='force-combined-si'>
+ <params>
+ <param name='force-combined-si' doc='Force the generation of a single SI (no ter/bis)' />
+ </params>
+ </command>
+ <command id='no force-combined-si'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='force-combined-si' doc='Force the generation of a single SI (no ter/bis)' />
+ </params>
+ </command>
+ <command id='codec-support fr'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ </params>
+ </command>
+ <command id='codec-support fr (hr|efr|amr)'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ </params>
+ </command>
+ <command id='codec-support fr (hr|efr|amr) (hr|efr|amr)'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ </params>
+ </command>
+ <command id='codec-support fr (hr|efr|amr) (hr|efr|amr) (hr|efr|amr)'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ </params>
+ </command>
+ <command id='codec-support fr (hr|efr|amr) (hr|efr|amr) (hr|efr|amr) (hr|efr|amr)'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ </params>
+ </command>
+ <command id='trx <0-255>'>
+ <params>
+ <param name='trx' doc='Radio Transceiver' />
+ <param name='<0-255>' doc='Select a TRX to configure' />
+ </params>
+ </command>
+ <command id='is-connection-list (add|del) <0-2047> <0-2047> <0-255>'>
+ <params>
+ <param name='is-connection-list' doc='Interface Switch Connnection List' />
+ <param name='add' doc='Add to IS list' />
+ <param name='del' doc='Delete from IS list' />
+ <param name='<0-2047>' doc='ICP1' />
+ <param name='<0-2047>' doc='ICP2' />
+ <param name='<0-255>' doc='Contiguity Index' />
+ </params>
+ </command>
+ </node>
+ <node id='16'>
+ <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>
+ <command id='arfcn <0-1023>'>
+ <params>
+ <param name='arfcn' doc='Set the ARFCN for this TRX' />
+ <param name='<0-1023>' doc='Absolute Radio Frequency Channel Number' />
+ </params>
+ </command>
+ <command id='description .TEXT'>
+ <params>
+ <param name='description' doc='Save human-readable decription of the object' />
+ <param name='.TEXT' doc='Text until the end of the line' />
+ </params>
+ </command>
+ <command id='no description'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='description' doc='Remove description of the object' />
+ </params>
+ </command>
+ <command id='nominal power <0-100>'>
+ <params>
+ <param name='nominal' doc='Nominal TRX RF Power in dBm' />
+ <param name='power' doc='Nominal TRX RF Power in dBm' />
+ <param name='<0-100>' doc='Nominal TRX RF Power in dBm' />
+ </params>
+ </command>
+ <command id='max_power_red <0-100>'>
+ <params>
+ <param name='max_power_red' doc='Reduction of maximum BS RF Power (relative to nominal power)' />
+ <param name='<0-100>' doc='Reduction of maximum BS RF Power in dB' />
+ </params>
+ </command>
+ <command id='rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)'>
+ <params>
+ <param name='rsl' doc='RSL Parameters' />
+ <param name='e1' doc='E1/T1 interface to be used for RSL' />
+ <param name='line' doc='E1/T1 interface to be used for RSL' />
+ <param name='E1_LINE' doc='E1/T1 Line Number to be used for RSL' />
+ <param name='timeslot' doc='E1/T1 Timeslot to be used for RSL' />
+ <param name='<1-31>' doc='E1/T1 Timeslot to be used for RSL' />
+ <param name='sub-slot' doc='E1/T1 Sub-slot to be used for RSL' />
+ <param name='0' doc='E1/T1 Sub-slot 0 is to be used for RSL' />
+ <param name='1' doc='E1/T1 Sub-slot 1 is to be used for RSL' />
+ <param name='2' doc='E1/T1 Sub-slot 2 is to be used for RSL' />
+ <param name='3' doc='E1/T1 Sub-slot 3 is to be used for RSL' />
+ <param name='full' doc='E1/T1 full timeslot is to be used for RSL' />
+ </params>
+ </command>
+ <command id='rsl e1 tei <0-63>'>
+ <params>
+ <param name='rsl' doc='RSL Parameters' />
+ <param name='e1' doc='Set the TEI to be used for RSL' />
+ <param name='tei' doc='Set the TEI to be used for RSL' />
+ <param name='<0-63>' doc='TEI to be used for RSL' />
+ </params>
+ </command>
+ <command id='rf_locked (0|1)'>
+ <params>
+ <param name='rf_locked' doc='Set or unset the RF Locking (Turn off RF of the TRX)' />
+ <param name='0' doc='TRX is NOT RF locked (active)' />
+ <param name='1' doc='TRX is RF locked (turned off)' />
+ </params>
+ </command>
+ <command id='timeslot <0-7>'>
+ <params>
+ <param name='timeslot' doc='Select a Timeslot to configure' />
+ <param name='<0-7>' doc='Timeslot number' />
+ </params>
+ </command>
+ </node>
+ <node id='17'>
+ <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>
+ <command id='phys_chan_config (none|ccch|ccch+sdcch4|tch/f|tch/h|sdcch8|pdch|tch/f_pdch|unknown)'>
+ <params>
+ <param name='phys_chan_config' doc='Physical Channel Combination' />
+ <param name='none' doc='Physical Channel not configured' />
+ <param name='ccch' doc='FCCH + SCH + BCCH + CCCH (Comb. IV)' />
+ <param name='ccch+sdcch4' doc='FCCH + SCH + BCCH + CCCH + 4 SDCCH + 2 SACCH (Comb. V)' />
+ <param name='tch/f' doc='TCH/F + FACCH/F + SACCH (Comb. I)' />
+ <param name='tch/h' doc='2 TCH/H + 2 FACCH/H + 2 SACCH (Comb. II)' />
+ <param name='sdcch8' doc='8 SDCCH + 4 SACCH (Comb. VII)' />
+ <param name='pdch' doc='Packet Data Channel for GPRS/EDGE' />
+ <param name='tch/f_pdch' doc='Dynamic TCH/F or GPRS PDCH' />
+ <param name='unknown' doc='Unknown / Unsupported channel combination' />
+ </params>
+ </command>
+ <command id='phys_chan_config PCHAN'>
+ <params>
+ <param name='phys_chan_config' doc='Physical Channel configuration (TCH/SDCCH/...)' />
+ <param name='PCHAN' doc='Physical Channel' />
+ </params>
+ </command>
+ <command id='training_sequence_code <0-7>'>
+ <params>
+ <param name='training_sequence_code' doc='Training Sequence Code of the Timeslot' />
+ <param name='<0-7>' doc='TSC' />
+ </params>
+ </command>
+ <command id='hopping enabled (0|1)'>
+ <params>
+ <param name='hopping' doc='Configure frequency hopping' />
+ <param name='enabled' doc='Enable or disable frequency hopping' />
+ <param name='0' doc='Disable frequency hopping' />
+ <param name='1' doc='Enable frequency hopping' />
+ </params>
+ </command>
+ <command id='hopping sequence-number <0-63>'>
+ <params>
+ <param name='hopping' doc='Configure frequency hopping' />
+ <param name='sequence-number' doc='Which hopping sequence to use for this channel' />
+ <param name='<0-63>' doc='Hopping Sequence Number (HSN)' />
+ </params>
+ </command>
+ <command id='hopping maio <0-63>'>
+ <params>
+ <param name='hopping' doc='Configure frequency hopping' />
+ <param name='maio' doc='Which hopping MAIO to use for this channel' />
+ <param name='<0-63>' doc='Mobile Allocation Index Offset (MAIO)' />
+ </params>
+ </command>
+ <command id='hopping arfcn add <0-1023>'>
+ <params>
+ <param name='hopping' doc='Configure frequency hopping' />
+ <param name='arfcn' doc='Configure hopping ARFCN list' />
+ <param name='add' doc='Add an entry to the hopping ARFCN list' />
+ <param name='<0-1023>' doc='ARFCN' />
+ </params>
+ </command>
+ <command id='hopping arfcn del <0-1023>'>
+ <params>
+ <param name='hopping' doc='Configure frequency hopping' />
+ <param name='arfcn' doc='Configure hopping ARFCN list' />
+ <param name='del' doc='Delete an entry to the hopping ARFCN list' />
+ <param name='<0-1023>' doc='ARFCN' />
+ </params>
+ </command>
+ <command id='e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)'>
+ <params>
+ <param name='e1' doc='E1/T1 channel connected to this on-air timeslot' />
+ <param name='line' doc='E1/T1 channel connected to this on-air timeslot' />
+ <param name='E1_LINE' doc='E1/T1 line connected to this on-air timeslot' />
+ <param name='timeslot' doc='E1/T1 timeslot connected to this on-air timeslot' />
+ <param name='<1-31>' doc='E1/T1 timeslot connected to this on-air timeslot' />
+ <param name='sub-slot' doc='E1/T1 sub-slot connected to this on-air timeslot' />
+ <param name='0' doc='E1/T1 sub-slot 0 connected to this on-air timeslot' />
+ <param name='1' doc='E1/T1 sub-slot 1 connected to this on-air timeslot' />
+ <param name='2' doc='E1/T1 sub-slot 2 connected to this on-air timeslot' />
+ <param name='3' doc='E1/T1 sub-slot 3 connected to this on-air timeslot' />
+ <param name='full' doc='Full E1/T1 timeslot connected to this on-air timeslot' />
+ </params>
+ </command>
+ </node>
+ <node id='22'>
+ <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>
+ <command id='change-adm-state (locked|unlocked|shutdown|null)'>
+ <params>
+ <param name='change-adm-state' doc='Change the Administrative State' />
+ <param name='locked' doc='Locked' />
+ <param name='unlocked' doc='Unlocked' />
+ <param name='shutdown' doc='Shutdown' />
+ <param name='null' doc='NULL' />
+ </params>
+ </command>
+ <command id='opstart'>
+ <params>
+ <param name='opstart' doc='Send an OPSTART message to the object' />
+ </params>
+ </command>
+ </node>
+ <node id='25'>
+ <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>
+ <command id='token TOKEN'>
+ <params>
+ <param name='token' doc='A token for the BSC to be sent to the MSC' />
+ <param name='TOKEN' doc='A token' />
+ </params>
+ </command>
+ <command id='core-mobile-network-code <1-999>'>
+ <params>
+ <param name='core-mobile-network-code' doc='Use this network code for the backbone' />
+ <param name='<1-999>' doc='NCC value' />
+ </params>
+ </command>
+ <command id='core-mobile-country-code <1-999>'>
+ <params>
+ <param name='core-mobile-country-code' doc='Use this country code for the backbone' />
+ <param name='<1-999>' doc='MCC value' />
+ </params>
+ </command>
+ <command id='ip.access rtp-base <1-65000>'>
+ <params>
+ <param name='ip.access' doc='IP.ACCESS specific' />
+ <param name='rtp-base' doc='Set the rtp-base port for the RTP stream' />
+ <param name='<1-65000>' doc='Port number' />
+ </params>
+ </command>
+ <command id='codec-list .LIST'>
+ <params>
+ <param name='codec-list' doc='Set the allowed audio codecs' />
+ <param name='.LIST' doc='List of audio codecs' />
+ </params>
+ </command>
+ <command id='dest A.B.C.D <1-65000> <0-255>'>
+ <params>
+ <param name='dest' doc='Add a destination to a MUX/MSC' />
+ <param name='A.B.C.D' doc='IP Address' />
+ <param name='<1-65000>' doc='Port' />
+ <param name='<0-255>' doc='DSCP' />
+ </params>
+ </command>
+ <command id='no dest A.B.C.D <1-65000> <0-255>'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='dest' doc='Remove a destination to a MUX/MSC' />
+ <param name='A.B.C.D' doc='IP Address' />
+ <param name='<1-65000>' doc='Port' />
+ <param name='<0-255>' doc='DSCP' />
+ </params>
+ </command>
+ <command id='timeout-ping NR'>
+ <params>
+ <param name='timeout-ping' doc='Set the PING interval, negative for not sending PING' />
+ <param name='NR' doc='Timeout in seconds' />
+ </params>
+ </command>
+ <command id='timeout-pong NR'>
+ <params>
+ <param name='timeout-pong' doc='Set the time to wait for a PONG' />
+ <param name='NR' doc='Timeout in seconds' />
+ </params>
+ </command>
+ <command id='bsc-welcome-text .TEXT'>
+ <params>
+ <param name='bsc-welcome-text' doc='Set the USSD notification to be sent' />
+ <param name='.TEXT' doc='Text to be sent' />
+ </params>
+ </command>
+ <command id='no bsc-welcome-text'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='bsc-welcome-text' doc='Clear the USSD notification to be sent' />
+ </params>
+ </command>
+ <command id='bsc-msc-lost-text .TEXT'>
+ <params>
+ <param name='bsc-msc-lost-text' doc='Set the USSD notification to be sent on MSC connection loss' />
+ <param name='.TEXT' doc='Text to be sent' />
+ </params>
+ </command>
+ <command id='no bsc-msc-lost-text'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='bsc-msc-lost-text' doc='Clear the USSD notification to be sent on MSC connection loss' />
+ </params>
+ </command>
+ <command id='bsc-grace-text .TEXT'>
+ <params>
+ <param name='bsc-grace-text' doc='Set the USSD notification to be sent when the MSC has entered the grace period' />
+ <param name='.TEXT' doc='Text to be sent' />
+ </params>
+ </command>
+ <command id='no bsc-grace-text'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='bsc-grace-text' doc='Clear the USSD notification to be sent when the MSC has entered the grace period' />
+ </params>
+ </command>
+ <command id='type (normal|local)'>
+ <params>
+ <param name='type' doc='Select the MSC type' />
+ <param name='normal' doc='Plain GSM MSC' />
+ <param name='local' doc='Special MSC for local call routing' />
+ </params>
+ </command>
+ <command id='allow-emergency (allow|deny)'>
+ <params>
+ <param name='allow-emergency' doc='Allow CM ServiceRequests with type emergency' />
+ <param name='allow' doc='Allow' />
+ <param name='deny' doc='Deny' />
+ </params>
+ </command>
+ <command id='local-prefix REGEXP'>
+ <params>
+ <param name='local-prefix' doc='Prefix for local numbers' />
+ <param name='REGEXP' doc='REGEXP used' />
+ </params>
+ </command>
+ <command id='amr-config 12_2k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='12_2k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 10_2k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='10_2k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 7_95k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='7_95k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 7_40k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='7_40k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 6_70k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='6_70k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 5_90k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='5_90k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 5_15k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='5_15k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ <command id='amr-config 4_75k (allowed|forbidden)'>
+ <params>
+ <param name='amr-config' doc='AMR Multirate Configuration' />
+ <param name='4_75k' doc='Bitrate' />
+ <param name='allowed' doc='Allowed' />
+ <param name='forbidden' doc='Forbidden' />
+ </params>
+ </command>
+ </node>
+ <node id='26'>
+ <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>
+ <command id='reset-command'>
+ <params>
+ <param name='reset-command' doc='Reset the MO' />
+ </params>
+ </command>
+ <command id='start-request'>
+ <params>
+ <param name='start-request' doc='Start the MO' />
+ </params>
+ </command>
+ <command id='status-request'>
+ <params>
+ <param name='status-request' doc='Get the MO Status' />
+ </params>
+ </command>
+ <command id='connect-command'>
+ <params>
+ <param name='connect-command' doc='Connect the MO' />
+ </params>
+ </command>
+ <command id='disconnect-command'>
+ <params>
+ <param name='disconnect-command' doc='Disconnect the MO' />
+ </params>
+ </command>
+ <command id='enable-request'>
+ <params>
+ <param name='enable-request' doc='Enable the MO' />
+ </params>
+ </command>
+ <command id='disable-request'>
+ <params>
+ <param name='disable-request' doc='Disable the MO' />
+ </params>
+ </command>
+ <command id='operational-info <0-1>'>
+ <params>
+ <param name='operational-info' doc='Set operational information' />
+ <param name='<0-1>' doc='Set operational info to 0 or 1' />
+ </params>
+ </command>
+ <command id='test-request'>
+ <params>
+ <param name='test-request' doc='Test the MO' />
+ </params>
+ </command>
+ <command id='configuration-request'>
+ <params>
+ <param name='configuration-request' doc='Send the configuration request for current MO' />
+ </params>
+ </command>
+ <command id='con-connection-list (add|del) <1-255> <0-1023> deconcentrated'>
+ <params>
+ <param name='con-connection-list' doc='CON connetiton list' />
+ <param name='add' doc='Add entry to CON list' />
+ <param name='del' doc='Delete entry from CON list' />
+ <param name='<1-255>' doc='Connection Group Number' />
+ <param name='<0-1023>' doc='CON Connection Point' />
+ <param name='deconcentrated' doc='De-concentrated in/outlet' />
+ </params>
+ </command>
+ <command id='con-connection-list (add|del) <1-255> <0-1023> tei <0-63>'>
+ <params>
+ <param name='con-connection-list' doc='CON connetiton list' />
+ <param name='add' doc='Add entry to CON list' />
+ <param name='del' doc='Delete entry from CON list' />
+ <param name='<1-255>' doc='Connection Group Number' />
+ <param name='<0-1023>' doc='CON Connection Point' />
+ <param name='tei' doc='Concentrated in/outlet with TEI' />
+ <param name='<0-63>' doc='TEI Number' />
+ </params>
+ </command>
+ </node>
+ <node id='30'>
+ <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>
+ <command id='mid-call-text .TEXT'>
+ <params>
+ <param name='mid-call-text' doc='Set the USSD notifcation to be send.' />
+ <param name='.TEXT' doc='Text to be sent' />
+ </params>
+ </command>
+ <command id='mid-call-timeout NR'>
+ <params>
+ <param name='mid-call-timeout' doc='Switch from Grace to Off in NR seconds.' />
+ <param name='NR' doc='Timeout in seconds' />
+ </params>
+ </command>
+ <command id='bsc-rf-socket PATH'>
+ <params>
+ <param name='bsc-rf-socket' doc='Set the filename for the RF control interface.' />
+ <param name='PATH' doc='RF Control path' />
+ </params>
+ </command>
+ <command id='bsc-auto-rf-off <1-65000>'>
+ <params>
+ <param name='bsc-auto-rf-off' doc='Disable RF on MSC Connection' />
+ <param name='<1-65000>' doc='Timeout' />
+ </params>
+ </command>
+ <command id='no bsc-auto-rf-off'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='bsc-auto-rf-off' doc='Disable RF on MSC Connection' />
+ </params>
+ </command>
+ <command id='missing-msc-text .TEXT'>
+ <params>
+ <param name='missing-msc-text' doc='Set the USSD notification to be send when a MSC has not been found.' />
+ <param name='.TEXT' doc='Text to be sent' />
+ </params>
+ </command>
+ <command id='no missing-msc-text'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='missing-msc-text' doc='Clear the USSD notification to be send when a MSC has not been found.' />
+ </params>
+ </command>
+ </node>
+</vtydoc>
\ No newline at end of file diff --git a/OsmoBTS/Makefile b/OsmoBTS/Makefile new file mode 100644 index 0000000..092856d --- /dev/null +++ b/OsmoBTS/Makefile @@ -0,0 +1,14 @@ +TOPDIR := .. +ASCIIDOCS := osmobts-usermanual osmobts-abis + +include $(TOPDIR)/build/Makefile.asciidoc.inc + +# for the upload target +include $(TOPDIR)/build/Makefile.inc + +# dependencies +osmobts-abis.pdf: abis/*.adoc abis/*.msc +osmobts-usermanual.pdf: chapters/*.adoc + +clean: + rm -rf $(cleanfiles) diff --git a/OsmoBTS/abis/abis-startup.msc b/OsmoBTS/abis/abis-startup.msc new file mode 100644 index 0000000..d30fe41 --- /dev/null +++ b/OsmoBTS/abis/abis-startup.msc @@ -0,0 +1,23 @@ +msc { + bts [label="BTS"], bsc [label="BSC"]; + + bts => bsc [label="TCP Connect (Port 3002, OML)"]; + bts box bsc [label="IPA CCM Identification (Port 3002)"]; + bts <= bsc [label="OML Configuration of BTS via OML"]; + ...; + bts <= bsc [label="OML (TRX=0) IPA RSL CONNECT"]; + bts => bsc [label="TCP Connect (Port 3003, RSL, TRX 0)"]; + bts box bsc [label="IPA CCM Identification Port 3003"]; + bts <= bsc [label="RSL BCCH filling (System Information)"]; + bts <= bsc [label="RSL SACCH filling (SI 5/6)"]; + ...; + bts <= bsc [label="OML (TRX=1) IPA RSL CONNECT"]; + bts => bsc [label="TCP Connect (Port 3003, RSL, TRX 1)"]; + bts box bsc [label="IPA CCM Identification (Port 3003)"]; + bts <= bsc [label="RSL SACCH filling (SI 5/6)"]; + ...; + bts <= bsc [label="OML (TRX=N) IPA RSL CONNECT"]; + bts => bsc [label="TCP Connect (Port 3003, RSL, TRX N)"]; + bts box bsc [label="IPA CCM Identification (Port 3003)"]; + bts <= bsc [label="RSL SACCH filling (SI 5/6)"]; +} diff --git a/OsmoBTS/abis/ipa.adoc b/OsmoBTS/abis/ipa.adoc new file mode 100644 index 0000000..9768cdd --- /dev/null +++ b/OsmoBTS/abis/ipa.adoc @@ -0,0 +1,106 @@ +== IPA Multiplex + +The ETSI/3GPP specifications for A-bis transport (ETSI/3GPP TS 08.56) +specify the transmission of RSL and OML messages over a LAPD based +framing on top of 64kBit/s signalling times slots (B-channels) on E1 +lines. + +OsmoBTS does not implement this LAPD based transport, but instead +implements A-bis over IP in a flavor first observed by ip.access nanoBTS +products. The OsmoBTS implementation is a clean-room re-implementation +based on the observation and dissection of protocol traces. + +LAPD as used in E1 signalling channels provides in-order transmission +and reliable delivery. This is why TCP was chosen as Layer 4 transport +protocol on top of IP. TCP however, is a stream based transport +protocol, which doesn't preserve the boundaries of messages. + +To work around this shortcoming, an additional framing layer called the +IPA multiplex was introduced between TCP and the RSL and OML messages. + +.Protocol Stacking +[width="30%"] +|=== +|RSL + OML (this document) +|IPA (this document) +|TCP (IETF RFC 793) +|IP (IETF RFC 791) +|Ethernet (IEEE 802.3) +|=== + +=== IPA Header + +Each higher-layer PDU is encapsulated by a three-byte IPA header with +the following structure: + +.IPA Header Structure +[options="header",cols="10%,15%,15%,60%"] +|=== +|Offset (Octets)|Length|Name|Description +|0|2|Length|Length of the variable-length payload section in network +byte order (excluding the length of the IPA Header) +|2|1|Stream Identifier|Identifies the stream of the payload +|3|Variable|Payload|higher-layer PDU (i.e. RSL or OML message) +|=== + +=== IPA Stream Identifiers + +The IPA Stream Identifier serves to differentiate different streams +within the multiplex. In the context of A-bis, it can be seen as +analogous to the LAPD TEI on classic A-bis over E1. + +The following IPA stream identifiers are being used in A-bis/IP: + +.IPA Stream Identifiers +[options="header",width="70%",cols="20%,20%,60%"] +|=== +|Value (Hex)|Name|Description +|0x00|RSL|A-bis RSL according to this document, TRX 0 +|0x01|RSL|A-bis RSL according to this document, TRX 1 +|0x0n|RSL|A-bis RSL according to this document, TRX n +|0xfe|CCM|IPA Connection Management +|0xff|OML|A-bis OML according to this document +|=== + + +=== IPA Connection Management (CCM) + +The IPA Connection Management is a sub-layer underneath the IPA +multiplex which is used to manage the connection itself. It supports +functions like Identity Management and Keep-Alive. + +==== Identity Management + +When a BTS connects to the BSC, the BSC must identify the connected BTS +somehow. In ETSI/3GPP A-bis, the E1 multiplex + signalling timeslot +number is used for this. In IP, there is no similar usable identity. +Hence, the Unit ID is used for this purpose. + +.Procedure for IPA peer identification is as follows +[options="header",cols="20%,80%"] +|=== +|Direction|Operation +|BTS -> BSC|BTS connects the TCP connection to be used with IPA +|BTS <- BSC|BSC requests BTS identity with ID_GET +|BTS -> BSC|BTS responds BTS Unit ID with ID_RESP +|BTS <- BSC|BSC responds with ID_ACK, if the Unit ID is known to the BSC +|=== + +Following the above peer identification procedure, transfer of +higher-level messages such as OML or RSL commences. + +==== IPA CCM Messages + +IPA CCM supports the following messages + +.IPA CCM Messages +[options="header"] +[cols="10%,15%,75%"] +|=== +|Value|Name|Purpose +|0x00|PING|Request a PONG from the peer +|0x01|PONG|Response to a PING +|0x04|ID_GET|Request Identity from peer +|0x05|ID_RESP|Response to ID_GET +|0x06|ID_ACK|Identity Acknowledged +|=== diff --git a/OsmoBTS/abis/oml-mo-bts.msc b/OsmoBTS/abis/oml-mo-bts.msc new file mode 100644 index 0000000..75c283f --- /dev/null +++ b/OsmoBTS/abis/oml-mo-bts.msc @@ -0,0 +1,26 @@ +msc { + bts [label="BTS"], bsc [label="BSC"]; + # this is for the BTS Object + --- [label="Initial state after establishing OML"]; + bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; + --- [label="MO requests software activation"]; + bts => bsc [label="SW Activate Req"]; + bts <= bsc [label="SW Activate Req Ack"]; + --- [label="BTS instructs BTS to activate software"]; + bts <= bsc [label="Activate SW"]; + bts => bsc [label="Activate SW Ack"]; + --- [label="MO reports new state after SW activation"]; + bts => bsc [label="STATE CHG REP (Disabled/Dependency)"]; + bts => bsc [label="SW Activated Report"]; + --- [label="Configure the MO with its attributes"]; + bts <= bsc [label="Set BTS Attributes"]; + bts => bsc [label="Set BTS Attributes Ack"]; + bts <= bsc [label="OPSTART"]; + bts => bsc [label="OPSTART ACK"]; + --- [label="As this object is locked, we need to unlock it"]; + bts <= bsc [label="Change Adm State (Unlocked)"]; + bts => bsc [label="Change Adm State Ack (Unlocked)"]; + bts => bsc [label="STATE CHG REP (Disabled/Dependency/Unlocked)"]; + --- [label="Initialize Radio Transceiver, Radio Carrier, Channels"]; + bts => bsc [label="STATE CHG REP (Enabled/OK)"]; +} diff --git a/OsmoBTS/abis/oml-mo-carrier.msc b/OsmoBTS/abis/oml-mo-carrier.msc new file mode 100644 index 0000000..fc5070f --- /dev/null +++ b/OsmoBTS/abis/oml-mo-carrier.msc @@ -0,0 +1,24 @@ +msc { + bts [label="Radio Carrier"], bsc [label="BSC"]; + --- [label="Initial state after establishing OML"]; + bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; + --- [label="MO requests software activation"]; + bts => bsc [label="SW Activate Req"]; + bts <= bsc [label="SW Activate Req Ack"]; + --- [label="BTS instructs BTS to activate software"]; + bts <= bsc [label="Activate SW"]; + bts => bsc [label="Activate SW Ack"]; + --- [label="MO reports new state after SW activation"]; + bts => bsc [label="STATE CHG REP (Disabled/Offline)"]; + bts => bsc [label="SW Activated Report"]; + --- [label="Configure the MO with its attributes"]; + bts <= bsc [label="Set Radio Carrier Attributes"]; + bts => bsc [label="Set Radio Carrier Attributes Ack"]; + bts <= bsc [label="OPSTART"]; + bts => bsc [label="OPSTART ACK"]; + --- [label="As this object is locked, we need to unlock it"]; + bts <= bsc [label="Change Adm State (Unlocked)"]; + bts => bsc [label="Change Adm State Ack (Unlocked)"]; + bts => bsc [label="STATE CHG REP (Disabled/OK/Unlocked)"]; + bts => bsc [label="STATE CHG REP (Enabled)"]; +} diff --git a/OsmoBTS/abis/oml-mo-channel.msc b/OsmoBTS/abis/oml-mo-channel.msc new file mode 100644 index 0000000..624ae72 --- /dev/null +++ b/OsmoBTS/abis/oml-mo-channel.msc @@ -0,0 +1,20 @@ +msc { + bts [label="Channel"], bsc [label="BSC"]; + --- [label="Initial state after establishing OML"]; + bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; + --- [label="MO reports new state after SW activation of Baseband Transceiver"]; + bts => bsc [label="STATE CHG REP (Disabled/Dependency)"]; + bts => bsc [label="SW Activated Report"]; + --- [label="Configure the MO with its attributes"]; + bts <= bsc [label="Set Channel Attributes"]; + bts => bsc [label="Set Channel Attributes Ack"]; + bts <= bsc [label="OPSTART"]; + bts => bsc [label="OPSTART ACK"]; + --- [label="As this object is locked, we need to unlock it"]; + bts <= bsc [label="Change Adm State (Unlocked)"]; + bts => bsc [label="Change Adm State Ack (Unlocked)"]; + bts => bsc [label="STATE CHG REP (Disabled/Dependency/Unlocked)"]; + --- [label="Initialize Radio Carrier / Baseband Transceiver"]; + bts => bsc [label="STATE CHG REP (Disabled/Offline)"]; + bts => bsc [label="STATE CHG REP (Enabled/OK)"]; +} diff --git a/OsmoBTS/abis/oml-mo-sitemgr.msc b/OsmoBTS/abis/oml-mo-sitemgr.msc new file mode 100644 index 0000000..39e4d15 --- /dev/null +++ b/OsmoBTS/abis/oml-mo-sitemgr.msc @@ -0,0 +1,17 @@ +msc { + bts [label="Site Manager"], bsc [label="BSC"]; + # this is for the Site Manager Object + --- [label="Initial state after establishing OML"]; + bts => bsc [label="STATE CHG REP (Disabled/Notinstalled)"]; + --- [label="MO requests software activation"]; + bts => bsc [label="SW Activate Req"]; + bts <= bsc [label="SW Activate Req Ack"]; + --- [label="BTS instructs BTS to activate software"]; + bts <= bsc [label="Activate SW"]; + bts => bsc [label="Activate SW Ack"]; + --- [label="MO reports new state after SW activation"]; + bts => bsc [label="STATE CHG REP (Enabled)"]; + bts => bsc [label="SW Activated Report"]; + bts <= bsc [label="OPSTART"]; + bts => bsc [label="OPSTART ACK"]; +} diff --git a/OsmoBTS/abis/oml-mo-transceiver.msc b/OsmoBTS/abis/oml-mo-transceiver.msc new file mode 100644 index 0000000..d40e7cc --- /dev/null +++ b/OsmoBTS/abis/oml-mo-transceiver.msc @@ -0,0 +1,23 @@ +msc { + bts [label="Baseband Transceiver"], bsc [label="BSC"]; + --- [label="Initial state after establishing OML"]; + bts => bsc [label="STATE CHG REP (Disabled/Notinstalled/Locked)"]; + --- [label="MO requests software activation"]; + bts => bsc [label="SW Activate Req"]; + bts <= bsc [label="SW Activate Req Ack"]; + --- [label="BTS instructs BTS to activate software"]; + bts <= bsc [label="Activate SW"]; + bts => bsc [label="Activate SW Ack"]; + --- [label="MO reports new state after SW activation"]; + bts => bsc [label="STATE CHG REP (Disabled/Dependency)"]; + bts => bsc [label="SW Activated Report"]; + --- [label="BSC requests RSL establishment"]; + bts <= bsc [label="IPA RSL Connect"]; + bts => bsc [label="IPA RSL Connect ACK"]; + bts <= bsc [label="OPSTART"]; + bts => bsc [label="OPSTART ACK"]; + --- [label="As this object is locked, we need to unlock it"]; + bts <= bsc [label="Change Adm State (Unlocked)"]; + bts => bsc [label="Change Adm State Ack (Unlocked)"]; + bts => bsc [label="STATE CHG REP (Disabled/Dependency/Unlocked)"]; +} diff --git a/OsmoBTS/abis/oml-startup.msc b/OsmoBTS/abis/oml-startup.msc new file mode 100644 index 0000000..de5d039 --- /dev/null +++ b/OsmoBTS/abis/oml-startup.msc @@ -0,0 +1,34 @@ +msc { + hscale = 2; + + chan [label="Channel"], rc [label="Radio Carrier"], smg [label="Site Manager"], bts [label="BTS"], bsc [label="BSC"]; + + bts => bsc [label="TCP Connect (Port 3003, OML)"]; + bts box bsc [label="IPA CCM Identification (Port 3003)"]; + |||; + smg => bsc [label="(Site Mgr) STATE CHG REP (Disabled/NotInstalled)"]; + bts => bsc [label="(BTS) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 0) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 1) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 2) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 3) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 4) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 5) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 6) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + chan => bsc [label="(Ch 7) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + rc => bsc [label="(RC) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + bts => bsc [label="(GPRS-NSE) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + bts => bsc [label="(GPRS-CELL) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + bts => bsc [label="(GPRS-NSVC0) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + bts => bsc [label="(GPRS-NSVC1) STATE CHG REP (Disabled/NotInstalled/Locked)"]; + |||; + smg => bsc [label="(Site Mgr) SW Activate Req"]; + smg <= bsc [label="(Site Mgr) SW Activate Req Ack"]; + smg <= bsc [label="(Site Mgr) Activate SW"]; + smg => bsc [label="(Site Mgr) Activate SW Ack"]; + smg => bsc [label="(Site Mgr) STATE CHG REP (Enabled)"]; + smg => bsc [label="(Site Mgr) SW Activated Report"]; + smg <= bsc [label="(Site Mgr) OPSTART"]; + smg => bsc [label="(Site Mgr) OPSTART ACK"]; +} diff --git a/OsmoBTS/abis/oml-startup2.msc b/OsmoBTS/abis/oml-startup2.msc new file mode 100644 index 0000000..8a97e12 --- /dev/null +++ b/OsmoBTS/abis/oml-startup2.msc @@ -0,0 +1,50 @@ +msc { + hscale = 2; + + chan [label="Channel"], rc [label="Radio Carrier"], bts [label="BTS"], bsc [label="BSC"]; + + bts box bsc [label="OML Connect + Site Manager Init"]; + ...; + bts => bsc [label="(BTS) SW Activate Req"]; + bts <= bsc [label="(BTS) SW Activate Req Ack"]; + bts <= bsc [label="(BTS) Activate SW"]; + bts => bsc [label="(BTS) Activate SW Ack"]; + bts => bsc [label="(BTS) STATE CHG REP (Disabled/Dependency)"]; + bts => bsc [label="(BTS) SW Activated Report"]; + |||; + rc => bsc [label="(TRANSC) SW Activate Req"]; + rc => bsc [label="(RC) SW Activated Req"]; + |||; + bts <= bsc [label="(BTS) Set BTS Attributes"]; + bts => bsc [label="(BTS) Set BTS Attributes Ack"]; + bts <= bsc [label="(BTS) OPSTART"]; + bts => bsc [label="(BTS) OPSTART Ack"]; + |||; + bts <= bsc [label="(BTS) Change Adm State (Unlocked)"]; + bts => bsc [label="(BTS) Change Adm State ACK (Unlocked)"]; + bts => bsc [label="(BTS) STATE CHG REP (Disabled/Dependency/Unlcoked)"]; + |||; + rc <= bsc [label="(TRANSC) SW Activate Req Ack"]; + rc <= bsc [label="(TRANSC) Activate SW"]; + rc => bsc [label="(TRANSC) Activate SW Ack"]; + rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/Dependency)"]; + rc => bsc [label="(TRANSC) SW Activated Report"]; + + chan => bsc [label="(CHAN 0) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 1) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 2) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 3) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 4) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 5) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 6) STATE CHG REP (Disabled/Dependency)"]; + chan => bsc [label="(CHAN 7) STATE CHG REP (Disabled/Dependency)"]; + |||; + chan => bsc [label="(CHAN 0) SW Activated Report"]; + chan => bsc [label="(CHAN 1) SW Activated Report"]; + chan => bsc [label="(CHAN 2) SW Activated Report"]; + chan => bsc [label="(CHAN 3) SW Activated Report"]; + chan => bsc [label="(CHAN 4) SW Activated Report"]; + chan => bsc [label="(CHAN 5) SW Activated Report"]; + chan => bsc [label="(CHAN 6) SW Activated Report"]; + chan => bsc [label="(CHAN 7) SW Activated Report"]; +} diff --git a/OsmoBTS/abis/oml-startup3.msc b/OsmoBTS/abis/oml-startup3.msc new file mode 100644 index 0000000..c1fffd2 --- /dev/null +++ b/OsmoBTS/abis/oml-startup3.msc @@ -0,0 +1,51 @@ +msc { + hscale = 2; + + chan [label="Channel"], rc [label="Radio Carrier"], bts [label="BTS"], bsc [label="BSC"]; + + ...; + rc <= bsc [label="(RC) SW Activate Req Ack"]; + rc <= bsc [label="(RC) Activate SW"]; + rc => bsc [label="(RC) Activate SW Ack"]; + rc => bsc [label="(RC) STATE CHG REP (Disabled/Offline)"]; + rc => bsc [label="(RC) SW Activated Report"]; + rc <= bsc [label="(TRANSC) IPA RSL Connect"]; + rc => bsc [label="(TRANSC) IPA RSL Connect Ack"]; + rc <= bsc [label="(TRANSC) OPSTART"]; + rc => bsc [label="(TRANSC) OPSTART Ack"]; + rc <= bsc [label="(TRANSC) Change Adm State (Unlocked)"]; + rc => bsc [label="(TRANSC) Change Adm State Ack (Unlocked)"]; + rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/Dependency/Unlocked)"]; + |||; + chan <= bsc [label="(CHAN 0) Set Channel Attributes"]; + chan => bsc [label="(CHAN 0) Set Channel Attributes Ack"]; + chan <= bsc [label="(CHAN 0) OPSTART"]; + chan => bsc [label="(CHAN 0) OPSTART Ack"]; + chan <= bsc [label="(CHAN 0) Change Adm State (Unlocked)"]; + chan => bsc [label="(CHAN 0) Change Adm State Ack (Unlocked)"]; + chan => bsc [label="(CHAN 0) STATE CHG REP (Disabled/Dependency/Unlocked)"]; + ...; + chan <= bsc [label="(CHAN 7) Set Channel Attributes"]; + chan => bsc [label="(CHAN 7) Set Channel Attributes Ack"]; + chan <= bsc [label="(CHAN 7) OPSTART"]; + chan => bsc [label="(CHAN 7) OPSTART Ack"]; + chan <= bsc [label="(CHAN 7) Change Adm State (Unlocked)"]; + chan => bsc [label="(CHAN 7) Change Adm State Ack (Unlocked)"]; + chan => bsc [label="(CHAN 7) STATE CHG REP (Disabled/Dependency/Unlocked)"]; + |||; + rc <= bsc [label="(RC) Set Radio Carrier Attributes"]; + rc => bsc [label="(RC) Set Radio Carrier Attributes Ack"]; + rc <= bsc [label="(RC) OPSTART"]; + rc => bsc [label="(RC) OPSTART Ack"]; + rc <= bsc [label="(RC) Change Adm State (Unlocked)"]; + rc => bsc [label="(RC) Change Adm State Ack (Unlocked)"]; + rc => bsc [label="(RC) STATE CHG REP (Disabled/OK/Unlocked)"]; + rc => bsc [label="(RC) STATE CHG REP (Enabled)"]; + rc => bsc [label="(TRANSC) STATE CHG REP (Disabled/Offline)"]; + rc => bsc [label="(TRANSC) STATE CHG REP (Enabled/OK)"]; + |||; + chan => bsc [label="(CHAN 0) STATE CHG REP (Disabled/Offline)"]; + chan => bsc [label="(CHAN 0) STATE CHG REP (Enabled/OK)"]; + |||; + bts => bsc [label="(BTS) STATE CHG REP (Enabled/OK)"]; +} diff --git a/OsmoBTS/abis/oml.adoc b/OsmoBTS/abis/oml.adoc new file mode 100644 index 0000000..778a084 --- /dev/null +++ b/OsmoBTS/abis/oml.adoc @@ -0,0 +1,937 @@ +== Organization & Maintenance Link (OML) + +=== List of Messages + +The following tables list the OML messages used by OsmoBTS, grouped by their +level of compliance with 3GPP TS 12.21. + +==== Messages Compliant With TS 12.21 + +Specific limitations apply, see the linked sections. + +.Messages compliant with TS 12.21 +[options="header",cols="10%,10%,20%,35%,5%,20%"] +|=== +| TS 12.21 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoBTS +6+<| *SW Download Management Messages:* +| 8.3.7 | 0x10 | <<sw_act_rep>> | SW Activated Report | -> | Sent +6+<| *Air Interface Management Messages:* +.3+.| 8.6.1 | 0x41 .3+.| <<set_bts_attr>> | Set BTS Attributes | <- | Received + | 0x42 | Set BTS Attributes Ack | -> | Sent + | 0x43 | Set BTS Attributes Nack | -> | Sent +.3+.| 8.6.2 | 0x44 .3+.| <<set_radio_attr>> | Set Radio Carrier Attributes | <- | Received + | 0x45 | Set Radio Carrier Attributes Ack | -> | Sent + | 0x46 | Set Radio Carrier Attributes Nack | -> | Sent +.3+.| 8.6.3 | 0x47 .3+.| <<set_chan_attr>> | Set Channel Attributes | <- | Received + | 0x48 | Set Channel Attributes Ack | -> | Sent + | 0x49 | Set Channel Attributes Nack | -> | Sent +6+<| *State Management and Event Report Messages:* + | 8.8.1 | 0x61 | <<state_changed_rep>> | State Changed Event Report | -> | Sent +.3+.| 8.8.5 | 0x69 .3+.| <<chg_adm_state>> | Change Administrative State | <- | Received + | 0x6A | Change Administrative State Ack | -> | Sent + | 0x6B | Change Administrative State Nack | -> | Sent +6+<| *Equipment Management Messages:* +.3+.| 8.9.2 | 0x74 .3+.| <<opstart>> | Opstart | <- | Received + | 0x75 | Opstart Ack | -> | Sent + | 0x76 | Opstart Nack | -> | Sent +|=== + + +==== Messages Specific to OsmoBTS + +.Messages specific to OsmoBTS, not found in 3GPP TS 12.21 +[options="header"] +[options="header",cols="20%,55%,5%,20%"] +|=== +| This document § | Message | <-/-> | Received/Sent by OsmoBTS +| <<ipacc_set_attr>> | Set Attribute | <- | Received +|=== + + +==== Messages Not Implemented by OsmoBTS +.3GPP TS 12.21 messages not implemented by OsmoBTS +[options="header",cols="10%,10%,80%"] +|=== +| TS 12.21 § | type code (hex) | Message +3+<| *SW Download Management Messages:* +.3+.| 8.3.1 | 0x01 | Load Data Initiate + | 0x02 | Load Data Initiate Ack + | 0x03 | Load Data Initiate Nack +.2+.| 8.3.2 | 0x04 | Load Data Segment + | 0x05 | Load Data Segment Ack + | 8.3.3 | 0x06 | Load Data Abort +.3+.| 8.3.4 | 0x07 | Load Data End + | 0x08 | Load Data End Ack + | 0x09 | Load Data End Nack +.3+.| 8.3.5 | 0x0A | SW Activate Request + | 0x0B | SW Activate Request Ack + | 0x0C | SW Activate Request Nack +.3+.| 8.3.6 | 0x0D | Activate SW + | 0x0E | Activate SW Ack + | 0x0F | Activate SW Nack +3+<| *A-bis Interface Management Messages:* +.3+.| 8.4.1 | 0x21 | Establish TEI + | 0x22 | Establish TEI Ack + | 0x23 | Establish TEI Nack +.3+.| 8.4.2 | 0x24 | Connect Terrestrial Signalling + | 0x25 | Connect Terrestrial Signalling Ack + | 0x26 | Connect Terrestrial Signalling Nack +.3+.| 8.4.3 | 0x27 | Disconnect Terrestrial Signalling + | 0x28 | Disconnect Terrestrial Signalling Ack + | 0x29 | Disconnect Terrestrial Signalling Nack +.3+.| 8.4.4 | 0x2A | Connect Terrestrial Traffic + | 0x2B | Connect Terrestrial Traffic Ack + | 0x2C | Connect Terrestrial Traffic Nack +.3+.| 8.4.5 | 0x2D | Disconnect Terrestrial Traffic + | 0x2E | Disconnect Terrestrial Traffic Ack + | 0x2F | Disconnect Terrestrial Traffic Nack +3+<| *Transmission Management Messages:* +.3+.| 8.5.1 | 0x31 | Connect Multi-Drop Link + | 0x32 | Connect Multi-Drop Link Ack + | 0x33 | Connect Multi-Drop Link Nack +.3+.| 8.5.2 | 0x34 | Disconnect Multi-Drop Link + | 0x35 | Disconnect Multi-Drop Link Ack + | 0x36 | Disconnect Multi-Drop Link Nack +3+<| *Test Management Messages:* +.3+.| 8.7.1 | 0x51 | Perform Test + | 0x52 | Perform Test Ack + | 0x53 | Perform Test Nack +.3+.| 8.7.2 | 0x54 | Test Report + | 0x55 | Send Test Report + | 0x56 | Send Test Report Ack + | 8.7.3 | 0x57 | Send Test Report Nack +.3+.| 8.7.4 | 0x58 | Stop Test + | 0x59 | Stop Test Ack + | 0x5A | Stop Test Nack +3+<| *State Management and Event Report Messages:* + | 8.8.2 | 0x62 | Failure Event Report +.3+.| 8.8.3 | 0x63 | Stop Sending Event Reports + | 0x64 | Stop Sending Event Reports Ack + | 0x65 | Stop Sending Event Reports Nack +.3+.| 8.8.4 | 0x66 | Restart Sending Event Reports + | 0x67 | Restart Sending Event Reports Ack + | 0x68 | Restart Sending Event Reports Nack +.3+.| 8.8.6 | 0x6C | Change Administrative State Request + | 0x6D | Change Administrative State Request Ack + | 0x6E | Change Administrative State Request Nack +.3+.| 8.8.7 | 0x93 | Report Outstanding Alarms + | 0x94 | Report Outstanding Alarms Ack + | 0x95 | Report Outstanding Alarms Nack +3+<| *Equipment Management Messages:* +.3+.| 8.9.1 | 0x71 | Changeover + | 0x72 | Changeover Ack + | 0x73 | Changeover Nack +.3+.| 8.9.3 | 0x87 | Reinitialize + | 0x88 | Reinitialize Ack + | 0x89 | Reinitialize Nack +.3+.| 8.9.4 | 0x77 | Set Site Outputs + | 0x78 | Set Site Outputs Ack + | 0x79 | Set Site Outputs Nack +.3+.| 8.9.5 | 0x90 | Change HW Configuration + | 0x91 | Change HW Configuration Ack + | 0x92 | Change HW Configuration Nack +3+<| *Measurement Management Messages:* + | 8.10.1 | 0x8A | Measurement Result Request + | 8.10.2 | 0x8B | Measurement Result Response + | 8.10.3 | 0x8C | Stop Measurement + | 8.10.4 | 0x8D | Start Measurement +3+<| *Other Messages:* + | 8.11.1 | 0x81 | Get Attributes + | 8.11.3 | 0x82 | Get Attribute(s) Response + | 8.11.1 | 0x83 | Get Attributes Nack +.3+.| 8.11.2 | 0x84 | Set Alarm Threshold + | 0x85 | Set Alarm Threshold Ack + | 0x86 | Set Alarm Threshold Nack +|=== + + +=== Details on Compliant OML Messages + +[[sw_act_rep]] +==== SW Activated Report + +OsmoBTS will send an _SW Activated Report_ when RF has been activated +successfully. The message is compliant with 3GPP TS 12.21 § 8.3.7. + +Upon RF activation, two _SW Activated Report_ messages will be sent, for the Object Classes + +- Radio Carrier (0x02) +- Baseband Transceiver (0x04) + +[[set_bts_attr]] +==== Set BTS Attributes + +OsmoBTS will receive a _Set BTS Attributes_ message and reply with a +corresponding ACK message on success. IE handling is fully compliant to TS +12.21, except that a change of BCCH ARFCN or BSIC while in operation is not +supported, and hence the _Starting Time_ IE is rejected. + +._Set BTS Attributes_ IEs not handled by OsmoBTS +[options="header",cols="10%,30%,60%"] +|=== +| TS 12.21 § | IE Name | Handling +| 9.4.52 | Starting Time | not supported (provokes NACK cause 0x10) +|=== + + +[[set_radio_attr]] +==== Set Radio Carrier Attributes + +This message conforms to 3GPP TS 12.21, with the following limitation, +as frequency hopping is not supported by OsmoBTS: + +._Set Radio Carrier Attributes_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 12.21 § | IE Name | Handling +| 9.4.5 | ARFCN List | ignored +|=== + + +[[set_chan_attr]] +==== Set Channel Attributes + +This message conforms to 3GPP TS 12.21, with the following limitation: OpenBTS +does not support frequency hopping, and the following 3GPP TS 12.21 IEs provoke +a NACK response when sent to OsmoBTS, as frequency hopping is not +supported: + +._Set Channel Attributes_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 12.21 § | IE Name | Handling +| 9.4.21 | HSN | not supported (provokes NACK cause 0x10) +| 9.4.27 | MAIO | not supported (provokes NACK cause 0x10) +| 9.4.52 | Starting Time | not supported (provokes NACK cause 0x10) +|=== + +[[state_changed_rep]] +==== State Changed Event Report + +This message is compliant with 3GPP TS 12.21. Exactly these IEs are sent by +OsmoBTS: + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message Type (0xf5) | 3GPP TS 12.21 9.1 | M | V | 1 +| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 +| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 +| Operational State | 3GPP TS 12.21 9.4.38 | O | TV | 2 +| Availability Status | 3GPP TS 12.21 9.4.7 | O | TL16V (with length of 1) | 3 +|=== + +[[chg_adm_state]] +==== Change Administrative State + +This message is compliant with 3GPP TS 12.21 § 8.8.5. It applies to all of the +Objects Classes defined in 3GPP TS 12.21 § 9.2 as well as +<<addnl_obj_classes>>. + +[[opstart]] +==== Opstart + +This message is compliant with 3GPP TS 12.21 § 8.9.2. It applies to all of the +Objects Classes defined in 3GPP TS 12.21 § 9.2 as well as +<<addnl_obj_classes>>. + + +=== Details on OsmoBTS Specific Messages + +[[ipacc_set_attr]] +==== Set Attribute + +The message type is 0xf5. This message is sent to OsmoBTS to set +attributes on instances of managed objects of the non-standard +additional Object Classes (see <<addnl_obj_classes>>). + +The message specifics depend on the Object Class and are detailed in +<<addnl_obj_classes>>. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message Type (0xf5) | 3GPP TS 12.21 9.1 | M | V | 1 +| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 +| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 +5+<| _Object Class specific IEs follow, see <<addnl_obj_classes>>..._ +|=== + + +[[addnl_obj_classes]] +=== Additional Object Classes + +In addition to 3GPP TS 12.21 Chapter 9.2, the following managed objects +are supported: + +.Additional Managed Object Classes +[options="header"] +[cols="20%,20%,60%"] +|=== +| Value | Name | Description +| 0xf0 | GPRS NSE | GPRS-NS Entity +| 0xf1 | GPRS CELL | GPRS Cell Entity +| 0xf2 | GPRS NSVC | GPRS NS Virtual Circuit +|=== + +==== GPRS-NSE Managed Object + +There is one NS Entity per BTS. It supports the *Set Attribute* message +with the following Information Elements: + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message Type | 3GPP TS 12.21 9.1 | M | V | 1 +| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 +| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 +| GPRS NSEI | <<NM_ATT_IPACC_NSEI>> | O | TL16V | >= 5 +| GPRS NS Configuration | <<NM_ATT_IPACC_NS_LINK_CFG>> | O | TL16V | >= 10 +| GPRS BSSGP Configuration | <<NM_ATT_IPACC_BSSGP_CFG>> | O | TL16V | >= 14 +|=== + +==== GPRS Cell Managed Object + +There is one GPRS Cell entity per BTS. It supports the *Set Attribute* +message with the following Information Elements: + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message Type | 3GPP TS 12.21 9.1 | M | V | 1 +| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 +| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 +| GPRS Routing Area Code | <<NM_ATT_IPACC_RAC>> | O | TL16V | >= 4 +| GPRS Paging Configuration | <<NM_ATT_IPACC_GPRS_PAGING_CFG>> | O | TL16V | >= 5 +| GPRS RLC Configuration | <<NM_ATT_IPACC_RLC_CFG>> | O | TL16V | >= 12 +| GPRS Coding Schemes | <<NM_ATT_IPACC_CODING_SCHEMES>> | O | TL16V | >= 5 +| GPRS RLC Configuration 2 | <<NM_ATT_IPACC_RLC_CFG_2>> | O | TL16V | >= 8 +| GPRS RLC Configuration 3 | <<NM_ATT_IPACC_RLC_CFG_3>> | O | TL16V | >= 4 +|=== + +==== GPRS NS-VC Managed Object + +There are two GPRS NS-VC instances per BTS. It supports the *Set +Attribute* message with the following Information Elements: + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message Type | 3GPP TS 12.21 9.1 | M | V | 1 +| Object Class | 3GPP TS 12.21 9.2 | M | V | 1 +| Object Instance | 3GPP TS 12.21 9.3 | M | V | 3 +| GPRS NSVCI | <<NM_ATT_IPACC_NSVCI>> | O | TL16V | >= 5 +| GPRS NS Link Configuration | <<NM_ATT_IPACC_NS_LINK_CFG>> | O | TL16V | >= 11 +|=== + + +=== Information Elements Overview + +All of the IEs handled by OsmoBTS are listed below, with limitations and +additions to TS 12.21 specified in more detail. + +==== IEs Conforming to TS 12.21 + +The following Information Elements are accepted by OsmoBTS. Not all IEs are +actually evaluated. + +.IEs conforming to TS 12.21 +[options="header",cols="5%,10%,40%,5%,40%"] +|=== +| tag (hex) | TS 12.21 § | IE name | <-/-> | Received/Sent by OsmoBTS +| 0x00 | 9.4.1 | Abis Channel | | _ignored_ +| 0x01 | 9.4.2 | Additional Info | | _ignored_ +| 0x02 | 9.4.3 | Additional Text | | _ignored_ +| 0x03 | 9.4.4 | Administrative State | <- -> | Received & Sent +| 0x04 | 9.4.5 | ARFCN List | <- | Received, with exactly 1 ARFCN: see <<NM_ATT_ARFCN_LIST>>; + ignored by _Set Radio Attribute_ message (<<set_radio_attr>>) +| 0x05 | 9.4.6 | Autonomously Report | | _ignored_ +| 0x06 | 9.4.7 | Availability Status | -> | Sent +| 0x07 | 9.4.8 | BCCH ARFCN | <- | Received +| 0x08 | 9.4.9 | BSIC | <- | Received +| 0x09 | 9.4.10 | BTS Air Timer | <- | Received +| 0x0a | 9.4.11 | CCCH Load Indication Period | <- | Received +| 0x0b | 9.4.12 | CCCH Load Threshold | <- | Received +| 0x0c | 9.4.13 | Channel Combination | <- | Received, with additional channel combinations: see <<ie_chan_comb>> +| 0x0d | 9.4.14 | Connection Failure Criterion | <- | Received, with limitations see <<ie_conn_fail_crit>> +| 0x0e | 9.4.15 | Destination | | _ignored_ +| 0x0f | 9.4.16 | Event Type | | _ignored_ +| 0x11 | 9.4.17 | File Data | | _ignored_ +| 0x12 | 9.4.18 | File Id | | _ignored_ +| 0x13 | 9.4.19 | File Version | | _ignored_ +| 0x14 | 9.4.20 | GSM Time | | _ignored_ +| 0x16 | 9.4.22 | HW Configuration | | _ignored_ +| 0x18 | 9.4.24 | Intave Parameter | <- | _ignored_ +| 0x19 | 9.4.25 | Interference level Boundaries | <- | _ignored_ +| 0x1a | 9.4.26 | List of Required Attributes | | _ignored_ +| 0x1c | 9.4.28 | Manufacturer Dependent State | | _ignored_ +| 0x1d | 9.4.29 | Manufacturer Dependent Thresholds | | _ignored_ +| 0x1e | 9.4.30 | Manufacturer Id | | _ignored_ +| 0x1f | 9.4.31 | Max Timing Advance | <- | Received +| 0x20 | 9.4.34 | Multi-drop BSC Link | | _ignored_ +| 0x21 | 9.4.35 | Multi-drop next BTS Link | | _ignored_ +| 0x22 | 9.4.36 | Nack Causes | -> | Sent +| 0x23 | 9.4.37 | Ny1 | <- | Received +| 0x24 | 9.4.38 | Operational State | -> | Sent +| 0x25 | 9.4.39 | Overload Period | <- | _ignored_ +| 0x26 | 9.4.40 | Physical Config | | _ignored_ +| 0x27 | 9.4.41 | Power Class | | _ignored_ +| 0x28 | 9.4.42 | Power Output Thresholds | | _ignored_ +| 0x29 | 9.4.43 | Probable Cause | | _ignored_ +| 0x2a | 9.4.44 | RACH Busy Threshold | <- | Received +| 0x2b | 9.4.45 | RACH Load Averaging Slots | <- | _ignored_ +| 0x2c | 9.4.46 | Radio Sub Channel | | _ignored_ +| 0x2d | 9.4.47 | RF Max Power Reduction | <- | Received +| 0x2e | 9.4.48 | Site Inputs | | _ignored_ +| 0x2f | 9.4.49 | Site Outputs | | _ignored_ +| 0x30 | 9.4.50 | Source | | _ignored_ +| 0x31 | 9.4.51 | Specific Problems | | _ignored_ +| 0x33 | 9.4.53 | T200 | <- | _ignored_ (1s on DCCH, 2s on ACCH) +| 0x34 | 9.4.54 | TEI | | _ignored_ +| 0x35 | 9.4.55 | Test Duration | | _ignored_ +| 0x36 | 9.4.56 | Test No | | _ignored_ +| 0x37 | 9.4.57 | Test Report Info | | _ignored_ +| 0x38 | 9.4.58 | VSWR Thresholds | | _ignored_ +| 0x39 | 9.4.59 | Window Size | | _ignored_ +| 0x40 | 9.4.60 | TSC | <- | Received, with limitations: see <<NM_ATT_TSC>> +| 0x41 | 9.4.61 | SW Configuration | | _ignored_ +| 0x43 | 9.4.63 | Perceived Severity | | _ignored_ +| 0x44 | 9.4.64 | Get Attribute Response Info | | _ignored_ +| 0x45 | 9.4.65 | Outstanding Alarm Sequence | | _ignored_ +| 0x46 | 9.4.66 | HW Conf Change Info | | _ignored_ +| 0x47 | 9.4.32 | Measurement Result | | _ignored_ +|=== + +==== IEs Not Conforming to TS 12.21 + +.IEs not conforming to TS 12.21 +[options="header",cols="5%,10%,30%,55%"] +|=== +| tag (hex) | TS 12.21 § | IE name | Description +| 0x15 | 9.4.21 | HSN | presence causes NACK response +| 0x17 | 9.4.23 | HW Description | _ignored_ by OsmoBTS, but coding may differ, see <<ie_hw_desc>> +| 0x1b | 9.4.27 | MAIO | presence causes NACK response +| 0x32 | 9.4.52 | Starting Time | presence causes NACK response +| 0x42 | 9.4.62 | SW Description | not supported +| 0x48 | 9.4.33 | Measurement Type | not supported +|=== + + +==== Additional Attributes and Parameters + +The following Information Elements are defined in addition to those +specified in 3GPP TS 12.21 Chapter 9.4. + +All of these additional IEs are _received_ by OsmoBTS. + +The content of these attributes is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + +.Additional IEs handled by OsmoBTS but not defined in TS 12.21 +[options="header",cols="5%,50%,45%"] +|=== +| tag (hex) | IE name | Description +| 0x80 | RSL Destination IP Address | <<NM_ATT_IPACC_DST_IP>> +| 0x81 | RSL Destination TCP Port | <<NM_ATT_IPACC_DST_IP_PORT>> +| 0x85 | RSL IPA Stream ID | <<NM_ATT_IPACC_STREAM_ID>> +| 0x9a | GPRS Routing Area Code | <<NM_ATT_IPACC_RAC>> +| 0x9c | GPRS Paging Configuration | <<NM_ATT_IPACC_GPRS_PAGING_CFG>> +| 0x9d | GPRS NSEI | <<NM_ATT_IPACC_NSEI>> +| 0x9e | GPRS BVCI | <<NM_ATT_IPACC_BVCI>> +| 0x9f | GPRS NSVCI | <<NM_ATT_IPACC_NSVCI>> +| 0xa0 | GPRS NS Configuration | <<NM_ATT_IPACC_NS_CFG>> +| 0xa1 | GPRS BSSGP Configuration | <<NM_ATT_IPACC_BSSGP_CFG>> +| 0xa2 | GPRS NS Link Configuration | <<NM_ATT_IPACC_NS_LINK_CFG>> +| 0xa3 | GPRS RLC Configuration | <<NM_ATT_IPACC_RLC_CFG>> +| 0xa8 | GPRS Coding Schemes | <<NM_ATT_IPACC_CODING_SCHEMES>> +| 0xa9 | GPRS RLC Configuration 2 | <<NM_ATT_IPACC_RLC_CFG_2>> +| 0xac | GPRS RLC Configuration 3 | <<NM_ATT_IPACC_RLC_CFG_3>> +|=== + + +=== Details on IEs + +[[ie_hw_desc]] +==== HW Description + +TS 12.21 suggests a series of 5 length-value pairs for the _HW Description_ IE. +Instead, OsmoBTS interprets it as a single TL16V. The value of this IE is +ignored by OsmoBTS, yet the coding may affect message parsing. + +[width="40%",cols="90%,10%"] +[grid="none"] +|=== +| Attribute Identifier (0x17) | 1 +| Length | 2-3 +| Ignored | N +|=== + + +[[NM_ATT_ARFCN_LIST]] +==== ARFCN List + +Since OsmoBTS does not support frequency hopping, the _ARFCN List_ must contain +exactly one ARFCN. + +[[ie_chan_comb]] +==== Additional Channel Combinations + +In addition to 3GPP TS 12.21 Chapter 9.4.13, the following channel +combinations are supported: + +.Additional Channel Combinations +[options="header"] +[cols="10%,90%"] +|=== +| Value | Description +| 0x0b | Reserved for PBCCH + PCCCH + PDTCH/F + PACCH/F + PTCCH/F +| 0x0c | Reserved for PBCCH + PDTCH/F + PACCH/F + PTCCH/F +| 0x0d | PDTCH/F + PACCH/F + PTCCH/F +| 0x80 | Reserved for Dynamic TCH/F / PDCH +| 0x81 | Reserved for Dynamic TCH/F / TCH/H +|=== + +[[ie_conn_fail_crit]] +==== Connection Fail Criterion + +3GPP TS 12.21 Chapter 9.4.14 specifies two different options for the +_Connection Failure Criterion_. OsmoBTS only implements the option +coded as 0x01, i.e. based upon uplink SACCH error rate +(RADIO_LINK_TIMEOUT). + +[[NM_ATT_TSC]] +==== TSC + +Due to limitations in the currently supported PHY implementations, +OsmoBTS supports only one global TSC for all channels on one TRX, rather +than a separate TSC for each timeslot, as expected by 3GPP TS 12.21. + + +[[NM_ATT_IPACC_DST_IP]] +==== RSL Destination IP Address + +The value part of this attribute has a length of 4 octets and is encoded +as IPv4 address in network byte order. + +[width="40%",cols="90%,10%"] +[grid="none"] +|=== +| Attribute Identifier (0x80) | 1 +| IPv4 Address (MSB first) | 2-5 +|=== + + +[[NM_ATT_IPACC_DST_IP_PORT]] +==== RSL Destination TCP Port + +The value part of this attribute has a length of 2 octets and contains +the TCP destination port for the RSL connection, encoded in network byte +order. + +[width="40%",cols="90%,10%"] +[grid="none"] +|=== +| Attribute Identifier (0x81) | 1 +| Port number (MSB first) | 2-3 +|=== + + +[[NM_ATT_IPACC_STREAM_ID]] +==== RSL IPA Stream ID + +The value part of this attribute has a length of one octet and specifies +the IPA stream ID to be used for the RSL connection of this TRX. + +[width="40%",cols="90%,10%"] +[grid="none"] +|=== +| Attribute Identifier (0x85) | 1 +| Stream ID | 2 +|=== + + +[[NM_ATT_IPACC_RAC]] +==== GPRS Routing Area Code + +The value part of the GPRS Routing Area code consist of a single octet +encoding the GPRS Routing Area Code. + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_GPRS_PAGING_CFG]] +==== GPRS Paging Configuration + +The value part of this attribute consists of two octets encoded as +follows: + +[options="header"] +[cols="10%,90%"] +|=== +| Offset | Description +| 0 | GPRS Paging repeat time in units of 50ms intervals +| 1 | GPRS Paging repeat count +|=== + + +[[NM_ATT_IPACC_NSEI]] +==== GPRS NSEI + +The value part of the GPRS NSEI is encoded as 16bit integer value in +network byte order. + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_BVCI]] +==== GPRS BVCI + +The value part of this attribute consists of two octets encoding the +BSSGP Virtual Circuit Identifier (BVCI) as unsigned 16 bit integer in +network byte order. + + +[[NM_ATT_IPACC_NSVCI]] +==== GPRS NSVCI + +The value part of the GPRS NSVCI attribute is a 16bit unsigned integer +in network byte order, encoding the GPRS NSVCI as specified in 3GPP TS +08.16. + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_NS_CFG]] +==== GPRS NS Configuration + +The value part of the GPRS NS Configuration consist of an array of 7 octets, each +describing one GPRS NS related timer: + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_BSSGP_CFG]] +==== GPRS BSSGP Configuration + +The value part of the GPRS BSSGP configuration consists of an array of +11 octets, each describing one GPRS BSSGP related timer: + +[options="header"] +[cols="10%,90%"] +|=== +| Offset | Description +| 0 | Blocking Timer (T1) +| 1 | Blocking Retries +| 2 | Unblocking Retries +| 3 | Reset Timer (T2) +| 4 | Reset Retries +| 5 | Suspend Timer (T3) in units of 100ms +| 6 | Suspend Retries +| 7 | Resume Timer (T4) in units of 100ms +| 8 | Resume Retries +| 9 | Capability Update Timer (T5) +| 10 | Capability Update Retries +|=== + +The detailed description of the meaning of those timers is given in the +GPRS BSSGP specification 3GPP TS 08.18. + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_NS_LINK_CFG]] +==== GPRS NS Link Configuration + +The content of this attribute is 8 octets long and encoded as follows: +[options="header"] +[cols="10%,10%,80%"] +|=== +| Offset | Length | Description +| 0 | 2 | GPRS-NS Remote UDP Port Number (SGSN side) +| 2 | 4 | GPRS-NS Remote IPv4 Address (SGSN side) +| 6 | 2 | GPRS-NS Local UDP Port Number (BTS side) +|=== + +All values are encoded in network byte order. + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_RLC_CFG]] +==== GPRS RLC Configuration + +The value part of the GPRS RLC Configuration consists of an array of 9 +octets, each describing a RLC timer: + +[options="header"] +[width="60%",cols="10%,80%,10%"] +|=== +| Offset | Description | Unit +| 0 | GPRS RLC Timer T3142 | s +| 1 | GPRS RLC Timer T3169 | s +| 2 | GPRS RLC Timer T3191 | s +| 3 | GPRS RLC Timer T3193 | 10ms +| 4 | GPRS RLC Timer T3195 | s +| 5 | GPRS RLC Timer T3101 | s +| 6 | GPRS RLC Timer T3103 | s +| 7 | GPRS RLC Timer T3105 | s +| 8 | GPRS RLC CV Countdown | - +|=== + +The meaning of the RLC timers are specified in 3GPP TS 04.60. + +The countdown value specifies the RLC CV value from which the countdown +procedure is started. + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_CODING_SCHEMES]] +==== GPRS Coding Schemes + +The value part of the GPRS Coding Schemes consists of two octets +encoding the available GPRS and EDGE coding schemes. + +[options="header"] +|=== +| *bit* | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 +| byte at offset 0 | MCS9 | x | x | x | CS4 | CS3 | CS2 | CS1 +| byte at offset 1 | MCS8 | MCS7| MCS6 | MCS5 | MCS4| MCS3 | MCS2 | MCS1 +|=== + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_RLC_CFG_2]] +==== GPRS RLC Configuration 2 + +The value part of this attribute is 8 octets long and encoded as +follows: +[options="header"] +[width="60%",cols="10%,10%,70%,10%"] +|=== +| Offset | Length | Description | Unit +| 0 | 2 | Downlink TBF Extension Timer | 10ms +| 2 | 2 | Uplink TBF Extension Timer | 10ms +| 4 | 2 | Initial GPRS Coding Scheme | - +|=== + +The Initial GPRS Coding Scheme is encoded as follows: +[options="header"] +[width="40%",cols="50%,50%"] +|=== +| Value | Description +| 1 | CS 1 +| 2 | CS 2 +| 3 | CS 3 +| 4 | CS 4 +|=== + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + + +[[NM_ATT_IPACC_RLC_CFG_3]] +==== GPRS RLC Configuration 3 + +The content of this attribute contains information about the initial MCS +used for new EDGE TBFs. + +It is encoded as follows: +[options="header"] +[width="40%",cols="50%,50%"] +|=== +| Value | Description +| 1 | MCS 1 +| 2 | MCS 2 +| 3 | MCS 3 +| 4 | MCS 4 +| 5 | MCS 5 +| 6 | MCS 6 +| 7 | MCS 7 +| 8 | MCS 8 +| 9 | MCS 9 +|=== + +The content of this attribute is not used by OsmoBTS, but +simply passed to OsmoPCU connected to the PCU socket. + +=== A-bis OML Initialization / BTS bring-up + +At the time an Abis/IP BTS connects to via OML to the BSC, it is +initialized according to the procedures described in 3GPP TS 12.21 as +amended in this document. + +Each Managed Object (MO) is separately initialized. The initialization +sequence and parameters differ slightly depending on the MO involved. + +Some parts of the sequences described below are optional, such as the +Software activation. In the OsmoBTS case, the software is nod modular +and thus all MOs start with the software fully activated. Thus, no +__Software Activate Request__ is being sent by the MO to the BSC, nor +does the BSC need to initialize the __Activate Software__ procedure. + +Still, the full sequences are shown in order to explain the Abis/IP +protocol. + +Also, the initial state of the MOs at time of OML connection +initialization is not always guaranteed to be Disabled/Notinstalled. +Rather, the BSC implementation has to deal with the initial state as +reported by the MOs at time of re-connection. + +==== Site Manager MO Initialization + +.A-bis OML Initialization of Site Manager MO +["mscgen"] +---- +include::oml-mo-sitemgr.msc[] +---- + +As the Site Manager MO does not depend on other MOs, nor does it have an +Administrative state (__Locked/Unlocked__), it immediately ends up in the +__Enabled__ state. + +==== BTS MO Initialization + +.A-bis OML Initialization of BTS MO +["mscgen"] +---- +include::oml-mo-bts.msc[] +---- + +As can be seen in the BTS MO, its state is + +* Availability state __Dependency__, meaning it depends on other MOs to + be initialized before becoming enabled. +* Administrative state __Locked__, as the object is first waiting to + receive attributes in the __Locked__ state, before the __Change + Administrative State (Unlocked)__ procedure is used to request + transitioning into Unlocked state. + +==== Baseband Transceiver MO Initialization + +.A-bis OML Initialization of Baseband Transceiver MO +["mscgen"] +---- +include::oml-mo-transceiver.msc[] +---- + +There is one Baseband Transceiver MO per TRX in the BTS. For a +multi-TRX BTS, the above procedure must be repeated for each TRX. + + +==== Radio Carrier MO Initialization + +.A-bis OML Initialization of Radio Carrier MO +["mscgen"] +---- +include::oml-mo-carrier.msc[] +---- + +There is one Radio Carrier MO per TRX in the BTS. For a multi-TRX BTS, +the above procedure must be repeated for each TRX. + + +==== Channel MO Initialization + +.A-bis OML Initialization of Radio Carrier MO +["mscgen"] +---- +include::oml-mo-channel.msc[] +---- + +There are 8 Timeslots in each TRX, and correspondingly 8 Channel MOs in +every TRX. The above procedure must thus be repeated for each timeslot +in each transceiver of the BTS. + + +==== Full Initialization of entire BTS + +Some of the steps are optional, as is their detailed ordering. In +reality, the procedures for different MOs may overlap. The message +sequence charts in this document have been hand-crafted to avoid such +overlap for the sake of clarity. + +[[oml-msc-1]] +.A-bis OML BTS bring-up (1/3) +["mscgen"] +---- +include::oml-startup.msc[] +---- + +As can be seen in <<oml-msc-1>>, after the OML TCP connection is +established + +. the identity is exchanged via IPA CCM, +. the BTS sends an 'OML EVENT STATE CHANGED REPORT' for every + Managed Object +. the BTS subsequently requests the activation of its 'Site Manager' Object + which the BSC performs by the 'Activate SW' command. +. After successful activation of the software in the Site Manager, +.. the state changes to 'Enabled', and an event report is generated + accordingly +.. the BSC is notified about the SW activation in an associated report +. Finally, the BSC requests the start of the Site Manager +.. using the 'OPSTART' command, +.. which is subsequently acknowledged by the Site Manager. + +[[oml-msc-2]] +.A-bis OML BTS bring-up (2/3) +["mscgen"] +---- +include::oml-startup2.msc[] +---- + +[[oml-msc-3]] +.A-bis OML BTS bring-up (3/3) +["mscgen"] +---- +include::oml-startup3.msc[] +---- + +In <<oml-msc-2>>, we can see + +. Software Activation and associated state transitions of the BTS MO +. Setting of the BTS Attributes followed by OPSTART +. Software Activation and associated state transitions of the 'Baseband + Transceiver' MO +. Software Activation and associated state transitions of the 'Radio + Carrier' MO +. Once the 'Baseband Transceiver' MO has its software activated, the + 'Channel' MOs (one for each timeslot) indicate their state change and + software activation, too. + +In <<oml-msc-3>>, we can see + +. The 'Radio Carrier' MO Software Activation +. The Request to the 'Baseband Transceiver' MO to establish the RSL + signalling connection to the BSC. +. Subsequent OPSTART and Change of Administrative State on the 'Baseband + Transceiver' MO +. The following procedure for each of the 'Channel' MOs: +.. Setting the Channel Attributes (such as channel combination) +.. OPSTART +.. Changing the Administrative State to Unlocked +.. Subsequent State Change Event Report with the new state +. After all 'Channel' MOs are initialized, the Radio Carrier goes through + a similar procedure of +.. Setting its attributes +.. OPSTART +.. Changing its Administrative State to Unlocked +.. Subsequent State Change Event Report with the new State (Enabled/OK) +. All 'Channel' MOs now also report their state as Enabled/OK +. Finally, the BTS reports its state as Enabled/OK + diff --git a/OsmoBTS/abis/rsl-startup-pri.msc b/OsmoBTS/abis/rsl-startup-pri.msc new file mode 100644 index 0000000..a4798df --- /dev/null +++ b/OsmoBTS/abis/rsl-startup-pri.msc @@ -0,0 +1,22 @@ +msc { + bts [label="TRX"], bsc [label="BSC"]; + + bts => bsc [label="TCP Connect (Port 3003, RSL)"]; + bts box bsc [label="IPA CCM Identification (Port 3003)"]; + |||; + + bts <= bsc [label="BCCH Information (SI1)"]; + bts <= bsc [label="BCCH Information (SI2)"]; + ...; + bts <= bsc [label="BCCH Information (SI3)"]; + bts <= bsc [label="BCCH Information (SI4)"]; + |||; + bts <= bsc [label="SACCH FILLING (SI5)"]; + ...; + bts <= bsc [label="SACCH FILLING (SI6)"]; + |||; + bts => bsc [label="RF Resource Indication"]; + ...; + bts => bsc [label="RF Resource Indication"]; + ...; +} diff --git a/OsmoBTS/abis/rsl-startup-sec.msc b/OsmoBTS/abis/rsl-startup-sec.msc new file mode 100644 index 0000000..d961412 --- /dev/null +++ b/OsmoBTS/abis/rsl-startup-sec.msc @@ -0,0 +1,16 @@ +msc { + bts [label="TRX"], bsc [label="BSC"]; + + bts => bsc [label="TCP Connect (Port 3003, RSL)"]; + bts box bsc [label="IPA CCM Identification (Port 3003)"]; + |||; + + bts <= bsc [label="SACCH FILLING (SI5)"]; + ...; + bts <= bsc [label="SACCH FILLING (SI6)"]; + |||; + bts => bsc [label="RF Resource Indication"]; + ...; + bts => bsc [label="RF Resource Indication"]; + ...; +} diff --git a/OsmoBTS/abis/rsl-tch-rtp.msc b/OsmoBTS/abis/rsl-tch-rtp.msc new file mode 100644 index 0000000..55228b4 --- /dev/null +++ b/OsmoBTS/abis/rsl-tch-rtp.msc @@ -0,0 +1,56 @@ +msc { + hscale = 2; + + ms [label="MS"], bts [label="BTS"], bsc [label="BSC"], Msc [label="MSC"], mgw [label="MGW"]; + + ms => bts [label="L1 RACH burst"]; + bts => bsc [label="RSL CHAN RQD"]; + bts <= bsc [label="RSL CHAN ACT"]; + bts => bsc [label="RSL CHAN ACT ACK"]; + bts <= bsc [label="RSL IMM ASS CMD (RR IMM ASS)"]; + ms <= bts [label="RR IMMEDIATE ASSIGN"]; + ms => bts [label="LAPDm SABM (CM SERVICE REQ)"]; + ms <= bts [label="LAPDm FIXME"]; + bts => bsc [label="RSL ESTABLISH IND (CM SERVICE REQ)"]; + bsc => Msc [label="CR (BSSAP COMPLETE L3 (CM SERVICE REQ))"]; + ...; + ms box Msc [label="MM Common Procedures (INFO, ID, AUTH, CIPH)"]; + ...; + ms => bts [label="CC SETUP"]; + bts => bsc [label="RSL DATA IND (CC SETUP)"]; + bsc => Msc [label="DT1 (DTAP (CC SETUP))"]; + ...; + ms box Msc [label="CC Signalling"]; + ...; + bsc <= Msc [label="BSSAP ASSIGNMENT CMD (TCH)"]; + bts <= bsc [label="RSL IPA CRCX", id="1"]; + bts => bsc [label="RSL IPA CRCX ACK (IP/Port @ BTS)"]; + bsc => Msc [label="FIXME"]; + Msc => mgw [label="FIXME"]; + bts <- mgw [label="Start RTP + RTCP UDP Flows"]; + + bts <= bsc [label="RSL DATA REQ (RR CHAN MOD MODIFY)"]; + ms <= bts [label="RR CHAN MOD MODIFY"]; + ms => bts [label="RR CHAN MOD MODIFY ACK"]; + bts => bsc [label="RSL DATA IND (RR CHAN MOD MODIFY ACK)"]; + |||; + bts <= bsc [label="RSL MODE MODIFY REQ"]; + bts => bsc [label="RSL MODE MODIFY ACK"]; + + Msc <= mgw [label="FIXME"]; + bsc <= Msc [label="FIXME"]; + bts <= bsc [label="RSL IPA MDCX (IP/Port @ MGW)", id="2"]; + bts => bsc [label="RSL IPA MDCX ACK"]; + + bts -> mgw [label="Start RTP + RTCP UDP Flows"]; + ms box mgw [label="Active Voice Call"]; + bts => bsc [label="RSL MEAS RES"]; + ...; + + bts <= bsc [label="RSL IPA DLCX"]; + bts => bsc [label="RSL IPA DLCX ACK"]; + bts -x mgw [label="Stop RTP + RTCP UDP Flows"]; + + bts <= bsc [label="RSL RF CHAN REL"]; + bts => bsc [label="RSL RF CHAN REL ACK"]; +} diff --git a/OsmoBTS/abis/rsl.adoc b/OsmoBTS/abis/rsl.adoc new file mode 100644 index 0000000..e157b25 --- /dev/null +++ b/OsmoBTS/abis/rsl.adoc @@ -0,0 +1,681 @@ +== Radio Signalling Link (RSL) + +=== List of Messages + +The following tables list the RSL messages used by OsmoBTS A-bis/IP, +grouped by their level of compliance with 3GPP TS 08.58. + +==== Messages Compliant With TS 08.58 + +Specific limitations apply, see the linked sections. + +.Messages compliant with TS 08.58 +[options="header",cols="10%,20%,45%,5%,20%"] +|=== +| TS 08.58 § | This document § | Message | <-/-> | Received/Sent by OsmoBTS +5+<| *Radio link layer management messages* +| 8.3.1 | - | DATA REQUEST | <- | Received +| 8.3.2 | - | DATA INDICATION | -> | Sent +| 8.3.3 | - | ERROR INDICATION | -> | Sent +| 8.3.4 | - | ESTABLISH REQUEST | <- | Received +| 8.3.5 | - | ESTABLISH CONFIRM | -> | Sent +| 8.3.6 | - | ESTABLISH INDICATION | -> | Sent +| 8.3.7 | - | RELEASE REQUEST | <- | Received +| 8.3.8 | - | RELEASE CONFIRM | -> | Sent +| 8.3.9 | - | RELEASE INDICATION | -> | Sent +| 8.3.10 | - | UNIT DATA REQUEST | <- | Received +| 8.3.11 | - | UNIT DATA INDICATION | -> | Sent +5+<| *DEDICATED CHANNEL MANAGEMENT MESSAGES* +| 8.4.1 | - | CHANNEL ACTIVATION | <- | Received +| 8.4.2 | - | CHANNEL ACTIVATION ACKNOWLEDGE | -> | Sent +| 8.4.3 | - | CHANNEL ACTIVATION NEGATIVE ACKNOWLEDGE | -> | Sent +| 8.4.4 | - | CONNECTION FAILURE INDICATION | -> | Sent +| 8.4.5 | - | DEACTIVATE SACCH | <- | Received +| 8.4.6 | - | ENCRYPTION COMMAND | <- | Received +| 8.4.7 | - | HANDOVER DETECTION | -> | Sent +| 8.4.8 | <<MEASUREMENT_RESULT>> | MEASUREMENT RESULT | -> | Sent +| 8.4.9 | <<MODE_MODIFY>> | MODE MODIFY | <- | Received +| 8.4.10 | - | MODE MODIFY ACKNOWLEDGE | -> | Sent +| 8.4.11 | - | MODE MODIFY NEGATIVE ACKNOWLEDGE | -> | Sent +| 8.4.14 | - | RF CHANNEL RELEASE | <- | Received +| 8.4.15 | <<MS_POWER_CONTROL>> | MS POWER CONTROL | <- | Received +| 8.4.19 | - | RF CHANNEL RELEASE ACKNOWLEDGE | -> | Sent +| 8.4.20 | <<SACCH_INFO_MODIFY>> | SACCH INFO MODIFY | <- | Received +5+<| *COMMON CHANNEL MANAGEMENT MESSAGES* +| 8.5.1 | <<BCCH_INFORMATION>> | BCCH INFORMATION | <- | Received +| 8.5.2 | - | CCCH LOAD INDICATION | -> | Sent +| 8.5.3 | <<CHANNEL_REQUIRED>> | CHANNEL REQUIRED | -> | Sent +| 8.5.5 | <<PAGING_COMMAND>> | PAGING COMMAND | <- | Received +| 8.5.6 | - | IMMEDIATE ASSIGN COMMAND | <- | Received +| 8.5.8 | <<SMS_BROADCAST_COMMAND>> | SMS BROADCAST COMMAND | <- | Received +5+<| *TRX MANAGEMENT MESSAGES* +| 8.6.1 | <<RF_RESOURCE_INDICATION>> | RF RESOURCE INDICATION | -> | Sent +| 8.6.2 | <<SACCH_FILLING>> | SACCH FILLING | <- | Received +| 8.6.4 | - | ERROR REPORT | -> | Sent +|=== + +==== Messages Specific to OsmoBTS + +.Messages specific to OsmoBTS, not found in 3GPP TS 08.58 +[options="header",cols="15%,15%,45%,5%,20%"] +|=== +2+| This document § | Message | <-/-> | Received/Sent by OsmoBTS +5+<| *User Plane Transport Management* (<<user_plane_txp_mgmt>>) +.3+.| <<rsl_crcx>> | <<rsl_crcx_msg>> | RSL Create Connection (CRCX) | <- | Received + | <<rsl_crcx_msg_ack>> | RSL Create Connection (CRCX) ACK | -> | Sent + | <<rsl_crcx_msg_nack>> | RSL Create Connection (CRCX) NACK | -> | Sent +.3+.| <<rsl_mdcx>> | <<rsl_mdcx_msg>> | RSL Modify Connection (MDCX) | <- | Received + | <<rsl_mdcx_msg_ack>> | RSL Modify Connection (MDCX) ACK | -> | Sent + | <<rsl_mdcx_msg_nack>> | RSL Modify Connection (MDCX) NACK | -> | Sent +.3+.| <<rsl_dlcx>> | <<rsl_dlcx_msg>> | RSL Delete Connection (DLCX) | <- | Received + | <<rsl_dlcx_msg_ack>> | RSL Delete Connection (DLCX) ACK | -> | Sent + | <<rsl_dlcx_msg_nack>> | RSL Delete Connection (DLCX) NACK | -> | Sent + | <<rsl_dlcx_ind>> | <<rsl_dlcx_ind_msg>> | RSL Delete Connection (DLCX) Indication | -> | Sent +|=== + +==== Messages Not Implemented by OsmoBTS + +.3GPP TS 08.58 messages not implemented by OsmoBTS +[options="header",cols="10%,90%"] +|=== +| TS 08.58 § | Message +2+<| *DEDICATED CHANNEL MANAGEMENT MESSAGES* +| 8.4.12 | PHYSICAL CONTEXT REQUEST +| 8.4.13 | PHYSICAL CONTEXT CONFIRM +| 8.4.16 | BS POWER CONTROL +| 8.4.17 | PREPROCESS CONFIGURE +| 8.4.18 | PREPROCESSED MEASUREMENT RESULT +| 8.4.21 | TALKER DETECTION +| 8.4.22 | LISTENER DETECTION +| 8.4.23 | REMOTE CODEC CONFIGURATION REPORT +| 8.4.24 | ROUND TRIP DELAY REPORT +| 8.4.25 | PRE-HANDOVER NOTIFICATION +| 8.4.26 | MULTIRATE CODEC MODIFICATION REQUEST +| 8.4.27 | MULTIRATE CODEC MODIFICATION ACKNOLEWDGE +| 8.4.28 | MULTIRATE CODEC MODIFICATION NEGATIVE ACKNOWLEDGE +| 8.4.29 | MULTIRATE CODEC MODIFICATION PERFORMED +| 8.4.30 | TFO REPORT +| 8.4.31 | TFO MODIFICATION REQUEST +2+<| *COMMON CHANNEL MANAGEMENT MESSAGES* +| 8.5.4 | DELETE INDICATION +| 8.5.7 | SMS BROADCAST REQUEST +| 8.5.9 | CBCH LOAD INDICATION +| 8.5.10 | NOTIFICATION COMMAND +2+<| *TRX MANAGEMENT MESSAGES* +| 8.6.3 | OVERLOAD +2+<| *LOCATION SERVICES MESSAGES* +| 8.7.1 | LOCATION INFORMATION +|=== + + +=== Message Limitation Details + +[[MEASUREMENT_RESULT]] +==== Measurement Result + +Conforms to 3GPP TS 08.58 § 8.4.8 with this limitation: + +._Measuremet Result_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.37 | MS Timing Offset | never sent by OsmoBTS +|=== + +[[MODE_MODIFY]] +==== Mode Modify + +Conforms to 3GPP TS 08.58 § 8.4.9 with these limitations: + +._Mode Modify_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.45 | Main channel reference | _ignored_ +| 9.3.53 | MultiRate Control | _ignored_ +| 9.3.54 | Supported Codec Types | _ignored_ +|=== + +[[MS_POWER_CONTROL]] +==== MS Power Control + +Conforms to 3GPP TS 08.58 § 8.4.15 with these limitations: + +._MS Power Control_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.31 | MS Power Parameters | _ignored_ +|=== + + +[[SACCH_INFO_MODIFY]] +==== SACCH Info Modify + +Conforms to 3GPP TS 08.58 § 8.4.20, with these exceptions: + +._SACCH Info Modify_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.30 | System Info Type | See below for available types +| 9.3.23 | Starting Time | not supported, provokes an _Error Report_ response +|=== + +._System Info Type_ values that can occur on the SACCH +[options="header",width="50%",cols="20%,80%"] +|=== +| Value | Name +| 0x05 | RSL_SYSTEM_INFO_5 +| 0x06 | RSL_SYSTEM_INFO_6 +| 0x0d | RSL_SYSTEM_INFO_5bis +| 0x0e | RSL_SYSTEM_INFO_5ter +| 0x47 | RSL_EXT_MEAS_ORDER +| 0x48 | RSL_MEAS_INFO +|=== + +[[BCCH_INFORMATION]] +==== BCCH Information + +Conforms to 3GPP TS 08.58 § 8.5.1, with these limitations and extensions: + +._BCCH Information_ IE details +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.30 | System Info Type | See <<SACCH_INFO_MODIFY>> for available types +| 9.3.11 | L3 Info | This IE may be included instead of a 9.3.39 _Full BCCH Info_ IE. + The _Full BCCH Info_ takes precedence over _L3 Info_. + To stop SI transmission, both of these IEs must be omitted. +|=== + + +[[CHANNEL_REQUIRED]] +==== Channel Required + +Conforms to 3GPP TS 08.58 § 8.5.3, with these limitations: + +._Channel Required_ message IE details +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.16 | Physical Context | never sent by OsmoBTS +|=== + + +[[PAGING_COMMAND]] +==== Paging Command + +Conforms to 3GPP TS 08.58 § 8.5.5, with these limitations: + +._Paging Command_ message IE details +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.49 | eMLPP Priority | _ignored_ +|=== + +NOTE: If adding the identity to the paging queue fails, the BSC is not notified +in any way. + +[[SMS_BROADCAST_COMMAND]] +=== SMS Broadcast Command + +Conforms to 3GPP TS 08.58 § 8.5.8, with these limitations: + +._Broadcast Command_ message IE details +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.44 | SMSCB Channel Indicator | _ignored_ +|=== + + +[[RF_RESOURCE_INDICATION]] +==== RF Resource Indication + +This message does not conform to 3GPP TS 08.58 § 8.6.1, in that it omits the +_Resource Information_ IE that would contain the actual payload data, which +renders this message void. + +._RF Resource Indication_ message IE exceptions +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 08.58 + specifies it as mandatory. +|=== + + +[[SACCH_FILLING]] +==== SACCH Filling + +Conforms to 3GPP TS 08.58 § 8.6.2, with these limitations: + +._SACCH Filling_ message IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.58 § | IE Name | Handling +| 9.3.30 | System Info Type | See <<SACCH_INFO_MODIFY>> for available types +| 9.3.23 | Starting Time | _ignored_ +|=== + + +[[user_plane_txp_mgmt]] +=== User Plane Transport Management + +This chapter defines the A-bis/IP specific RSL procedures that are +introduced in addition to the 3GPP TS 08.58 standard procedures. + +In classic A-bis over E1, user plane traffic is carried over 16kBps +sub-slots of 64kBps E1 time-slots according to ETSI/3GPP TS 08.60. As +the E1 line is a dedicated line between BTS and BSC, no further +addressing information is required. + +In A-bis/IP as described by the present document, new RSL procedures +have been introduced in order to deal with the different properties of +the underlying IP based transport medium. + +[[rsl_crcx]] +==== RSL Create Connection (CRCX) + +This procedure is used by the BSC to request the BTS to allocate + bind +to a BTS-local UDP port for the subsequent transmission of user-plane +data via RTP. + +To do so, the BSC sends the *Create Connection (CRCX)* message. In case of +successful outcome, the BTS responds with *Create Connection (CRCX) +ACK*. In case of any error, the BTS responds with *Create Connection +(CRCX) NACK*. + +See <<rsl_crcx_msg>>, <<rsl_crcx_msg_ack>>, <<rsl_crcx_msg_nack>> + +[[rsl_mdcx]] +==== RSL Modify Connection (MDCX) + +This procedure is used by the BSC to request the BTS to modify an +already-bound BTS-local UDP port for user-plane RTP. It is used in +particular to configure the remote IP address and UDP port to which the +BTS shall send user-plane RTP traffic. This remote address is normally +either a Media Gateway (MGW) of some sort, but could also be the RTP +socket of the corresponding other leg of a mobile-to-mobile call. + +To modify a user-plane connection, the BSC sends the *Modify Connection* +message. In case of successful outcome, the BTS responds with +*Modify Connection (MDCX) ACK*. In case of any error, the BTS responds +with *Modify Connection (MDCX) NACK*. + +See <<rsl_mdcx_msg>>, <<rsl_mdcx_msg_ack>>, <<rsl_mdcx_msg_nack>> + +[[rsl_dlcx]] +==== RSL Delete Connection (DLCX) + +This procedure is used by the BSC to request the BTS to delete an +already-existing BTS-local UDP port for user-plane RTP. + +To delete a user-plane connection, the BSC sends the *Delete Connection +(DLCX)* message. In case of successful outcome, the BTS responds with +*Delete Connection (DLCX) ACK*. In case of any error, the BTS responds +with *Delete Connection (DLCX) NACK*. + +See <<rsl_dlcx_msg>>, <<rsl_dlcx_msg_ack>>, <<rsl_dlcx_msg_nack>> + +[[rsl_dlcx_ind]] +==== RSL Delete Connection (DLCX) Indication + +When a BTS-local UDP connection for user-plane RTP is automatically +released at the time of RF CHANNEL RELEASE, the BTS sends a unilateral, +non-acknowledged *RSL Delete Connection (DLCX) Indication* to the BSC. + +See <<rsl_dlcx_ind_msg>> + + +=== Message Formats and Contents + +[[rsl_crcx_msg]] +==== Create Connection (CRCX) + +This message is sent by the BSC to the BTS in order to request the +creation of a user-plane RTP connection for the specified *Channel +number*. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Destination IP Address | <<RSL_IE_IPAC_REMOTE_IP>> | O | TV | 5 +| Destination IP Port | <<RSL_IE_IPAC_REMOTE_PORT>> | O | TV | 3 +| IP Speech Mode | <<RSL_IE_IPAC_SPEECH_MODE>> | O | TV | 2 +| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 +|=== + +[[rsl_crcx_msg_ack]] +==== Create Connection (CRCX) ACK + +This message is sent by the BTS to the BSC in order to acknowledge the +successful outcome of creating a user-plane RTP connection. It is sent +in response to the *Create Connection (CRCX)*. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | M | TV | 3 +| Source IP Address | <<RSL_IE_IPAC_LOCAL_IP>> | O | TV | 5 +| Source IP Port | <<RSL_IE_IPAC_LOCAL_PORT>> | O | TV | 3 +| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 +|=== + +[[rsl_crcx_msg_nack]] +==== Create Connection (CRCX) NACK + +This message is sent by the BTS to the BSC in order to signal the +unsuccessful outcome of creating a user-plane RTP connection. It is +sent in response to the *Create Connection (CRCX)*. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Destination IP Address | <<RSL_IE_IPAC_REMOTE_IP>> | O | TV | 5 +| Destination IP Port | <<RSL_IE_IPAC_REMOTE_PORT>> | O | TV | 3 +| Cause | 08.58 9.3.26 | O | TLV | >= 3 +|=== + + +[[rsl_mdcx_msg]] +==== Modify Connection (MDCX) + +This message is sent by the BSC to the BTS in order to modify the +properties of a user-plane RTP connection. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 +| Destination IP Address | <<RSL_IE_IPAC_REMOTE_IP>> | O | TV | 5 +| Destination IP Port | <<RSL_IE_IPAC_REMOTE_PORT>> | O | TV | 3 +| IP Speech Mode | <<RSL_IE_IPAC_SPEECH_MODE>> | O | TV | 2 +| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 +|=== + +[[rsl_mdcx_msg_ack]] +==== Modify Connection (MDCX) ACK + +This message is sent by the BTS to the BSC in order to acknowledge the +successful modification of a user-plane RTP connection. It is sent in +response to a *Modify Connection (MDCX)* + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 +| Source IP Address | <<RSL_IE_IPAC_LOCAL_IP>> | C | TV | 5 +| Source IP Port | <<RSL_IE_IPAC_LOCAL_PORT>> | C | TV | 3 +| RTP Payload Type 2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> | O | TV | 2 +|=== + +[[rsl_mdcx_msg_nack]] +==== Modify Connection (MDCX) NACK + +This message is sent by the BTS to the BSC in order to signal the +unsuccessful outcome of modifying the user-plane RTP connection for the +specified Channel number. It is sent in response to the *Modify +Connection (MDCX)*. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Cause | 08.58 9.3.26 | M | TLV | >= 3 +|=== + +[[rsl_dlcx_ind_msg]] +==== Delete Connection (DLCX) Indication + +This message is sent by the BTS in order to indicate the automatic +deletion of a BTS-local UDP connection for user-plane RTP traffic at the +time of RF Channel release. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | M | TV | 3 +| Connection Id | <<RSL_IE_IPAC_CONN_STAT>> | M | TV | 3 +| Cause | 08.58 9.3.26 | M | TLV | >= 3 +|=== + +[[rsl_dlcx_msg]] +==== Delete Connection (DLCX) + +This message is sent by the BSC to the BTS in order to request the +disconnection of a user-plane RTP connection for the specified Channel +number. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 +|=== + +[[rsl_dlcx_msg_ack]] +==== Delete Connection (DLCX) ACK + +This message is sent by the BTS in order to signal the successful +outcome of deleting the user-plane RTP connection for the specified +Channel number. It is sent in response to the *Delete Connection +(DLCX)*. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 +| Connection Statistics | <<RSL_IE_IPAC_CONN_STAT>> | C | TV | 29 +|=== + +[[rsl_dlcx_msg_nack]] +==== Delete Connection (DLCX) NACK + +This message is sent by the BTS in order to signal the unsuccessful +outcome of deleting the user-plane RTP connection for the specified +Channel number. It is sent in response to the *Delete Connection +(DLCX)*. + +[options="header"] +[cols="30%,25%,15%,15%,15%"] +|=== +| INFORMATION ELEMENT | REFERENCE | PRESENCE | FORMAT | LENGTH +| Message discriminator | 08.58 9.1 | M | V | 1 +| Message type | <<own_msg_types>> | M | V | 1 +| Channel number | 08.58 9.3.1 | M | TV | 2 +| Connection Id | <<RSL_IE_IPAC_CONN_ID>> | O | TV | 3 +| Cause | 08.58 9.3.26 | M | TLV | >= 3 +|=== + + +=== Information Element Codings + +[[own_msg_types]] +==== A-bis/IP specific RSL Message discriminators + +The following message descriminators are used in addition to those +indicated in 3GPP TS 08.58 Section 9.1: + +.OsmoBTS specific new message discriminators +[options="header",cols="10%,50%,40%"] +|=== +| Message Type | Message | This document § +| 0x70 | Create Connection (CRCX) | <<rsl_crcx_msg>> +| 0x71 | Create Connection (CRCX) ACK | <<rsl_crcx_msg_ack>> +| 0x72 | Create Connection (CRCX) NACK | <<rsl_crcx_msg_nack>> +| 0x73 | Modify Connection (MDCX) | <<rsl_mdcx_msg>> +| 0x74 | Modify Connection (MDCX) ACK | <<rsl_mdcx_msg_ack>> +| 0x75 | Modify Connection (MDCX) NACK | <<rsl_mdcx_msg_nack>> +| 0x76 | Delete Connection (DLCX) Indication | <<rsl_dlcx_ind_msg>> +| 0x77 | Delete Connection (DLCX) | <<rsl_dlcx_msg>> +| 0x78 | Delete Connection (DLCX) ACK | <<rsl_dlcx_msg_ack>> +| 0x79 | Delete Connection (DLCX) NACK | <<rsl_dlcx_msg_nack>> +|=== + +==== A-bis/IP specific RSL IEIs + +The following Information Element Identifiers (IEIs) are used in +addition to those indicated in 3GPP TS 08.58 Section 9.3.1: + +.A-bis/IP specific information elements +[options="header",cols="10%,50%,40%"] +|=== +| IEI | Name | This document § +| 0xf0 | RSL_IE_IPAC_REMOTE_IP | <<RSL_IE_IPAC_REMOTE_IP>> +| 0xf1 | RSL_IE_IPAC_REMOTE_PORT | <<RSL_IE_IPAC_REMOTE_PORT>> +| 0xf3 | RSL_IE_IPAC_LOCAL_PORT | <<RSL_IE_IPAC_LOCAL_PORT>> +| 0xf4 | RSL_IE_IPAC_SPEECH_MODE | <<RSL_IE_IPAC_SPEECH_MODE>> +| 0xf5 | RSL_IE_IPAC_LOCAL_IP | <<RSL_IE_IPAC_LOCAL_IP>> +| 0xf6 | RSL_IE_IPAC_CONN_STAT | <<RSL_IE_IPAC_CONN_STAT>> +| 0xf8 | RSL_IE_IPAC_CONN_ID | <<RSL_IE_IPAC_CONN_ID>> +| 0xfc | RSL_IE_IPAC_RTP_PAYLOAD2 | <<RSL_IE_IPAC_RTP_PAYLOAD2>> +|=== + +[[RSL_IE_IPAC_REMOTE_IP]] +==== RSL_IE_IPAC_REMOTE_IP + +This information element contains the remote (MGW side) IPv4 address in +network byte order. It is encoded as fixed-size element with one byte +IEI followed by four bytes IPv4 address. + +[[RSL_IE_IPAC_REMOTE_PORT]] +==== RSL_IE_IPAC_REMOTE_PORT + +This information element contains the remote (MGW side) UDP port in +network byte order. It is encoded as fixed-size element with one byte +IEI followed by two bytes UDP port number. + +[[RSL_IE_IPAC_LOCAL_PORT]] +==== RSL_IE_IPAC_LOCAL_PORT + +This information element contains the local (BTS side) IPv4 address in +network byte order. It is encoded as fixed-size element with one byte +IEI followed by two bytes UDP port number. + +[[RSL_IE_IPAC_SPEECH_MODE]] +==== RSL_IE_IPAC_SPEECH_MODE + +This information element encodes the speech mode. It is set according +to the voice codec used on the connection. It is encoded as a fixed-size +element of two bytes, with one byte IEI followed by one byte Speech mode +indicator. + +.A-bis/IP Speech Mode Indicator Values +[options="header",width="40%",cols="20%,80%"] +|=== +| Value | Description +| 0x00 | TCH/F with FR codec +| 0x01 | TCH/F with EFR codec +| 0x02 | TCH/F with AMR codec +| 0x03 | TCH/H with HR codec +| 0x05 | TCH/H with AMR codec +|=== + +[[RSL_IE_IPAC_LOCAL_IP]] +==== RSL_IE_IPAC_LOCAL_IP + +This information element contains the local (BTS side) IPv4 address in +network byte order. It is encoded as fixed-size element with one byte +IEI followed by four bytes IPv4 address. + +[[RSL_IE_IPAC_CONN_STAT]] +==== RSL_IE_IPAC_CONN_STAT + +This information element contains statistics about the RTP connection. + +It is encoded as 29 bytes, with the first byte as IEI and 28 bytes +fixed-length payload encoded as follows: + +.A-bis/IP Connection Statistics +[options="header",width="60%",cols="15%,15%,70%"] +|=== +| Offset | Size | Description +| 0 | 4 | Total number of RTP packets sent +| 4 | 4 | Total number of octets sent +| 8 | 4 | Total number of RTP packets received +| 12 | 4 | Total number of octets received +| 16 | 4 | Total number of lost packets in Rx direction +| 20 | 4 | Inter-arrival Jitter +| 24 | 4 | Average transmission delay +|=== + +All the above values are each encoded in network byte order. + +A detailed definition of the individual values is given in RFC 1889. + +[[RSL_IE_IPAC_CONN_ID]] +==== RSL_IE_IPAC_CONN_ID + +This IE is a TV with a value length of two bytes. The value is a 16 bit +connection ID in network byte order. + + +[[RSL_IE_IPAC_RTP_PAYLOAD2]] +==== RSL_IE_IPAC_RTP_PAYLOAD2 + +This information element contains the RTP payload identifier, which is +used in the PT (Payload Type) field of the RTP header in subsequent +transmissions of the RTP flow. + +=== A-bis RSL Initialization / BTS bring-up + +Upon receiving the 'IPA RSL CONNECT' OML message by the respective +'Baseband Transceiver' MO, the BTS proceeds with establishing a separate +TCP connection for the given TRX. + +[[rsl-msc-pri]] +.A-bis RSL BTS bring-up for primary TRX +["mscgen"] +---- +include::rsl-startup-pri.msc[] +---- + +[[rsl-msc-sec]] +.A-bis RSL BTS bring-up for secondary TRXs +["mscgen"] +---- +include::rsl-startup-sec.msc[] +---- + +As can be seen by the differences between <<rsl-msc-pri>> and +<<rsl-msc-sec>>, the initialization of the primary and secondary TRX +slightly differ. As the secondary TRX has no BCCH, it does not (need +to) receive any 'RSL BCCH INFORMATION' messages from the BSC. + diff --git a/OsmoBTS/abis/rtp.adoc b/OsmoBTS/abis/rtp.adoc new file mode 100644 index 0000000..e64b5c1 --- /dev/null +++ b/OsmoBTS/abis/rtp.adoc @@ -0,0 +1,33 @@ +== User-Plane Traffic via RTP + +RTP (Realtime Transfer Protocol) is a protocol for streaming of audio +and video streaming data. It is specified by IETF RFC 1889. + +OsmoBTS A-bis/IP implements RTP as transport medium for circuit-switched +user-plane traffic, contrary to the E1 sub-slot based transport as +specified in 3GPP TS 08.60. + +The RTP transport endpoint parameters are configured using the RSL User +Plane Transport Management procedures described in <<user_plane_txp_mgmt>>. + +RTCP is implemented in addition to RTP, on a UDP port number of the RTP +port incremented by one. + +=== RTP Payload Formats + +The RTP payload format depends on the voice codec used on the radio +channel. The OsmoBTS is simply passing the GSM speech frames between +the Um radio interface channels and the RTP payload (and vice-versa). + +No transcoding function is implemented in the BTS! + +.RTP Payload formats +[options="header",width="60%",cols="15%,15%,70%"] +|=== +| TCH | Codec | RTP payload format specification +| TCH/F | FR | IETF RFC 3551 Section 4.5.8 +| TCH/F | EFR | IETF RFC 3551 Section 4.5.9 +| TCH/F | AMR | IETF RFC 4867 +| TCH/H | HR | IETF RFC 5993 +| TCH/H | AMR | IETF RFC 4867 +|=== diff --git a/OsmoBTS/chapters/architecture.adoc b/OsmoBTS/chapters/architecture.adoc new file mode 100644 index 0000000..aca5bb9 --- /dev/null +++ b/OsmoBTS/chapters/architecture.adoc @@ -0,0 +1,120 @@ +== OsmoBTS software architecture + +=== OsmoBTS PHY interface abstraction + +The OsmoBTS PHY interface serves as an internal abstraction layer +between given PHY hardware (as provided by the bts_model) and the actual +logical transceivers (TRXs) of a BTS inside the OsmoBTS code base. + + +==== PHY link + +A PHY link is a physical connection / link towards a given PHY. This +might be, for example, + +* a set of file descriptors to device nodes in the /dev/ directory + (sysmobts, litecell15) +* a packet socket for sending raw Ethernet frames to an OCTPHY +* a set of UDP sockets for interacting with OsmoTRX + +Each PHY interface has a set of attribute/parameters and a list of 1 to +n PHY instances. + +PHY links are numbered 0..n globally inside OsmoBTS. + +Each PHY link is configured via the VTY using its individual top-level +vty node. Given the different bts-model / phy specific properties, the +VTY configuration options (if any) of the PHY instance differ between +BTS models. + +The PHY links and instances must be configured above the BTS/TRX nodes +in the configuration file. If the file is saved via the VTY, the code +automatically ensures this. + + +==== PHY instance + +A PHY instance is an instance of a PHY, accessed via a PHY link. + +In the case of osmo-bts-sysmo and osmo-bts-trx, there is only one +instance in every PHY link. This is due to the fact that the API inside +that PHY link does not permit for distinguishing multiple different +logical TRXs. + +Other PHY implementations like the OCTPHY however do support addressing +multiple PHY instances via a single PHY link. + +PHY instances are numbered 0..n inside each PHY link. + +Each PHY instance is configured via the VTY as a separate node beneath each +PHY link. Given the different bts-model / phy specific properties, the +VTY configuration options (if any) of the PHY instance differ between +BTS models. + + +==== Mapping PHY instances to TRXs + +Each TRX node in the VTY must use the 'phy N instance M' command in +order to specify which PHY instance is allocated to this specific TRX. + +=== Internal control flow + +==== start-up / sequencing during OsmoBTS start + +.Control flow at OsmoBTS start-up procedure +[options="header",cols="10%,35%,55%"] +|=== +| section | function | description +| bts-specific | main() | Entering main() from glibc +| common | bts_main() | initialization of talloc contexts +| common | bts_log_init() | initialization of logging +| common | handle_options() | common option parsing +| bts-specific | bts_model_handle_options() | model-specific option parsing +| common | gsm_bts_alloc() | allocation of BTS/TRX/TS data structures +| common | vty_init() | Initialziation of VTY core, libosmo-abis and osmo-bts VTY +| common | main() | Setting of scheduler RR priority (if configured) +| common | main() | Initialization of GSMTAP (if configured) +| common | bts_init() | configuration of defaults in bts/trx/s object +| bts-specific | bts_model_init | ? +| common | abis_init() | Initialization of libosmo-abis +| common | vty_read_config_file() | Reading of configuration file +| bts-specific | bts_model_phy_link_set_defaults() | Called for every PHY link created +| bts-specific | bts_model_phy_instance_set_defaults() | Called for every PHY Instance created +| common | bts_controlif_setup() | Initialization of Control Interface +| bts-specific | bts_model_ctrl_cmds_install() | Install model-specific control interface commands +| common | telnet_init() | Initialization of telnet interface +| common | pcu_sock_init() | Initializaiton of PCU socket +| common | main() | Installation of signal handlers +| common | abis_open() | Start of the A-bis connection to BSC +| common | phy_links_open() | Iterate over list of configured PHY links +| bts-specific | bts_model_phy_link_open() | Open each of the configured PHY links +| common | write_pid_file() | Generate the pid file +| common | osmo_daemonize() | Fork as daemon in background (if configured) +| common | bts_main() | Run main loop until global variable quit >= 2 +|=== + + +==== At time of OML establishment + +.Control flow at time of OML establishment +[options="header",cols="10%,35%,55%"] +|=== +| section | function | description +| bts-specific | bts_model_oml_estab() | Called by core once OML link is established +| bts-specific | bts_model_check_oml() | called each time OML sets some attributes on a MO, checks if attributes are valid +| bts-specific | bts_model_apply_oml() | called each time OML sets some attributes on a MO, stores attribute contents in data structures +| bts-specific | bts_model_opstart() | for NM_OC_BTS, NM_OC_SITE_MANAGER, NM_OC_GPRS_NSE, NM_OC_GPRS_CELL, NMO_OC_GPRS_NSVC +| bts-specific | bts_model_opstart() | for NM_OC_RADIO_CARRIER for each trx +| bts-specific | bts_model_opstart() | for NM_OC_BASEB_TRANSC for each trx +| bts-specific | bts_model_opstart() | for NM_OC_CHANNEL for each timeslot on each trx +| bts-specific | bts_model_change_power() | change transmit power for each trx (power ramp-up/ramp-down) +|=== + +==== At time of RSL connection loss + +.Control flow at time of RSL connection loss +[options="header",cols="10%,35%,55%"] +|=== +| section | function | description +| bts-specific | bts_model_abis_close() | called when either one of the RSL links or the OML link are down +|=== diff --git a/OsmoBTS/chapters/bts-models.adoc b/OsmoBTS/chapters/bts-models.adoc new file mode 100644 index 0000000..5a967f6 --- /dev/null +++ b/OsmoBTS/chapters/bts-models.adoc @@ -0,0 +1,405 @@ +== OsmoBTS hardware support + +OsmoBTS consists of a generic part common to all BTS, and a +hardware-specific _common_ part, and a _hardware-specific_ part. The +hardware specific part is generally referred to as the _bts_model_ code. + +The common part includes the core BTS architecture as well as code for +implementing the external interfaces such Abis, control, PCU socket and +GSMTAP. + +The bts_model parts include support for driving one particular +implementation of a GSM physical layer (PHY). Such a physical layer +implementation can come in many forms. Sometimes it runs on a general +purpose CPU, sometimes on a dedicated ARM core, a dedicated DSP, a +combination of DSP and FPGA. + +Every PHY implementation offers some kind of primitives by which the PHY +can be controlled, and by which the PHY exchanges data with the higher +layers of the protocol stack in the OsmoBTS code. + +The PHY-specific primitives are encapsulated in the bts_model code, and +offered as a PHY-independent _L1SAP_ interface towards the common part of +OsmoBTS. + +In addition, each bts_model implements a set of functions that the +common part calls. Those functions are pre-fixed by bts_model_. + +Each bts_model may offer + +* model-specific VTY commands for both configuration and run-time interaction +* model-specific command line arguments +* model-specific control interface commands + +== `osmo-bts-sysmo` for sysmocom sysmoBTS + +The sysmocom sysmoBTS is a range of GSM BTSs basd around an embedded +system implementing the PHY in a combination of DSP+FPGA. The PHY is +configured by a set of primitives described by header files. Those +primitives are exchanged ove a set of message queues exposed on the +Linux-running ARM core via device nodes in `/dev/msgq/`. Internally, +the message queues map to shared memory between the Linux-running ARM +core and the DSP running the PHY implementation. + +The OsmoBTS bts_model code for the sysmoBTS can be found in the +`src/osmo-bts-sysmo` sub-directory of the OsmoBTS code base. + +`osmo-bts-sysmo` has been the primary target platform for +OsmoBTS for many years and is thus the most feature-complete and mature +platform supported by OsmoBTS at this point. + +The sysmoBTS PHY supports a direct PHY interface to OsmoPCU, reducing +the latency and amount of primitives that OsmoBTS would otherwise need +to pass through from the PHY message queues to the PCU socket and +vice-versa. + + +=== `osmo-bts-sysmo` specific command line arguments + +*--dsp-trace 'DSPMASK'*:: + Set the DSP trace flags (a single hexadecimal 32bit value). + This has been deprecated by VTY based commands, see + <<osmo-bts-sysmo-dsp-trace>> for further information. +*--pcu-direct*:: + Indicate that an external PCU (e.g. OsmoPCU) will directly + open the DSP messge queues to the PHY / PH-SAP, and only MPH + primitives are passed via OsmoBTS. + + +=== `osmo-bts-sysmo` specific VTY commands + +For a auto-generated complete syntax reference of the VTY commands, +please see the associated _OsmoBTS VTY reference manual_ +<<vty-ref-osmobts>>. The section +below only lists the most important commands. + +==== at the 'SHOW' node + +===== `show trx 0 clock-source` + +Display the currently active clock source configuration for the TRX + +[[osmo-bts-sysmo-dsp-trace]] +===== `show trx 0 dsp-trace-flags` + +Show the currently active DSP trace flags for the TRX + +===== `trx 0 dsp-trace-flag` + +Use this command to enable/disable/configure the DSP tracing flags that +define what debug messages will appear on `/dev/rtfifo/dsp_trace`. + +==== at the 'ENABLE' node + +===== `trx 0 tx-power <-110-100>` + +Change the current TRX transmit power to the given value in dBm. + +===== `trx 0 rf-clock-info reset` + +Part of the clock calibration procedure: +Reset the clock correction value. + +===== `trx 0 rf-clock-info correct` + +Part of the clock calibration procedure: +Apply the current measured correction value between the reference clock +and the local clock. + +==== at the 'PHY instance' node + +==== `clock-calibration eeprom` + +Obtain clock calibration value from EEPROM. + +==== `clock-calibration default` + +Use hardware default clock calibration value. + +==== `clock-calibration <-4095-4095>` + +Use specified clock calibration value (not EEPROM/default). + +==== `clock-source (tcxo|ocxo|ext|gps)` + +Specify the clock source for the PHY: + +tcxo:: + Use the TCXO. This is the default on sysmoBTS 2050. +ocxo:: + Use the OCXO (only valid on units equipped with OCXO). This is + the default on all sysmoBTS 1002/1020/1100 and SOB-BTS. +ext:: + Use the external clock input. +gps:: + Use the clock derived from GPS. You shouldn't use this clock + directly, but rather use the TCXO and regularly re-calibrate + against GPS. + +==== `trx-calibration-path PATH` + +Use calibration files from the given 'PATH', rather tan calibration +values from the EEPROM. + +=== `osmo-bts-sysmo` specific control interface commands + +==== trx.0.clock-info + +Obtain information on the current clock status: + +---- +bsc_control.py -d localhost -p 4238 -g trx.0.clock-info +Got message: GET_REPLY 1 trx.0.clock-info -100,ocxo,0,0,gps +---- + +which is to be interpreted as: + +* current clock correction value is -100 ppb +* current clock source is OCXO +* deviation between clock source and calibration source is 0 ppb +* resolution of clock error measurement is 0 ppt (0 means no result yet) +* current calibration source is GPS + +When this attribute is set, any value passed on is discarded, but the clock +calibration process is re-started. + +==== trx.0.clock-correction + +This attribute can get and set the current clock correction value: + +---- +bsc_control.py -d localhost -p 4238 -g trx.0.clock-correction +Got message: GET_REPLY 1 trx.0.clock-correction -100 +---- + +---- +bsc_control.py -d localhost -p 4238 -s trx.0.clock-correction -- -99 +Got message: SET_REPLY 1 trx.0.clock-correction success +---- + + +== `osmo-bts-trx` for OsmoTRX + +OsmoTRX is a C-language implementation of the GSM radio modem, +originally developed as the 'Transceiver' part of OpenBTS. This radio +modem offers an interface based on top of UDP streams. + +The OsmoBTS bts_model code for OsmoTRX is called +`osmo-bts-trx`. It implements the UDP stream interface of +OsmoTRX, so both parts can be used together to implement a complete GSM +BTS based on general-purpose computing SDR. + +As OsmoTRX is general-purpose software running on top of Linux, it is +thus not tied to any specific physical hardware. At the time of this +writing, OsmoTRX supports a variety of Ettus USRP SDRs via the UHD +driver, as well as the Fairwaves UmTRX and derived products. + +OsmoTRX is not a complete GSM PHY but 'just' the radio modem. This +means that all of the Layer 1 functionality such as scheduling, +convolutional coding, etc. is actually also implemented inside OsmoBTS. + +As such, the boundary between OsmoTRX and `osmo-bts-trx` is at +a much lower interface, which is an internal interface of other more +traditional GSM PHY implementations. + +Besides OsmoTRX, there are also other implementations (both Free +Software and proprietary) that implement the same UDP stream based radio +modem interface. + + +=== `osmo-bts-trx` specific VTY commands + +For a auto-generated complete syntax reference of the VTY commands, +pleas see the associated _OsmoBTS VTY reference manual_ +<<vty-ref-osmobts>>. The section below only lists the most important +commands. + +==== at the 'SHOW' node + +===== `show transceivers` + +Display information about configured/connected OsmoTRX transceivers in +human-readable format to current VTY session. + +==== at the 'PHY' configuration node + +===== `osmotrx ip HOST` + +Set the IP addess of the OsmoTRX transceiver to which we should connect +to. + +===== `osmotrx base-port (local|remote) <0-65535>` + +Configure the base UDP port for the OsmoTRX interface for either the +local (OsmoBTS) or remote (OsmoTRX) side of the UDP flows. + +===== `osmotrx fn-advance <0-30>` + +Set the number of frames to be transmitted to transceiver in advance of +current GSM frame number. + +===== `osmotrx rts-advance <0-30>` + +Set the number of frames to be requested from PCU in advance of current +frame number. Do not change this unless you have a good reason! + +===== `osmotrx rx-gain <0-50>` + +Set the receiver gain (configured in the hardware) in dB. + +===== `osmotrx tx-attenuation <0-50>` + +Set the transmitter attenuation (configured in the hardware) in dB. + +===== `osmotrx tx-attenuation oml` + +Use the Value in the A-bis OML Attribute `MAX_POWER_REDUCTION` as +transmitter attenuation. + +==== at the 'PHY Instance' configuration node + +===== `slotmask (1|0) (1|0) (1|0) (1|0) (1|0) (1|0) (1|0) (1|0)` + +Configure which timeslots should be active on this TRX. Normally all +timeslots are enabled, unless you are running on a cpu-constrained +deeply embedded system. + +===== `osmotrx maxdly <0-31>` + +Set the maximum delay for received symbols (in number of GSM symbols). + + +== `osmo-bts-octphy` for Octasic OCTPHY-2G + +The Octasic OCTPHY-2G is a GSM PHY implementation inside an Octasic +proprietary 24-core DSP called OCTDSP. + +This DSP has a built-in Gigabit Ethernet interface, over which it +exchanges PHY-layer primitives in raw Ethernet frames with the upper +layers running on another CPU attached to the same Ethernet. Those +primitives are described in a set of C-language header files. + +OsmoBTS implements the raw Ethernet frame based primitives as well as +the associated transport protocol (OKTPKT/OCTVC1) in the +`osmo-btso-octphy` bts_model code. + +You can run the `osmo-bts-octphy` on any system connected to the same +Ethernet as the OCTDSP running the OCTPHY. This can be either an +embedded ARM or x86 SoM part of the OCTBTS hardware, or it can be any +other Linux system attached via an Ethernet switch. + +Each OCTDSP running OCTSDR-2G offers a set of primitives part of a +OCTPKT session, which is mapped to an OsmoBTS PHY link. Depending on +the OCTSDR-2G software version, you may create multiple software TRX by +creating multiple OsmoBTS PHY instances inside that PHY link. + +Multiple DSPs may exsist in one circuit board, then each of the DSPs is +interfaced by one OsmoBTS PHY link, and each of them may have one or +more OsmoBTS PHY instances creating a Multi-TRX configuration. + + +== `osmo-bts-litecell15` for Nutaq/Nuran LiteCell 1.5 + +The Nutaq/Nuran LiteCell 1.5 implements a dual-transceiver GSM BTS based +on a mixed ARM/DSP/FPGA architecture. The PHY layer is implemented on +DSP/FPGA and similar to that of the sysmoBTS: It exchanges primitives +described in a set of C-language header files over message queues +between the ARM and the DSP. + +This interface is implemented in the `osmo-bts-litecell15` bts_model of +OsmoBTS. You would run `osmo-bts-litecell15` on the ARM/Linux processor +of the Litecell 1.5. + +The two transceivers of the Litecell 1.5 each have their own set of DSP +message queues. Each set of message queues is wrapped into one OsmoBTS +PHY link, offering one OsmoBTS PHY instance. + +The Litecell 1.5 PHY supports a direct PHY interface to OsmoPCU, +reducing the latency and amount of primitives that OsmoBTS would +otherwise need to pass through from the PHY message queues to the PCU +socket and vice-versa. + +=== `osmo-bts-trx` specific VTY commands + +For a auto-generated complete syntax reference of the VTY commands, +please see the associated _OsmoBTS VTY reference manual_ +<<vty-ref-osmobts>>. The section below only lists the most important +commands. + +==== at the 'SHOW' node + +===== `show phy <0-255> system-information` + +Show information about the hardware platform, DSP and OCTPHY-2G software +version. + +===== `show phy <0-255> rf-port-stats <0-1>` + +Show information about the RF port interfaces. + +===== `show phy <0-255> clk-sync-stats` + +Show information about the clock synchronization manager. + +==== at the 'PHY' configuration node + +===== `octphy hw-addr HWADDR` + +Specify the Ethernet hardware address (mac address) of the DSP running +the OCTPHY-2G software for this PHY link. + +===== `octphy net-device NAME` + +Specify the Ethernet network device (like `eth0`) through which the DSP +can be reached from OsmoBTS. + +===== `octphy rf-port-index <0-255>` + +Specify which RF port should be used for this PHY link. + +===== `octphy rx-gain <0-73>` + +Configure the receiver gain in dB. + +===== `octphy tx-attenuation <0-359>` + +Configure the transmitter attenuation in quarter-dB + + + + +== `osmo-bts-virtual` for Virtual Um Interface + +This is a special BTS model used for research, simulation and testing. +Rather than communicating over a wireless RF interface, the GSM Um +messages are encapsulated over GSMTAP/UDP/IP. + +At the time of writing, this functionality is not fully completed. It +is the idea to adopt the OsmocomBB MS-side GSM implementation to +interface with this virtual Um interface, so that many instances of +virtual MS can connect to some instances of OsmoBTS, testing MS, BTS, +BSC and core network functionality. + +=== `osmo-bts-trx` specific VTY commands + +For a auto-generated complete syntax reference of the VTY commands, +please see the associated _OsmoBTS VTY reference manual_ +<<vty-ref-osmobts>>. The section below only lists the most important +commands. + +==== at the 'PHY' config node + +===== `virtual-um net-device NETDEV` + +Configure the network device used for sending/receiving the virtual Um +interface messages (e.g. `eth0`). + +===== `virtual-um udp-port <0-65535>` + +Configure the UDP port used for sending/receiving the virtual Um +interface messages (default: GSMTAP 2775). + +===== `virtual-um multicast-group GROUP` + +Configure the IP multicast group used for sending/receiving the virtual +Um interface messages. diff --git a/OsmoBTS/chapters/configuration.adoc b/OsmoBTS/chapters/configuration.adoc new file mode 100644 index 0000000..a2d0624 --- /dev/null +++ b/OsmoBTS/chapters/configuration.adoc @@ -0,0 +1,154 @@ +== BTS Configuration + +The role of the BTS is to handle the GSM radio interface. When the BTS +application is starting, the A-bis OML connection is established towards +the BSC. Almost all BTS configuration (such as ARFCN, channel +configuration, transmit power, etc.) will be sent from the BSC to the +BTS via OML messages. After OML start-up has competed, the BSC will +instruct the BTS to establish the RSL connections. + +Given that most configuration is downloaded from the BSC into the BTS at +start-up time, only some very basic settings have to be made in the +OsmoBTS software. + + +=== Command Line Options + +Ths OsmoBTS executables (`osmo-bts-sysmo`, `osmo-bts-trx`, +`osmo-bts-octphy`, `osmo-bts-litecell15`, ...) share the following +generic command line options: + +==== SYNOPSIS +*osmo-bts-sysmo* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE' ] [-s] [-T] [-e 'LOGLEVEL'] [-r 'PRIO'] [-i 'GSMTAP-IP'] [-t <1-255>] + +==== 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-bts.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 further information. +*-T, --timestamp*:: + Enable time-stamping of log messages to stderr. This has mostly + been deprecated by VTY based logging configuration, see + <<logging>> for further 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 further information. +*-r, --realtime 'PRIO'*:: + Enable use of the Linux kernel realtime priority scheduler with + the specified priority. + It is recommended you use this option on low-performance + embedded systems or systems that encounter high non-GSM/GPRS + load. +*-i, --gsmtap-ip 'GSMTAP-IP'*:: + Specify the destination IP address for GSMTAP messages. +*-t, --trx-num <1-255>*:: + Specify the number of TRX supported by this BTS. + +There may be additional, hardware specific command line options by the +different bts_model implementations. + + +=== Configuration using the VTY + +Most configuration as well as run-time monitoring and system +introspection is implemented using a command-line based interface +called _VTY_. A full reference syntax of all existing VTY command is +available as a separate document. + +See <<vty>> for further information on the VTY. + + +==== Required BTS/TRX configuration + +There are some settings that have to be configured locally in the +sysmoBTS, as they cannot be set remotely from the BSC. Those +settings are stored in the OsmoBTS configuration file, which commonly +is stored in `/etc/osmocom/osmo-bts.cfg`. + +.Example Minimal configuration file +---- +! +! OsmoBTS (0.0.1.100-0455) configuration saved from vty +!! +! +phy 0 <1> + instance 0 <2> +bts 0 <3> + band DCS1800 + ipa unit-id 1801 0 <4> + oml remote-ip 192.168.100.11 <5> + trx 0 <6> + phy 0 instance 0 <7> +---- +<1> You must configure at least one PHY link by means of the PHY node +<2> You must configure at least one PHY instance in the PHY link +<3> There is always exactly one BTS (`bts 0`) configured in OsmoBTS +<4> The `ipa unit-id` is what is used to identify this BTS to the BSC +<6> The OML Remote IP is the IP address of the BSC, to which the BTS shall connect to. +<6> There must be at least one trx (`trx 0`) in each BTS +<7> Every TRX must be mapped to a specific PHY instance this way + +For a full reference of all available VTY configuration parameters, +please refer to the OsmoBTS VTY Reference document. + +[[gsmtap]] +==== Configuring GSMTAP tracing + +In addition to being able to obtain pcap protocol traces of the A-bis +communication and the text-based logging from the OsmoBTS +software, there is also the capability of tracing all communication on +the radio interface. To do so, OsmoBTS can encapsulate +MAC blocks (23byte messages at the L2-L1 interface) into _GSMTAP_ and send +them via UDP/IP. At that point, they can be captured with utilities like +*tcpdump* or *tshark* for further analysis by the *wireshark* protocol +analyzer. + +In order to activate this feature, you first need to make sure to start +OsmoBTS using the `-i` or `--gsmtap-ip` command line option, specifying +the destination IP address for the GSMTAP messages. In most cases, +using 127.0.0.1 for passing the messages over the loopback (`lo`) device +will be sufficient. + +OsmoBTS can selectively trace such messages by their L1 SAPI, for both +Rx and Tx. For a complete list of L1 SAPI values, please refer to the +_OsmoBTS VTY reference manual_ <<vty-ref-osmobts>>. + +For example, to enable GSMTAP tracing for messages on all SDCCH +channels, you can use the gsmtap-sapi sdcch command at the CONFIG TRX +node of the OsmoBTS VTY. + +.Example: Enabling GSMTAP for SDCCH +---- +OsmoBTS> enable +OsmoBTS# configure terminal +OsmoBTS(config)# bts +OsmoBTS(bts)# trx 0 +OsmoBTS(trx)# gsmtap-sapi sdcch +OsmoBTS(trx)# write <1> +---- +<1> the `write` command will make the configuration persistent in the +configuration file. This is not required if you wish to enable GSMTAP +only in the current session of OsmoBTS. + +De-activation can be performed similarly by using the `no gsmtap-sapi +sdcch` command at the `trx` node of the OsmoBTS VTY. + +From the moment they are enabled via VTY, GSMTAP messages will be +generated and sent in UDP encapsulation to the IANA-registered UDP port +for GSMTAP (4729) at the IP address specified in the command line +argument. diff --git a/OsmoBTS/chapters/interfaces.adoc b/OsmoBTS/chapters/interfaces.adoc new file mode 100644 index 0000000..f5bf1b2 --- /dev/null +++ b/OsmoBTS/chapters/interfaces.adoc @@ -0,0 +1,130 @@ +== OsmoBTS Interfaces + +OsmoBTS offers a set of interfaces to interact with external entities: + +* A-bis/IP interface to talk to the BSC +* bts_model specific PHY interface +* VTY interface +* Osmocom control interface +* GSMTAP interface +* PCU interface + + +=== OsmoBTS Abis/IP Interface + +OsmoBTS implements the GSM A-bis interface as described in the relevant +3GPP specifications: + +* A-bis RSL according to 3GPP TS 08.58 +* A-bis OML according to 3GPP TS 12.21 + +As the 3GPP specified A-bis only over E1 interfaces and not over IP, +significant enhancements and modifications have been performed as opposed +to the 3GPP specifications. Nevertheless, the implementation tries to +stay as close a possible to the 3GPP specifications. + +Please see the _OsmoBTS Abis Protocol Specification_ +<<osmobts-abis-spec>> for more information on this subject. + + +=== bts_model specific PHY interface + +This interface is specific to the bts_model that OsmoBTS was compiled +for. It can take any form as required by the respective hardware. + +Please see the PHY documentation of your respective BTS hardware for more +details. + + +=== OsmoBTS VTY Interface + +See <<vty>> for further information. + + +=== OsmoBTS Control Interface + +The general structure of the Omsocom control interface is described in +<<common-control-if>>. + +The number of control interface commands/attributes is currently quite +limited and largely depends on the bts_model used. + +==== trx.N.thermal-attenuation + +The idea of this paramter is to attenuate the system output power as part of +thermal management. In some cases the PA might be passing a critical level, +so an external control process can use this attribute to reduce the system +output power. + +Please note that all values in the context of transmit power calculation +are integers in milli-dB (1/10000 bel), so the below example is setting +the attenuation at 3 dB: + +---- +bsc_control.py -d localhost -p 4238 -s trx.0.thermal-attenuation 3000 +Got message: SET_REPLY 1 trx.0.thermal-attenuation 3000 +---- + +---- +bsc_control.py -d localhost -p 4238 -g trx.0.thermal-attenuation +Got message: GET_REPLY 1 trx.0.thermal-attenuation 3000 +---- + + + +=== OsmoBTS GSMTAP Interface + +GSMTAP is a standard created by Osmocom to UDP-encapsulate GSM protocol +messages normally communicated over non-IP interfaces for the primary +purpose of protocol analysis in the wireshark dissector. + +The initial purpose was to encapsulate GSM Um frames including some +meta-data like ARFCN and GSM frame number into something that can be +parsed and dispatched within the wireshark dissector. + +This interface has since been extended to many other +GSM/GPRS/UMTS interfaces and protocols, and even to TETRA and GMR. + +In OsmoBTS, it is possible to export both uplink and downlink Um +messages via GSMTAP. There is a set of VTY configuration options to +specify for which logical channels of the Um interface GSMTAP messages +shall be emitted, and to which destination IP address they shall be +sent. + +Using GSMTAP it is possible to place a virtual tap at the air interface +between BTS and MS, without going through the trouble of setting up an +actual radio receiver at the same frequencies. Also, GSMTAP export is +performed before the Um air-interface encryption (A5) is performed, so +all frames are always in plain text. + +Please refer to <<gsmtap>> for more information on how to configure and +use this interface. + + +=== OsmoBTS PCU Socket Interface + +In order to assist the provisioning of GPRS services over the same radio +interface as circuit-switched GSM, OsmoBTS exposes a Unix domain socket +based interface towards OsmoPCU. + +OsmoPCU is the Osmocom implementation of the GPRS Packet Control Unit +(PCU), which is co-located with the BTS in the Osmocom implementation. +Contrary to that, many classic E1-based implementations of the GSM RAN +co-locate the PCU with the BSC. However, the GSM specifications keep +the location up to the implementor. + +The PCU socket interface serves the following purposes: + +* to pass PCU relevant configuration from BTS to PCU +* to forward paging requests from BTS to PCU +* to forward RACH Requests from BTS to PCU + +Depending on your bts_model, the PCU may also be passing actual +PH-DATA.request / PH-DATA.indication / PH-RTS.indication primitives for +the PDCH. This is considered sub-optimal, and some BTS models offer a +direct interface by which the PCU can exchange those primitives directly +with the PHY. + +The default PCU socket interface name is `/tmp/pcu_sock`, but this can +be overridden by the @pcu-socket@ VTY command in the BTS configuration +VTY node. diff --git a/OsmoBTS/chapters/overview.adoc b/OsmoBTS/chapters/overview.adoc new file mode 100644 index 0000000..6b6b828 --- /dev/null +++ b/OsmoBTS/chapters/overview.adoc @@ -0,0 +1,105 @@ +== Overview + +=== About this manual + +This manual should help you getting started with the OsmoBTS software. +It will cover aspects of configuring and running OsmoBTS as well as some +introduction about its internal architecture and external interfaces. + +=== About OsmoBTS + +OsmoBTS is an implementation of a GSM BTS (Base Transceiver Station). A +BTS serves as the interface between the Um radio interface towards +phones and the wired Abis interface towards the BSC (Base Station +Controller). It also implements the network side of the Layer 2 of the +Um radio interface: The LAPDm protocol. + +OsmoBTS is licensed as Free and Open Source Software (FOSS) under _GNU +AGPLv3_ <<gnu-agplv3>>. It is developed as one GSM network +infrastructure component part of the overall Osmocom project. + +As perhaps the first implementation of a GSM BTS ever in the industry, +OsmoBTS is implemented in a vendor-independent way and supports a large +variety of transceiver hardware and physical layer implementations from +many vendors. + +=== Credits + +OsmoBTS was originally developed in 2011 by Andreas Eversberg and Harald +Welte. It has since been maintained by Harald Welte and Holger Freyther +at sysmocom. + +=== OsmoBTS in the Osmocom GSM network architecture + +OsmoBTS can be used in combination with the various other GSM network +elements developed under the umbrella of the Osmocom project. + +Typical configurations either use OsmoBTS with OsmoBSC, or with +OsmoNITB, as can be seen in the following figures. + +[[fig-gsm-classic]] +.Classic GSM archtiecture using OsmoBTS with OsmoBTS components +[graphviz] +---- +digraph G { + rankdir=LR; + MS0 [label="MS"] + MS1 [label="MS"] + MS2 [label="MS"] + MS3 [label="MS"] + BTS0 [label="OsmoBTS"] + BTS1 [label="OsmoBTS"] + BSC [label="OsmoBSC"] + MSC [label="MSC/VLR"] + HLR [label="HLR/AUC"] + MS0->BTS0 [label="Um"] + MS1->BTS0 [label="Um"] + MS2->BTS1 [label="Um"] + MS3->BTS1 [label="Um"] + BTS0->BSC [label="Abis"] + BTS1->BSC [label="Abis"] + BSC->MSC [label="A"] + MSC->HLR [label="C"] + MSC->EIR [label="F"] + MSC->SMSC +} +---- + + +[[fig-gsm-nitb]] +.GSM architecture using OsmoBTS + OsmoNITB +[graphviz] +---- +digraph G { + rankdir=LR; + MS0 [label="MS"] + MS1 [label="MS"] + MS2 [label="MS"] + MS3 [label="MS"] + BTS0 [label="OsmoBTS"] + BTS1 [label="OsmoBTS"] + MS0->BTS0 [label="Um"] + MS1->BTS0 [label="Um"] + MS2->BTS1 [label="Um"] + MS3->BTS1 [label="Um"] + BTS0->BSC [label="Abis"] + BTS1->BSC [label="Abis"] + subgraph cluster_nitb { + label = "OsmoNITB"; + BSC + MSC [label="MSC/VLR"] + HLR [label="HLR/AUC"] + BSC->MSC [label="A"] + MSC->HLR [label="C"] + MSC->EIR [label="F"] + MSC->SMSC; + } +} +---- + +If intended by the user, it is of course also possible to implement an +OsmoBTS-compatible Abis-over-IP interface in any third party BSC. The +Abis/IP interface and its protocol are documented in the _OsmoBTS +Abis Protocol Specification_ <<osmobts-abis-spec>>. However, be advised +that such a configuration is currently not officially supported by +Osmocom. diff --git a/OsmoBTS/osmobts-abis-docinfo.xml b/OsmoBTS/osmobts-abis-docinfo.xml new file mode 100644 index 0000000..6cbc28f --- /dev/null +++ b/OsmoBTS/osmobts-abis-docinfo.xml @@ -0,0 +1,68 @@ +<revhistory> + <revision> + <revnumber>1</revnumber> + <date>December 2015</date> + <authorinitials>NJH, HW</authorinitials> + <revremark> + Initial version, reflecting OsmoBTS master branch as on 2015-Dec-7 + (commit e28a20a2d9d049cd6312e218a7646593bbc43431). + </revremark> + </revision> + <revision> + <revnumber>2</revnumber> + <date>February 2016</date> + <authorinitials>HW</authorinitials> + <revremark> + Updated version with Message Sequence Chart of OML and RSL bring-up. + </revremark> + </revision> + <revision> + <revnumber>2.1</revnumber> + <date>February 2016</date> + <authorinitials>HW</authorinitials> + <revremark> + Fix A-bis OML/RSL port number swap in message seqeuence charts. + </revremark> + </revision> +</revhistory> + +<authorgroup> + <author> + <firstname>Neels</firstname> + <surname>Hofmayr</surname> + <email>nhofmayr@sysmocom.de</email> + <authorinitials>NJH</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Senior Software Developer</jobtitle> + </affiliation> + </author> + <author> + <firstname>Harald</firstname> + <surname>Welte</surname> + <email>hwelte@sysmocom.de</email> + <authorinitials>HW</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> +</authorgroup> + +<copyright> + <year>2015-2016</year> + <holder>sysmocom - s.f.m.c. GmbH</holder> +</copyright> + +<legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License". + </para> +</legalnotice> diff --git a/OsmoBTS/osmobts-abis.adoc b/OsmoBTS/osmobts-abis.adoc new file mode 100644 index 0000000..6b4f0da --- /dev/null +++ b/OsmoBTS/osmobts-abis.adoc @@ -0,0 +1,90 @@ +OsmoBTS Abis Protocol Specification +=================================== +Neels Hofmeyr <nhofmeyr@sysmocom.de> + +== Introduction + +This document describes the A-bis interface of *OsmoBTS*. Based on 3GPP TS +12.21 and 08.58, this document indicates which of the 3GPP specified A-bis +messages and IEs are implemented according to 3GPP specifications, which of +these are not or not fully implemented, as well as OsmoBTS-specific extensions +to the A-bis interface not specified by 3GPP. + +Extensions to the A-bis interface specific to OsmoBTS are detailed in this +document. For details on the messages and IEs that comply with abovementioned +3GPP specifications, please refer to those documents. + +.3GPP document versions referred to by this document +[cols="20%,80%"] +|=== +|3GPP TS 08.56 | version 8.0.1 Release 1999 +|3GPP TS 08.58 | version 8.6.0 Release 1999 +|3GPP TS 08.60 | version 8.2.1 Release 1999 +|3GPP TS 12.21 | version 8.0.0 Release 1999 +|=== + +.IETF documents referred to by his document +[cols="20%,80%"] +|=== +|IETF RFC 768 | User Datagram Protocol +|IETF RFC 791 | Internet Protocol +|IETF RFC 793 | Transmission Control Protocol +|IETF RFC 1889 | RTP: A Transport Protocol for Real-Time Applications +|IETF RFC 3551 | RTP Profle for Audio and Video Conferences with Minimal Control +|IETF RFC 4867 | RTP Payload Format and Files Storage Format for the Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB) Audio Codecs +|IETF RFC 5993 | RTP Payload Format for Global Systems for Mobile Communications Half Rate (GSM-HR) +|=== + +== Overview + +The OsmoBTS A-bis interface consists of traffic management messages (RSL, Radio +Signalling Link) and network management messages (OML, Operation & Maintenance +Link), encapsulated in an IPA multiplex. + +OML and RSL each use a separate TCP connection. + +.TCP port numbers used by OsmoBTS Abis/IP +[options="header",width="50%",cols="35%,65%"] +|=== +|TCP Port Number|Usage +|3002|A-bis OML (inside IPA multiplex) +|3003|A-bis RSL (inside IPA multiplex) +|=== + +Both TCP connections for OML and RSL are established in the BTS -> BSC +direction, i.e. the BTS is running as a TCP client, while the BSC is +running as a TCP server. + +The BTS first establishes the TCP connection for OML. Via OML, the BSC +instructs the BTS to which IP address the RSL connection shall be +established. + +.Overview of A-bis connection establishment +["mscgen"] +---- +include::abis/abis-startup.msc[] +---- + +=== Identities + +The BTS is locally configured (via administrative means, out of band of +this specification) to have a Unit ID. The Unit ID consists of three +parts: + +* The Site Number +* The BTS number at the site +* The TRX number within the BTS + +include::abis/ipa.adoc[] + +include::abis/oml.adoc[] + +include::abis/rsl.adoc[] + +include::abis/rtp.adoc[] + +include::../common/chapters/port_numbers.adoc[] + +include::../common/chapters/glossary.adoc[] + +include::../common/chapters/gfdl.adoc[] diff --git a/OsmoBTS/osmobts-usermanual-docinfo.xml b/OsmoBTS/osmobts-usermanual-docinfo.xml new file mode 100644 index 0000000..aa3285f --- /dev/null +++ b/OsmoBTS/osmobts-usermanual-docinfo.xml @@ -0,0 +1,42 @@ +<revhistory> + <revision> + <revnumber>1</revnumber> + <date>January 2016</date> + <authorinitials>HW</authorinitials> + <revremark> + Initial version, reflecting OsmoBTS master branch as on FIXME + (commit FIXME). + </revremark> + </revision> +</revhistory> + +<authorgroup> + <author> + <firstname>Harald</firstname> + <surname>Welte</surname> + <email>hwelte@sysmocom.de</email> + <authorinitials>HW</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> +</authorgroup> + +<copyright> + <year>2016</year> + <holder>sysmocom - s.f.m.c. GmbH</holder> +</copyright> + +<legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with 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> +</legalnotice> diff --git a/OsmoBTS/osmobts-usermanual.adoc b/OsmoBTS/osmobts-usermanual.adoc new file mode 100644 index 0000000..914fdbe --- /dev/null +++ b/OsmoBTS/osmobts-usermanual.adoc @@ -0,0 +1,32 @@ +OsmoBTS User Manual +=================== +Harald Welte <hwelte@sysmocom.de> + +include::../common/chapters/preface.adoc[] + +include::chapters/overview.adoc[] + +include::chapters/abis.adoc[] + +include::chapters/interfaces.adoc[] + +include::../common/chapters/vty.adoc[] + +include::../common/chapters/logging.adoc[] + +include::chapters/configuration.adoc[] + +include::chapters/bts-models.adoc[] + +include::chapters/architecture.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/OsmoMGCP/Makefile b/OsmoMGCP/Makefile new file mode 100644 index 0000000..aba8e3d --- /dev/null +++ b/OsmoMGCP/Makefile @@ -0,0 +1,31 @@ +# XSL stylesheets downloaded from http://docbook.sourceforge.net/release/xsl/current/html/ +# Makefile from BitBake/OpenEmbedded manuals + +EXTRA_DEPS = gen-mgcp-vty-docbook + +topdir = . +mgcp_reference = $(topdir)/osmomgcp-vty-reference.xml +manuals = $(mgcp_reference) +# types = pdf txt rtf ps xhtml html man tex texi dvi +# types = pdf txt +types = $(docbooktotypes) +docbooktotypes = pdf +# htmlcssfile = +# htmlcss = + +include ../build/Makefile.inc + +clean: + rm -rf $(cleanfiles) + +gen-mgcp-vty-docbook: FORCE + $(call command,xsltproc -o generated/combined1.xml \ + --stringparam with $(PWD)/../common/vty_additions.xml \ + $(MERGE_DOC) vty/mgcp_vty_reference.xml, \ + XSLTPROC,Merging Common VTY) + $(call command,xsltproc -o generated/combined2.xml \ + --stringparam with $(PWD)/vty/mgcp_vty_additions.xml \ + $(MERGE_DOC) generated/combined1.xml, \ + XSLTPROC,Merging MGCP VTY) + $(call command,xsltproc ../vty_reference.xsl generated/combined2.xml > generated/docbook_vty.xml, \ + XSLTPROC,Converting MGCP VTY to DocBook) diff --git a/OsmoMGCP/osmomgcp-vty-reference.xml b/OsmoMGCP/osmomgcp-vty-reference.xml new file mode 100644 index 0000000..ad30dbd --- /dev/null +++ b/OsmoMGCP/osmomgcp-vty-reference.xml @@ -0,0 +1,44 @@ +<?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 V5.0//EN" +"http://www.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>13th August 2012</date> + <authorinitials>hf</authorinitials> + <revremark>Initial</revremark> + </revision> + <revision> + <revnumber>v2</revnumber> + <date>5th March 2014</date> + <authorinitials>hf</authorinitials> + <revremark>Update to match osmo-bsc version 0.13.0-305</revremark> + </revision> + </revhistory> + + <title>OsmoMGCP VTY Reference</title> + + <copyright> + <year>2012-2014</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/OsmoMGCP/vty/mgcp_vty_additions.xml b/OsmoMGCP/vty/mgcp_vty_additions.xml new file mode 100644 index 0000000..a11cdf0 --- /dev/null +++ b/OsmoMGCP/vty/mgcp_vty_additions.xml @@ -0,0 +1,14 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> + <node id='19'> + <child_of nodeid='4' /> + <name>MGCP Global Commands</name> + <description>This node allows to configure global MGCP settings. These include + the various port numbers.</description> + </node> + <node id='27'> + <child_of nodeid='19' /> + <name>MGCP Trunk Command</name> + <description>This node allows to configure a MGCP trunk. These include the number, + the local binding ports, SDP configuration.</description> + </node> +</vtydoc> diff --git a/OsmoMGCP/vty/mgcp_vty_reference.xml b/OsmoMGCP/vty/mgcp_vty_reference.xml new file mode 100644 index 0000000..6ea76a5 --- /dev/null +++ b/OsmoMGCP/vty/mgcp_vty_reference.xml @@ -0,0 +1,1397 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='0'>
+ </node>
+ <node id='1'>
+ <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='list'>
+ <params>
+ <param name='list' doc='Print command list' />
+ </params>
+ </command>
+ <command id='exit'>
+ <params>
+ <param name='exit' doc='Exit current mode and down to previous mode' />
+ </params>
+ </command>
+ <command id='help'>
+ <params>
+ <param name='help' doc='Description of the interactive help system' />
+ </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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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 log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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 mgcp [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='mgcp' doc='Display information about the MGCP Media Gateway' />
+ <param name='[stats]' doc='Include Statistics' />
+ </params>
+ </command>
+ </node>
+ <node id='2'>
+ </node>
+ <node id='3'>
+ <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='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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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 log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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 mgcp [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='mgcp' doc='Display information about the MGCP Media Gateway' />
+ <param name='[stats]' doc='Include Statistics' />
+ </params>
+ </command>
+ <command id='loop-endpoint <0-64> NAME (0|1)'>
+ <params>
+ <param name='loop-endpoint' doc='Loop a given endpoint' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='NAME' doc='The name in hex of the endpoint' />
+ <param name='0' doc='Disable the loop' />
+ <param name='1' doc='Enable the loop' />
+ </params>
+ </command>
+ <command id='tap-call <0-64> ENDPOINT (bts-in|bts-out|net-in|net-out) A.B.C.D <0-65534>'>
+ <params>
+ <param name='tap-call' doc='Forward data on endpoint to a different system' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='ENDPOINT' doc='The endpoint in hex' />
+ <param name='bts-in' doc='Forward the data coming from the bts' />
+ <param name='bts-out' doc='Forward the data coming from the bts leaving to the network' />
+ <param name='net-in' doc='Forward the data coming from the net' />
+ <param name='net-out' doc='Forward the data coming from the net leaving to the bts' />
+ <param name='A.B.C.D' doc='destination IP of the data' />
+ <param name='<0-65534>' doc='destination port' />
+ </params>
+ </command>
+ <command id='free-endpoint <0-64> NUMBER'>
+ <params>
+ <param name='free-endpoint' doc='Free the given endpoint' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='NUMBER' doc='Endpoint number in hex.' />
+ </params>
+ </command>
+ <command id='reset-endpoint <0-64> NUMBER'>
+ <params>
+ <param name='reset-endpoint' doc='Reset the given endpoint' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='NUMBER' doc='Endpoint number in hex.' />
+ </params>
+ </command>
+ <command id='reset-all-endpoints'>
+ <params>
+ <param name='reset-all-endpoints' doc='Reset all endpoints' />
+ </params>
+ </command>
+ </node>
+ <node id='4'>
+ <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>
+ <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='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='mgcp'>
+ <params>
+ <param name='mgcp' doc='Configure the MGCP' />
+ </params>
+ </command>
+ </node>
+ <node id='7'>
+ <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>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ </node>
+ <node id='8'>
+ <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>
+ <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>
+ </node>
+ <node id='19'>
+ <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>
+ <command id='local ip A.B.C.D'>
+ <params>
+ <param name='local' doc='Local options for the SDP record' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address to use in SDP record' />
+ </params>
+ </command>
+ <command id='bts ip A.B.C.D'>
+ <params>
+ <param name='bts' doc='BTS Audio source/destination options' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address of the BTS' />
+ </params>
+ </command>
+ <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 to' />
+ </params>
+ </command>
+ <command id='bind port <0-65534>'>
+ <params>
+ <param name='bind' doc='Listen/Bind related socket option' />
+ <param name='port' doc='Port information' />
+ <param name='<0-65534>' doc='UDP port to listen for MGCP messages' />
+ </params>
+ </command>
+ <command id='bind early (0|1)'>
+ <params>
+ <param name='bind' doc='Listen/Bind related socket option' />
+ <param name='early' doc='Bind local ports on start up' />
+ <param name='0' doc='Bind on demand' />
+ <param name='1' doc='Bind on startup' />
+ </params>
+ </command>
+ <command id='rtp base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='base' doc='First UDP port allocated for the BTS side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp bts-base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='bts-base' doc='First UDP port allocated for the BTS side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp net-base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='net-base' doc='First UDP port allocated for the NET side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp bts-range <0-65534> <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='bts-range' doc='Range of ports to use for the BTS side' />
+ <param name='<0-65534>' doc='Start of the range of ports' />
+ <param name='<0-65534>' doc='End of the range of ports' />
+ </params>
+ </command>
+ <command id='rtp net-range <0-65534> <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='net-range' doc='Range of ports to use for the NET side' />
+ <param name='<0-65534>' doc='Start of the range of ports' />
+ <param name='<0-65534>' doc='End of the range of ports' />
+ </params>
+ </command>
+ <command id='rtp transcoder-range <0-65534> <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='transcoder-range' doc='Range of ports to use for the Transcoder' />
+ <param name='<0-65534>' doc='Start of the range of ports' />
+ <param name='<0-65534>' doc='End of the range of ports' />
+ </params>
+ </command>
+ <command id='rtp transcoder-base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='transcoder-base' doc='First UDP port allocated for the Transcoder side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp ip-dscp <0-255>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='ip-dscp' doc='Apply IP_TOS to the audio stream' />
+ <param name='<0-255>' doc='The DSCP value' />
+ </params>
+ </command>
+ <command id='rtp ip-tos <0-255>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='ip-tos' doc='Apply IP_TOS to the audio stream' />
+ <param name='<0-255>' doc='The DSCP value' />
+ </params>
+ </command>
+ <command id='rtp keep-alive <1-120>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='<1-120>' doc='Keep alive interval in secs' />
+ </params>
+ </command>
+ <command id='rtp keep-alive once'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='once' doc='Send dummy packet only once after CRCX/MDCX' />
+ </params>
+ </command>
+ <command id='no rtp keep-alive'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ </params>
+ </command>
+ <command id='call-agent ip A.B.C.D'>
+ <params>
+ <param name='call-agent' doc='Callagent information' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address of the callagent' />
+ </params>
+ </command>
+ <command id='call agent ip A.B.C.D'>
+ <params>
+ <param name='call' doc='Callagent information' />
+ <param name='agent' doc='Callagent information' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address of the callagent' />
+ </params>
+ </command>
+ <command id='transcoder-mgw A.B.C.D'>
+ <params>
+ <param name='transcoder-mgw' doc='Use a MGW to detranscoder RTP' />
+ <param name='A.B.C.D' doc='The IP address of the MGW' />
+ </params>
+ </command>
+ <command id='no transcoder-mgw'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='transcoder-mgw' doc='Disable the transcoding' />
+ </params>
+ </command>
+ <command id='transcoder-remote-base <0-65534>'>
+ <params>
+ <param name='transcoder-remote-base' doc='Set the base port for the transcoder' />
+ <param name='<0-65534>' doc='The RTP base port on the transcoder' />
+ </params>
+ </command>
+ <command id='sdp audio-payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload number' />
+ </params>
+ </command>
+ <command id='sdp audio-payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='name' doc='Name' />
+ <param name='NAME' doc='Payload name' />
+ </params>
+ </command>
+ <command id='sdp audio payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload number' />
+ </params>
+ </command>
+ <command id='sdp audio payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='name' doc='Name' />
+ <param name='NAME' doc='Payload name' />
+ </params>
+ </command>
+ <command id='loop (0|1)'>
+ <params>
+ <param name='loop' doc='Loop audio for all endpoints on main trunk' />
+ <param name='0' doc='Don't Loop' />
+ <param name='1' doc='Loop' />
+ </params>
+ </command>
+ <command id='number endpoints <0-65534>'>
+ <params>
+ <param name='number' doc='Number options' />
+ <param name='endpoints' doc='Endpoints available' />
+ <param name='<0-65534>' doc='Number endpoints' />
+ </params>
+ </command>
+ <command id='rtcp-omit'>
+ <params>
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='no rtcp-omit'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='rtp-patch ssrc'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='no rtp-patch ssrc'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='rtp-patch timestamp'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch timestamp'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ </params>
+ </command>
+ <command id='sdp audio fmtp-extra .NAME'>
+ <params>
+ <param name='sdp' doc='Add extra fmtp for the SDP file' />
+ <param name='audio' doc='Audio' />
+ <param name='fmtp-extra' doc='Fmtp-extra' />
+ <param name='.NAME' doc='Extra Information' />
+ </params>
+ </command>
+ <command id='sdp audio-payload send-ptime'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ <command id='no sdp audio-payload send-ptime'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ <command id='trunk <1-64>'>
+ <params>
+ <param name='trunk' doc='Configure a SS7 trunk' />
+ <param name='<1-64>' doc='Trunk Nr' />
+ </params>
+ </command>
+ </node>
+ <node id='27'>
+ <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>
+ <command id='rtp keep-alive <1-120>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='<1-120>' doc='Keep-alive interval in secs' />
+ </params>
+ </command>
+ <command id='rtp keep-alive once'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='once' doc='Send dummy packet only once after CRCX/MDCX' />
+ </params>
+ </command>
+ <command id='no rtp keep-alive'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ </params>
+ </command>
+ <command id='sdp audio-payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload Number' />
+ </params>
+ </command>
+ <command id='sdp audio-payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='name' doc='Payload' />
+ <param name='NAME' doc='Payload Name' />
+ </params>
+ </command>
+ <command id='sdp audio payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload Number' />
+ </params>
+ </command>
+ <command id='sdp audio payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='name' doc='Payload' />
+ <param name='NAME' doc='Payload Name' />
+ </params>
+ </command>
+ <command id='loop (0|1)'>
+ <params>
+ <param name='loop' doc='Loop audio for all endpoints on this trunk' />
+ <param name='0' doc='Don't Loop' />
+ <param name='1' doc='Loop' />
+ </params>
+ </command>
+ <command id='rtcp-omit'>
+ <params>
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='no rtcp-omit'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='rtp-patch ssrc'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='no rtp-patch ssrc'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='rtp-patch timestamp'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch timestamp'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ </params>
+ </command>
+ <command id='sdp audio fmtp-extra .NAME'>
+ <params>
+ <param name='sdp' doc='Add extra fmtp for the SDP file' />
+ <param name='audio' doc='Audio' />
+ <param name='fmtp-extra' doc='Fmtp-extra' />
+ <param name='.NAME' doc='Extra Information' />
+ </params>
+ </command>
+ <command id='sdp audio-payload send-ptime'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ <command id='no sdp audio-payload send-ptime'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ </node>
+</vtydoc>
\ No newline at end of file diff --git a/OsmoNAT/Makefile b/OsmoNAT/Makefile new file mode 100644 index 0000000..3ace4d2 --- /dev/null +++ b/OsmoNAT/Makefile @@ -0,0 +1,31 @@ +# XSL stylesheets downloaded from http://docbook.sourceforge.net/release/xsl/current/html/ +# Makefile from BitBake/OpenEmbedded manuals + +EXTRA_DEPS = gen-nat-vty-docbook + +topdir = . +nat_reference = $(topdir)/osmonat-vty-reference.xml +manuals = $(nat_reference) +# types = pdf txt rtf ps xhtml html man tex texi dvi +# types = pdf txt +types = $(docbooktotypes) +docbooktotypes = pdf +# htmlcssfile = +# htmlcss = + +include ../build/Makefile.inc + +clean: + rm -rf $(cleanfiles) + +gen-nat-vty-docbook: FORCE + $(call command,xsltproc -o generated/combined1.xml \ + --stringparam with $(PWD)/../common/vty_additions.xml \ + $(MERGE_DOC) vty/nat_vty_reference.xml, \ + XSLTPROC,Merging Common VTY) + $(call command,xsltproc -o generated/combined2.xml \ + --stringparam with $(PWD)/vty/nat_vty_additions.xml \ + $(MERGE_DOC) generated/combined1.xml, \ + XSLTPROC,Merging NAT VTY) + $(call command,xsltproc ../vty_reference.xsl generated/combined2.xml > generated/docbook_vty.xml, \ + XSLTPROC,Converting NAT VTY to DocBook) diff --git a/OsmoNAT/osmonat-vty-reference.xml b/OsmoNAT/osmonat-vty-reference.xml new file mode 100644 index 0000000..21c599f --- /dev/null +++ b/OsmoNAT/osmonat-vty-reference.xml @@ -0,0 +1,44 @@ +<?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 V5.0//EN" +"http://www.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>13th August 2012</date> + <authorinitials>hf</authorinitials> + <revremark>Initial</revremark> + </revision> + <revision> + <revnumber>v2</revnumber> + <date>5th March 2014</date> + <authorinitials>hf</authorinitials> + <revremark>Update to match osmo-bsc version 0.13.0-305</revremark> + </revision> + </revhistory> + + <title>OsmoNAT VTY Reference</title> + + <copyright> + <year>2012-2014</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/OsmoNAT/vty/nat_vty_additions.xml b/OsmoNAT/vty/nat_vty_additions.xml new file mode 100644 index 0000000..4aa67f6 --- /dev/null +++ b/OsmoNAT/vty/nat_vty_additions.xml @@ -0,0 +1,32 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> + <node id='19'> + <child_of nodeid='4' /> + <name>MGCP Commands</name> + <description>This node allows to configure global MGCP settings. These include + the various port numbers.</description> + </node> + + <node id='23'> + <child_of nodeid='4' /> + <name>NAT Commands</name> + <description>This node allows to configure the global NAT settings. These include + the destination address of the MSC, the filter and rewriting rules to use.</description> + </node> + <node id='24'> + <child_of nodeid='23' /> + <name>BSC Commands</name> + <description>This node allows to configure a BSC. A BSC has a list of + LACs, an access token associated to it.</description> + </node> + <node id='27'> + <hide /> + </node> + <node id='28'> + <child_of nodeid='23' /> + <name>Paging Group Commands</name> + <description>This node allows to configure a Paging Group. A Paging Group + holds the LACs of several destinations and a BSC can refer to a Paging + Group. This way several BSCs can receive the paging for a shared LAC. + </description> + </node> +</vtydoc> diff --git a/OsmoNAT/vty/nat_vty_reference.xml b/OsmoNAT/vty/nat_vty_reference.xml new file mode 100644 index 0000000..80fe08f --- /dev/null +++ b/OsmoNAT/vty/nat_vty_reference.xml @@ -0,0 +1,2061 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='0'>
+ </node>
+ <node id='1'>
+ <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='list'>
+ <params>
+ <param name='list' doc='Print command list' />
+ </params>
+ </command>
+ <command id='exit'>
+ <params>
+ <param name='exit' doc='Exit current mode and down to previous mode' />
+ </params>
+ </command>
+ <command id='help'>
+ <params>
+ <param name='help' doc='Description of the interactive help system' />
+ </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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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 log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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 sccp connections'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='sccp' doc='Display information about SCCP' />
+ <param name='connections' doc='All active connections' />
+ </params>
+ </command>
+ <command id='show bsc connections'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bsc' doc='Information about BSCs' />
+ <param name='connections' doc='All active connections' />
+ </params>
+ </command>
+ <command id='show bsc config'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bsc' doc='Information about BSCs' />
+ <param name='config' doc='Configuration of BSCs' />
+ </params>
+ </command>
+ <command id='show statistics [NR]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics' doc='Display network statistics' />
+ <param name='[NR]' doc='Number of the BSC' />
+ </params>
+ </command>
+ <command id='show statistics-by-lac <0-65535>'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics-by-lac' doc='Display network statistics by lac' />
+ <param name='<0-65535>' doc='The lac of the BSC' />
+ </params>
+ </command>
+ <command id='close bsc connection BSC_NR'>
+ <params>
+ <param name='close' doc='Close' />
+ <param name='bsc' doc='A-link' />
+ <param name='connection' doc='Connection' />
+ <param name='BSC_NR' doc='Identifier of the BSC' />
+ </params>
+ </command>
+ <command id='show msc connection'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='msc' doc='MSC related information' />
+ <param name='connection' doc='Status of the A-link connection' />
+ </params>
+ </command>
+ <command id='test regex PATTERN STRING'>
+ <params>
+ <param name='test' doc='Test utilities' />
+ <param name='regex' doc='Regexp testing' />
+ <param name='PATTERN' doc='The regexp pattern' />
+ <param name='STRING' doc='The string to match' />
+ </params>
+ </command>
+ <command id='show bsc mgcp NR'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bsc' doc='Information about BSCs' />
+ <param name='mgcp' doc='MGCP related status' />
+ <param name='NR' doc='Identifier of the BSC' />
+ </params>
+ </command>
+ <command id='show access-list NAME'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='access-list' doc='IMSI access list' />
+ <param name='NAME' doc='Name of the access list' />
+ </params>
+ </command>
+ <command id='show imsi-black-list'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='imsi-black-list' doc='IMSIs barred from the network' />
+ </params>
+ </command>
+ <command id='show prefix-tree'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='prefix-tree' doc='Prefix tree for number rewriting' />
+ </params>
+ </command>
+ <command id='show ussd-connection'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='ussd-connection' doc='USSD connection related information' />
+ </params>
+ </command>
+ <command id='show mgcp [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='mgcp' doc='Display information about the MGCP Media Gateway' />
+ <param name='[stats]' doc='Include Statistics' />
+ </params>
+ </command>
+ </node>
+ <node id='2'>
+ </node>
+ <node id='3'>
+ <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='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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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 log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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 sccp connections'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='sccp' doc='Display information about SCCP' />
+ <param name='connections' doc='All active connections' />
+ </params>
+ </command>
+ <command id='show bsc connections'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bsc' doc='Information about BSCs' />
+ <param name='connections' doc='All active connections' />
+ </params>
+ </command>
+ <command id='show bsc config'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bsc' doc='Information about BSCs' />
+ <param name='config' doc='Configuration of BSCs' />
+ </params>
+ </command>
+ <command id='show statistics [NR]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics' doc='Display network statistics' />
+ <param name='[NR]' doc='Number of the BSC' />
+ </params>
+ </command>
+ <command id='show statistics-by-lac <0-65535>'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics-by-lac' doc='Display network statistics by lac' />
+ <param name='<0-65535>' doc='The lac of the BSC' />
+ </params>
+ </command>
+ <command id='close bsc connection BSC_NR'>
+ <params>
+ <param name='close' doc='Close' />
+ <param name='bsc' doc='A-link' />
+ <param name='connection' doc='Connection' />
+ <param name='BSC_NR' doc='Identifier of the BSC' />
+ </params>
+ </command>
+ <command id='show msc connection'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='msc' doc='MSC related information' />
+ <param name='connection' doc='Status of the A-link connection' />
+ </params>
+ </command>
+ <command id='test regex PATTERN STRING'>
+ <params>
+ <param name='test' doc='Test utilities' />
+ <param name='regex' doc='Regexp testing' />
+ <param name='PATTERN' doc='The regexp pattern' />
+ <param name='STRING' doc='The string to match' />
+ </params>
+ </command>
+ <command id='show bsc mgcp NR'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bsc' doc='Information about BSCs' />
+ <param name='mgcp' doc='MGCP related status' />
+ <param name='NR' doc='Identifier of the BSC' />
+ </params>
+ </command>
+ <command id='show access-list NAME'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='access-list' doc='IMSI access list' />
+ <param name='NAME' doc='Name of the access list' />
+ </params>
+ </command>
+ <command id='show imsi-black-list'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='imsi-black-list' doc='IMSIs barred from the network' />
+ </params>
+ </command>
+ <command id='show prefix-tree'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='prefix-tree' doc='Prefix tree for number rewriting' />
+ </params>
+ </command>
+ <command id='show ussd-connection'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='ussd-connection' doc='USSD connection related information' />
+ </params>
+ </command>
+ <command id='set bsc last-used-endpoint <0-9999999999> <0-1024>'>
+ <params>
+ <param name='set' doc='Set a value' />
+ <param name='bsc' doc='Operate on a BSC' />
+ <param name='last-used-endpoint' doc='Last used endpoint for an assignment' />
+ <param name='<0-9999999999>' doc='BSC configuration number' />
+ <param name='<0-1024>' doc='Endpoint number used' />
+ </params>
+ </command>
+ <command id='nat-block (block|unblock)'>
+ <params>
+ <param name='nat-block' doc='Block the NAT for new connections' />
+ <param name='block' doc='Block' />
+ <param name='unblock' doc='Unblock' />
+ </params>
+ </command>
+ <command id='show mgcp [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='mgcp' doc='Display information about the MGCP Media Gateway' />
+ <param name='[stats]' doc='Include Statistics' />
+ </params>
+ </command>
+ <command id='loop-endpoint <0-64> NAME (0|1)'>
+ <params>
+ <param name='loop-endpoint' doc='Loop a given endpoint' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='NAME' doc='The name in hex of the endpoint' />
+ <param name='0' doc='Disable the loop' />
+ <param name='1' doc='Enable the loop' />
+ </params>
+ </command>
+ <command id='tap-call <0-64> ENDPOINT (bts-in|bts-out|net-in|net-out) A.B.C.D <0-65534>'>
+ <params>
+ <param name='tap-call' doc='Forward data on endpoint to a different system' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='ENDPOINT' doc='The endpoint in hex' />
+ <param name='bts-in' doc='Forward the data coming from the bts' />
+ <param name='bts-out' doc='Forward the data coming from the bts leaving to the network' />
+ <param name='net-in' doc='Forward the data coming from the net' />
+ <param name='net-out' doc='Forward the data coming from the net leaving to the bts' />
+ <param name='A.B.C.D' doc='destination IP of the data' />
+ <param name='<0-65534>' doc='destination port' />
+ </params>
+ </command>
+ <command id='free-endpoint <0-64> NUMBER'>
+ <params>
+ <param name='free-endpoint' doc='Free the given endpoint' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='NUMBER' doc='Endpoint number in hex.' />
+ </params>
+ </command>
+ <command id='reset-endpoint <0-64> NUMBER'>
+ <params>
+ <param name='reset-endpoint' doc='Reset the given endpoint' />
+ <param name='<0-64>' doc='Trunk number' />
+ <param name='NUMBER' doc='Endpoint number in hex.' />
+ </params>
+ </command>
+ <command id='reset-all-endpoints'>
+ <params>
+ <param name='reset-all-endpoints' doc='Reset all endpoints' />
+ </params>
+ </command>
+ </node>
+ <node id='4'>
+ <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>
+ <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='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='nat'>
+ <params>
+ <param name='nat' doc='Configure the NAT' />
+ </params>
+ </command>
+ <command id='mgcp'>
+ <params>
+ <param name='mgcp' doc='Configure the MGCP' />
+ </params>
+ </command>
+ </node>
+ <node id='7'>
+ <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>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ </node>
+ <node id='8'>
+ <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>
+ <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>
+ </node>
+ <node id='19'>
+ <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>
+ <command id='local ip A.B.C.D'>
+ <params>
+ <param name='local' doc='Local options for the SDP record' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address to use in SDP record' />
+ </params>
+ </command>
+ <command id='bts ip A.B.C.D'>
+ <params>
+ <param name='bts' doc='BTS Audio source/destination options' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address of the BTS' />
+ </params>
+ </command>
+ <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 to' />
+ </params>
+ </command>
+ <command id='bind port <0-65534>'>
+ <params>
+ <param name='bind' doc='Listen/Bind related socket option' />
+ <param name='port' doc='Port information' />
+ <param name='<0-65534>' doc='UDP port to listen for MGCP messages' />
+ </params>
+ </command>
+ <command id='bind early (0|1)'>
+ <params>
+ <param name='bind' doc='Listen/Bind related socket option' />
+ <param name='early' doc='Bind local ports on start up' />
+ <param name='0' doc='Bind on demand' />
+ <param name='1' doc='Bind on startup' />
+ </params>
+ </command>
+ <command id='rtp base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='base' doc='First UDP port allocated for the BTS side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp bts-base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='bts-base' doc='First UDP port allocated for the BTS side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp net-base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='net-base' doc='First UDP port allocated for the NET side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp bts-range <0-65534> <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='bts-range' doc='Range of ports to use for the BTS side' />
+ <param name='<0-65534>' doc='Start of the range of ports' />
+ <param name='<0-65534>' doc='End of the range of ports' />
+ </params>
+ </command>
+ <command id='rtp net-range <0-65534> <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='net-range' doc='Range of ports to use for the NET side' />
+ <param name='<0-65534>' doc='Start of the range of ports' />
+ <param name='<0-65534>' doc='End of the range of ports' />
+ </params>
+ </command>
+ <command id='rtp transcoder-range <0-65534> <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='transcoder-range' doc='Range of ports to use for the Transcoder' />
+ <param name='<0-65534>' doc='Start of the range of ports' />
+ <param name='<0-65534>' doc='End of the range of ports' />
+ </params>
+ </command>
+ <command id='rtp transcoder-base <0-65534>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='transcoder-base' doc='First UDP port allocated for the Transcoder side' />
+ <param name='<0-65534>' doc='UDP Port number' />
+ </params>
+ </command>
+ <command id='rtp ip-dscp <0-255>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='ip-dscp' doc='Apply IP_TOS to the audio stream' />
+ <param name='<0-255>' doc='The DSCP value' />
+ </params>
+ </command>
+ <command id='rtp ip-tos <0-255>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='ip-tos' doc='Apply IP_TOS to the audio stream' />
+ <param name='<0-255>' doc='The DSCP value' />
+ </params>
+ </command>
+ <command id='rtp keep-alive <1-120>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='<1-120>' doc='Keep alive interval in secs' />
+ </params>
+ </command>
+ <command id='rtp keep-alive once'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='once' doc='Send dummy packet only once after CRCX/MDCX' />
+ </params>
+ </command>
+ <command id='no rtp keep-alive'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ </params>
+ </command>
+ <command id='call-agent ip A.B.C.D'>
+ <params>
+ <param name='call-agent' doc='Callagent information' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address of the callagent' />
+ </params>
+ </command>
+ <command id='call agent ip A.B.C.D'>
+ <params>
+ <param name='call' doc='Callagent information' />
+ <param name='agent' doc='Callagent information' />
+ <param name='ip' doc='IP information' />
+ <param name='A.B.C.D' doc='IPv4 Address of the callagent' />
+ </params>
+ </command>
+ <command id='transcoder-mgw A.B.C.D'>
+ <params>
+ <param name='transcoder-mgw' doc='Use a MGW to detranscoder RTP' />
+ <param name='A.B.C.D' doc='The IP address of the MGW' />
+ </params>
+ </command>
+ <command id='no transcoder-mgw'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='transcoder-mgw' doc='Disable the transcoding' />
+ </params>
+ </command>
+ <command id='transcoder-remote-base <0-65534>'>
+ <params>
+ <param name='transcoder-remote-base' doc='Set the base port for the transcoder' />
+ <param name='<0-65534>' doc='The RTP base port on the transcoder' />
+ </params>
+ </command>
+ <command id='sdp audio-payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload number' />
+ </params>
+ </command>
+ <command id='sdp audio-payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='name' doc='Name' />
+ <param name='NAME' doc='Payload name' />
+ </params>
+ </command>
+ <command id='sdp audio payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload number' />
+ </params>
+ </command>
+ <command id='sdp audio payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='name' doc='Name' />
+ <param name='NAME' doc='Payload name' />
+ </params>
+ </command>
+ <command id='loop (0|1)'>
+ <params>
+ <param name='loop' doc='Loop audio for all endpoints on main trunk' />
+ <param name='0' doc='Don't Loop' />
+ <param name='1' doc='Loop' />
+ </params>
+ </command>
+ <command id='number endpoints <0-65534>'>
+ <params>
+ <param name='number' doc='Number options' />
+ <param name='endpoints' doc='Endpoints available' />
+ <param name='<0-65534>' doc='Number endpoints' />
+ </params>
+ </command>
+ <command id='rtcp-omit'>
+ <params>
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='no rtcp-omit'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='rtp-patch ssrc'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='no rtp-patch ssrc'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='rtp-patch timestamp'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch timestamp'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ </params>
+ </command>
+ <command id='sdp audio fmtp-extra .NAME'>
+ <params>
+ <param name='sdp' doc='Add extra fmtp for the SDP file' />
+ <param name='audio' doc='Audio' />
+ <param name='fmtp-extra' doc='Fmtp-extra' />
+ <param name='.NAME' doc='Extra Information' />
+ </params>
+ </command>
+ <command id='sdp audio-payload send-ptime'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ <command id='no sdp audio-payload send-ptime'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ <command id='trunk <1-64>'>
+ <params>
+ <param name='trunk' doc='Configure a SS7 trunk' />
+ <param name='<1-64>' doc='Trunk Nr' />
+ </params>
+ </command>
+ </node>
+ <node id='23'>
+ <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>
+ <command id='msc ip A.B.C.D'>
+ <params>
+ <param name='msc' doc='MSC related configuration' />
+ <param name='ip' doc='Configure the IP address' />
+ <param name='A.B.C.D' doc='IP information' />
+ </params>
+ </command>
+ <command id='msc port <1-65500>'>
+ <params>
+ <param name='msc' doc='MSC related configuration' />
+ <param name='port' doc='Configure the port' />
+ <param name='<1-65500>' doc='Port number' />
+ </params>
+ </command>
+ <command id='timeout auth <1-256>'>
+ <params>
+ <param name='timeout' doc='Timeout configuration' />
+ <param name='auth' doc='Authentication timeout' />
+ <param name='<1-256>' doc='Timeout in seconds' />
+ </params>
+ </command>
+ <command id='timeout ping NR'>
+ <params>
+ <param name='timeout' doc='Timeout configuration' />
+ <param name='ping' doc='Time between two pings' />
+ <param name='NR' doc='Timeout in seconds' />
+ </params>
+ </command>
+ <command id='timeout pong NR'>
+ <params>
+ <param name='timeout' doc='Timeout configuration' />
+ <param name='pong' doc='Waiting for pong timeout' />
+ <param name='NR' doc='Timeout in seconds' />
+ </params>
+ </command>
+ <command id='token TOKEN'>
+ <params>
+ <param name='token' doc='Authentication token configuration' />
+ <param name='TOKEN' doc='Token of the BSC, currently transferred in cleartext' />
+ </params>
+ </command>
+ <command id='ip-dscp <0-255>'>
+ <params>
+ <param name='ip-dscp' doc='Set the IP DSCP for the BSCs to use' />
+ <param name='<0-255>' doc='Set the IP_TOS attribute' />
+ </params>
+ </command>
+ <command id='ip-tos <0-255>'>
+ <params>
+ <param name='ip-tos' doc='Use ip-dscp in the future.' />
+ <param name='<0-255>' doc='Set the DSCP' />
+ </params>
+ </command>
+ <command id='access-list-name NAME'>
+ <params>
+ <param name='access-list-name' doc='Set the name of the access list to use.' />
+ <param name='NAME' doc='The name of the to be used access list.' />
+ </params>
+ </command>
+ <command id='no access-list-name'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='access-list-name' doc='Remove the access list from the NAT.' />
+ </params>
+ </command>
+ <command id='imsi-black-list-file-name NAME'>
+ <params>
+ <param name='imsi-black-list-file-name' doc='IMSI black listing' />
+ <param name='NAME' doc='Filename IMSI and reject-cause' />
+ </params>
+ </command>
+ <command id='no imsi-black-list-file-name'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='imsi-black-list-file-name' doc='Remove the imsi-black-list' />
+ </params>
+ </command>
+ <command id='ussd-list-name NAME'>
+ <params>
+ <param name='ussd-list-name' doc='Set the name of the access list to check for IMSIs for USSD message' />
+ <param name='NAME' doc='The name of the access list for HLR USSD handling' />
+ </params>
+ </command>
+ <command id='ussd-query REGEXP'>
+ <params>
+ <param name='ussd-query' doc='Set the USSD query to match with the ussd-list-name' />
+ <param name='REGEXP' doc='The query to match' />
+ </params>
+ </command>
+ <command id='ussd-token TOKEN'>
+ <params>
+ <param name='ussd-token' doc='Set the token used to identify the USSD module' />
+ <param name='TOKEN' doc='Secret key' />
+ </params>
+ </command>
+ <command id='ussd-local-ip A.B.C.D'>
+ <params>
+ <param name='ussd-local-ip' doc='Set the IP to listen for the USSD Provider' />
+ <param name='A.B.C.D' doc='IP Address' />
+ </params>
+ </command>
+ <command id='use-msc-ipa-for-mgcp'>
+ <params>
+ <param name='use-msc-ipa-for-mgcp' doc='This needs to be set at start. Handle MGCP messages through the IPA protocol and not through the UDP socket.' />
+ </params>
+ </command>
+ <command id='access-list NAME imsi-allow [REGEXP]'>
+ <params>
+ <param name='access-list' doc='Access list commands' />
+ <param name='NAME' doc='Name of the access list' />
+ <param name='imsi-allow' doc='Add allowed IMSI to the list' />
+ <param name='[REGEXP]' doc='Regexp for IMSIs' />
+ </params>
+ </command>
+ <command id='access-list NAME imsi-deny [REGEXP] (<0-256>) (<0-256>)'>
+ <params>
+ <param name='access-list' doc='Access list commands' />
+ <param name='NAME' doc='Name of the access list' />
+ <param name='imsi-deny' doc='Add denied IMSI to the list' />
+ <param name='[REGEXP]' doc='Regexp for IMSIs' />
+ <param name='<0-256>' doc='CM Service Reject reason' />
+ <param name='<0-256>' doc='LU Reject reason' />
+ </params>
+ </command>
+ <command id='no access-list NAME'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='access-list' doc='Remove an access-list by name' />
+ <param name='NAME' doc='The access-list to remove' />
+ </params>
+ </command>
+ <command id='number-rewrite FILENAME'>
+ <params>
+ <param name='number-rewrite' doc='Set the file with rewriting rules.' />
+ <param name='FILENAME' doc='Filename' />
+ </params>
+ </command>
+ <command id='no number-rewrite'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='number-rewrite' doc='Set the file with rewriting rules.' />
+ </params>
+ </command>
+ <command id='number-rewrite-post FILENAME'>
+ <params>
+ <param name='number-rewrite-post' doc='Set the file with post-routing rewriting rules.' />
+ <param name='FILENAME' doc='Filename' />
+ </params>
+ </command>
+ <command id='no number-rewrite-post'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='number-rewrite-post' doc='Set the file with post-routing rewriting rules.' />
+ </params>
+ </command>
+ <command id='rewrite-smsc addr FILENAME'>
+ <params>
+ <param name='rewrite-smsc' doc='SMSC Rewriting' />
+ <param name='addr' doc='The SMSC Address to match and replace in RP-DATA' />
+ <param name='FILENAME' doc='File with rules for the SMSC Address replacing' />
+ </params>
+ </command>
+ <command id='rewrite-smsc tp-dest-match FILENAME'>
+ <params>
+ <param name='rewrite-smsc' doc='SMSC Rewriting' />
+ <param name='tp-dest-match' doc='Match TP-Destination of a SMS.' />
+ <param name='FILENAME' doc='File with rules for matching MSISDN and TP-DEST' />
+ </params>
+ </command>
+ <command id='sms-clear-tp-srr FILENAME'>
+ <params>
+ <param name='sms-clear-tp-srr' doc='SMS TPDU Sender Report Request clearing' />
+ <param name='FILENAME' doc='Files with rules for matching MSISDN' />
+ </params>
+ </command>
+ <command id='no sms-clear-tp-srr'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='sms-clear-tp-srr' doc='SMS TPDU Sender Report Request clearing' />
+ </params>
+ </command>
+ <command id='sms-number-rewrite FILENAME'>
+ <params>
+ <param name='sms-number-rewrite' doc='SMS TP-DA Number rewriting' />
+ <param name='FILENAME' doc='Files with rules for matching MSISDN' />
+ </params>
+ </command>
+ <command id='no sms-number-rewrite'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='sms-number-rewrite' doc='Disable SMS TP-DA rewriting' />
+ </params>
+ </command>
+ <command id='prefix-tree FILENAME'>
+ <params>
+ <param name='prefix-tree' doc='Prefix tree for number rewriting' />
+ <param name='FILENAME' doc='File to load' />
+ </params>
+ </command>
+ <command id='no prefix-tree'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='prefix-tree' doc='Prefix tree for number rewriting' />
+ </params>
+ </command>
+ <command id='paging-group <0-1000>'>
+ <params>
+ <param name='paging-group' doc='Create a Paging Group' />
+ <param name='<0-1000>' doc='Number of the Group' />
+ </params>
+ </command>
+ <command id='no paging-group <0-1000>'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='paging-group' doc='Delete paging-group' />
+ <param name='<0-1000>' doc='Paging-group number' />
+ </params>
+ </command>
+ <command id='bsc BSC_NR'>
+ <params>
+ <param name='bsc' doc='BSC configuration' />
+ <param name='BSC_NR' doc='Identifier of the BSC' />
+ </params>
+ </command>
+ </node>
+ <node id='24'>
+ <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>
+ <command id='token TOKEN'>
+ <params>
+ <param name='token' doc='Authentication token configuration' />
+ <param name='TOKEN' doc='Token of the BSC, currently transferred in cleartext' />
+ </params>
+ </command>
+ <command id='location_area_code <0-65535>'>
+ <params>
+ <param name='location_area_code' doc='Add the Location Area Code (LAC) of this BSC' />
+ <param name='<0-65535>' doc='LAC' />
+ </params>
+ </command>
+ <command id='no location_area_code <0-65535>'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='location_area_code' doc='Remove the Location Area Code (LAC) of this BSC' />
+ <param name='<0-65535>' doc='LAC' />
+ </params>
+ </command>
+ <command id='paging forbidden (0|1)'>
+ <params>
+ <param name='paging' doc='Paging' />
+ <param name='forbidden' doc='Forbid sending PAGING REQUESTS to the BSC.' />
+ <param name='0' doc='Do not forbid' />
+ <param name='1' doc='Forbid' />
+ </params>
+ </command>
+ <command id='description DESC'>
+ <params>
+ <param name='description' doc='Provide a description for the given BSC.' />
+ <param name='DESC' doc='Description' />
+ </params>
+ </command>
+ <command id='access-list-name NAME'>
+ <params>
+ <param name='access-list-name' doc='Set the name of the access list to use.' />
+ <param name='NAME' doc='The name of the to be used access list.' />
+ </params>
+ </command>
+ <command id='no access-list-name'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='access-list-name' doc='Do not use an access-list for the BSC.' />
+ </params>
+ </command>
+ <command id='max-endpoints <1-1024>'>
+ <params>
+ <param name='max-endpoints' doc='Highest endpoint to use (exclusively)' />
+ <param name='<1-1024>' doc='Number of ports' />
+ </params>
+ </command>
+ <command id='paging-group <0-1000>'>
+ <params>
+ <param name='paging-group' doc='Use a paging group' />
+ <param name='<0-1000>' doc='Paging Group to use' />
+ </params>
+ </command>
+ <command id='paging group <0-1000>'>
+ <params>
+ <param name='paging' doc='Paging' />
+ <param name='group' doc='Use a paging group' />
+ <param name='<0-1000>' doc='Paging Group to use' />
+ </params>
+ </command>
+ <command id='no paging group'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='paging' doc='Paging' />
+ <param name='group' doc='Disable the usage of a paging group.' />
+ </params>
+ </command>
+ </node>
+ <node id='27'>
+ <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>
+ <command id='rtp keep-alive <1-120>'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='<1-120>' doc='Keep-alive interval in secs' />
+ </params>
+ </command>
+ <command id='rtp keep-alive once'>
+ <params>
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ <param name='once' doc='Send dummy packet only once after CRCX/MDCX' />
+ </params>
+ </command>
+ <command id='no rtp keep-alive'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp' doc='RTP configuration' />
+ <param name='keep-alive' doc='Send dummy UDP packet to net RTP destination' />
+ </params>
+ </command>
+ <command id='sdp audio-payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload Number' />
+ </params>
+ </command>
+ <command id='sdp audio-payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='name' doc='Payload' />
+ <param name='NAME' doc='Payload Name' />
+ </params>
+ </command>
+ <command id='sdp audio payload number <1-255>'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='number' doc='Number' />
+ <param name='<1-255>' doc='Payload Number' />
+ </params>
+ </command>
+ <command id='sdp audio payload name NAME'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio' doc='Audio payload options' />
+ <param name='payload' doc='Audio payload options' />
+ <param name='name' doc='Payload' />
+ <param name='NAME' doc='Payload Name' />
+ </params>
+ </command>
+ <command id='loop (0|1)'>
+ <params>
+ <param name='loop' doc='Loop audio for all endpoints on this trunk' />
+ <param name='0' doc='Don't Loop' />
+ <param name='1' doc='Loop' />
+ </params>
+ </command>
+ <command id='rtcp-omit'>
+ <params>
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='no rtcp-omit'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtcp-omit' doc='Drop RTCP packets in both directions' />
+ </params>
+ </command>
+ <command id='rtp-patch ssrc'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='no rtp-patch ssrc'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='ssrc' doc='Force a fixed SSRC' />
+ </params>
+ </command>
+ <command id='rtp-patch timestamp'>
+ <params>
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch timestamp'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ <param name='timestamp' doc='Adjust RTP timestamp' />
+ </params>
+ </command>
+ <command id='no rtp-patch'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rtp-patch' doc='Modify RTP packet header in both directions' />
+ </params>
+ </command>
+ <command id='sdp audio fmtp-extra .NAME'>
+ <params>
+ <param name='sdp' doc='Add extra fmtp for the SDP file' />
+ <param name='audio' doc='Audio' />
+ <param name='fmtp-extra' doc='Fmtp-extra' />
+ <param name='.NAME' doc='Extra Information' />
+ </params>
+ </command>
+ <command id='sdp audio-payload send-ptime'>
+ <params>
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ <command id='no sdp audio-payload send-ptime'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='sdp' doc='SDP File related options' />
+ <param name='audio-payload' doc='Audio payload options' />
+ <param name='send-ptime' doc='Send SDP ptime (packet duration) attribute' />
+ </params>
+ </command>
+ </node>
+ <node id='28'>
+ <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>
+ <command id='location_area_code <0-65535>'>
+ <params>
+ <param name='location_area_code' doc='Add the Location Area Code (LAC)' />
+ <param name='<0-65535>' doc='LAC' />
+ </params>
+ </command>
+ <command id='no location_area_code <0-65535>'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='location_area_code' doc='Remove the Location Area Code (LAC)' />
+ <param name='<0-65535>' doc='LAC' />
+ </params>
+ </command>
+ </node>
+</vtydoc>
\ No newline at end of file diff --git a/OsmoNITB/Makefile b/OsmoNITB/Makefile new file mode 100644 index 0000000..29d9c51 --- /dev/null +++ b/OsmoNITB/Makefile @@ -0,0 +1,41 @@ +# XSL stylesheets downloaded from http://docbook.sourceforge.net/release/xsl/current/html/ +# Makefile from BitBake/OpenEmbedded manuals + +EXTRA_DEPS = gen-nitb-vty-docbook + +topdir = . +nitb_reference = $(topdir)/osmonitb-vty-reference.xml +manuals = $(nitb_reference) +# types = pdf txt rtf ps xhtml html man tex texi dvi +# types = pdf txt +types = $(docbooktotypes) +docbooktotypes = pdf +# htmlcssfile = +# htmlcss = + +TOPDIR := .. +ASCIIDOCS := osmonitb-usermanual + +include $(TOPDIR)/build/Makefile.asciidoc.inc +include $(TOPDIR)/build/Makefile.inc + +osmonitb-usermanual.pdf: chapters/*.adoc + +clean: + rm -rf $(cleanfiles) + +gen-nitb-vty-docbook: FORCE + $(call command,xsltproc -o generated/combined1.xml \ + --stringparam with $(PWD)/../common/vty_additions.xml \ + $(MERGE_DOC) vty/nitb_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/nitb_vty_additions.xml \ + $(MERGE_DOC) generated/combined2.xml, \ + XSLTPROC,Merging NITB VTY) + $(call command,xsltproc ../vty_reference.xsl generated/combined3.xml > generated/docbook_vty.xml, \ + XSLTPROC,Converting NITB VTY to DocBook) diff --git a/OsmoNITB/chapters/bts-examples.adoc b/OsmoNITB/chapters/bts-examples.adoc new file mode 100644 index 0000000..b15fb99 --- /dev/null +++ b/OsmoNITB/chapters/bts-examples.adoc @@ -0,0 +1,281 @@ +[[bts-examples]] +== OsmoNITB example configuration files + +The `openbsc/doc/examples/osmo-nitb` directory in the OpenBSC source +tree contains a collection of example configuration files, sorted by BTS +type. + +This chapter is illustrating some excerpts from those examples + +[[bts_example_bs11]] +=== Example configuration for OsmoNITB with one dual-TRX BS-11 + +.OsmoNITB with BS11, 2 TRX, no frequency hopping +==== + +---- +e1_input + e1_line 0 driver misdn +network + network country code 1 + mobile network code 1 + short name OpenBSC + long name OpenBSC + timer t3101 10 + timer t3113 60 + bts 0 + type bs11 <1> + band GSM900 + cell_identity 1 + location_area_code 1 + training_sequence_code 7 + base_station_id_code 63 + oml e1 line 0 timeslot 1 sub-slot full <2> + oml e1 tei 25 <3> + trx 0 + arfcn 121 + max_power_red 0 + rsl e1 line 0 timeslot 1 sub-slot full <4> + rsl e1 tei 1 <5> + timeslot 0 + phys_chan_config CCCH+SDCCH4 + e1 line 0 timeslot 1 sub-slot full + timeslot 1 + phys_chan_config TCH/F + e1 line 0 timeslot 2 sub-slot 1 <6> + timeslot 2 + phys_chan_config TCH/F + e1 line 0 timeslot 2 sub-slot 2 + timeslot 3 + phys_chan_config TCH/F + e1 line 0 timeslot 2 sub-slot 3 + timeslot 4 + phys_chan_config TCH/F + e1 line 0 timeslot 3 sub-slot 0 + timeslot 5 + phys_chan_config TCH/F + e1 line 0 timeslot 3 sub-slot 1 + timeslot 6 + phys_chan_config TCH/F + e1 line 0 timeslot 3 sub-slot 2 + timeslot 7 + phys_chan_config TCH/F + e1 line 0 timeslot 3 sub-slot 3 + trx 1 + arfcn 123 + max_power_red 0 + rsl e1 line 0 timeslot 1 sub-slot full <4> + rsl e1 tei 2 <5> + timeslot 0 + phys_chan_config TCH/F + e1 line 0 timeslot 4 sub-slot 0 <6> + timeslot 1 + phys_chan_config TCH/F + e1 line 0 timeslot 4 sub-slot 1 + timeslot 2 + phys_chan_config TCH/F + e1 line 0 timeslot 4 sub-slot 2 + timeslot 3 + phys_chan_config TCH/F + e1 line 0 timeslot 4 sub-slot 3 + timeslot 4 + phys_chan_config TCH/F + e1 line 0 timeslot 5 sub-slot 0 + timeslot 5 + phys_chan_config TCH/F + e1 line 0 timeslot 5 sub-slot 1 + timeslot 6 + phys_chan_config TCH/F + e1 line 0 timeslot 5 sub-slot 2 + timeslot 7 + phys_chan_config TCH/F + e1 line 0 timeslot 5 sub-slot 3 +---- +==== + +<1> The BTS type must be set to __bs11__ +<2> The OML E1 timeslot needs to be identical with what was on the BTS side using LMT. +<3> The OML TEI value needs to be identical with what was configured on the BTS side using LMT. +<4> The RSL E1 timeslot can be identical for all TRX. +<5> The RSL TEI values __must__ be different if multiple TRX share one E1 signalling timeslot. +<6> The TCH all need to be allocated one 16k sub-slot on the E1 + +[[bts_example_nbts]] +=== Example configuration for OsmoNITB with one single-TRX nanoBTS + +.OsmoNITB with one single-TRX nanoBTS +==== + +---- +e1_input + e1_line 0 driver ipa <1> +network + network country code 1 + mobile network code 1 + short name OpenBSC + long name OpenBSC + auth policy closed + location updating reject cause 13 + encryption a5 0 + neci 1 + rrlp mode none + mm info 1 + handover 0 + bts 0 + type nanobts <2> + band DCS1800 <3> + cell_identity 0 + location_area_code 1 + training_sequence_code 7 + base_station_id_code 63 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + ip.access unit_id 1801 0 <4> + oml ip.access stream_id 255 line 0 + gprs mode none + trx 0 + rf_locked 0 + arfcn 871 <5> + nominal power 23 + max_power_red 20 <6> + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config SDCCH8 + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/F + timeslot 6 + phys_chan_config TCH/F + timeslot 7 + phys_chan_config TCH/F +---- +==== + +<1> You have to configure one virtual E1 line with the + IPA driver in order to use Abis/IP. One e1_line is + sufficient for any number of A-bis/IP BTSs, there is no + limit like in physical E1 lines. +<2> The BTS type must be set using `type nanobts` +<3> The GSM band must be set according to the BTS hardware. +<4> The IPA Unit ID parameter must be set to what has been configured on + the BTS side using the __BTS Manager__ or `ipaccess-config`. +<5> The ARFCN of the BTS. +<6> All known nanoBTS units have a nominal transmit power of 23 dBm. If + a `max_power_red` of 20 (dB) is configured, the resulting output + power at the BTS Tx port is 23 - 20 = 3 dBm. + +[NOTE] +==== +The `nominal_power` setting does __not__ influence the transmitted power +to the BTS! It is a setting by which the system administrator tells the +BSC about the nominal output power of the BTS. The BSC uses this as +basis for calculations. +==== + + +[[bts_example_nbts_multi]] +=== Example configuration for OsmoNITB with multi-TRX nanoBTS + +.OsmoNITB configured for dual-TRX (stacked) nanoBTS +==== + +---- +e1_input + e1_line 0 driver ipa +network + network country code 1 + mobile network code 1 + short name OpenBSC + long name OpenBSC + auth policy closed + location updating reject cause 13 + encryption a5 0 + neci 1 + rrlp mode none + mm info 0 + handover 0 + bts 0 + type nanobts + band DCS1800 + cell_identity 0 + location_area_code 1 + training_sequence_code 7 + base_station_id_code 63 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + ip.access unit_id 1800 0 <1> + oml ip.access stream_id 255 line 0 + gprs mode none + trx 0 + rf_locked 0 + arfcn 871 + nominal power 23 + max_power_red 0 + rsl e1 tei 0 + timeslot 0 + phys_chan_config CCCH+SDCCH4 + timeslot 1 + phys_chan_config SDCCH8 + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/F + timeslot 6 + phys_chan_config TCH/F + timeslot 7 + phys_chan_config TCH/F + trx 1 + rf_locked 0 + arfcn 873 + nominal power 23 + max_power_red 0 + rsl e1 tei 0 + timeslot 0 + phys_chan_config SDCCH8 + timeslot 1 + phys_chan_config TCH/F + timeslot 2 + phys_chan_config TCH/F + timeslot 3 + phys_chan_config TCH/F + timeslot 4 + phys_chan_config TCH/F + timeslot 5 + phys_chan_config TCH/F + timeslot 6 + phys_chan_config TCH/F + timeslot 7 + phys_chan_config TCH/F +---- +==== + +<1> In this example, the IPA Unit ID is specified as `1800 0`. Thus, the + first nanoBTS unit (`trx 0`) needs to be configured to 1800/0/0 and + the second nanoBTS unit (`trx 1`) needs to be configured to 1800/0/1. + You can configure the BTS unit IDs using the `ipaccess-config` + utility included in OpenBSC. + +[NOTE] +==== +For building a multi-TRX setup, you also need to connect the TIB cables +between the two nanoBTS units, as well as the coaxial/RF AUX cabling. +==== diff --git a/OsmoNITB/chapters/hlr.adoc b/OsmoNITB/chapters/hlr.adoc new file mode 100644 index 0000000..d630969 --- /dev/null +++ b/OsmoNITB/chapters/hlr.adoc @@ -0,0 +1,244 @@ +[[hlr]] +== OsmoNITB HLR subsystem + + +As OsmoNITB is a fully autonomous system, it also includes a +minimal/simplistic HLR and AUC. Compared to real GSM networks, it does +not implement any of the external interfaces of a real HLR, such as the +MAP/TCAP/SCCP protocol. It can only be used inside the OsmoNITB. + +While functionally maintaining the subscriber database and +authentication keys, it offers a much reduced feature set. For example, +it is not possible to configure bearer service permission lists, or +BAOC. + +At this time, the only supported database back end for the OsmoNITB +internal HLR/AUC is the file-based SQL database SQLite3. + + +=== Authorization Policy + +Authorization determines how subscribers can access your network. This +is unrelated to authentication, which verifies the authenticity of SIM +cards that register with the network. + +OsmoNITB supports three different authorization policies: + +closed:: + This mode requires subscribers to have a record with their IMSI + in the HLR, and it requires that their status is set to + `authorized 1` + + + This reflects the most typical operation of GSM networks, where + subscribers have to obtain a SIM card issued by the operator. At the + time the SIM gets issued, it is provisioned in the HLR to enable the + subscriber to use the services of the network. + +accept-all:: + This policy accepts any and all subscribers that every try to + register to the network. Non-existent subscribers are + automatically and dynamically created in the HLR, and they + immediately have full access to the network. Any IMSI can + register, no matter what SIM card they are using in their + phones. + + + This mode is mostly useful for lab testing or for demonstrating + the lack of mutual authentication and the resulting security + problems in the GSM system. + +NOTE: As you do not know the Ki of dynamically created subscribers with +SIM cards of unknown origin, you cannot use cryptographic authentication +and/or encryption! + +CAUTION: Never run a network in accept-all mode, unless you know exactly +what you are doing. You are very likely causing service interruption to +mobile phones in the coverage area of your BTSs, which is punishable +under criminal law in most countries! + +token:: + This method was created for special-purpose configurations at + certain events. It tries to combine the benefits of automatic + enrollment with foreign IMSI while trying to prevent causing disruption + to phones that register to the network by accident. + + + This policy is currently not actively supported. + +The currently active policy can be selected using the +`auth policy (closed|accept-all|token)` at the `network` configuration +node of the VTY. + +=== Location Update Reject Cause + +When a 'Location Update Request' is to be rejected by the network (e.g. +due to an unknown or unauthorized subscriber), the 'Location Update +Reject' message will contain a 'Reject Cause'. + +You can configure the numeric value of that cause by means of the +`location updating reject cause <2-111>` command at the network node. + + +=== Querying information about a subscriber + +Information about a specific subscriber can be obtained from the HLR by +issuing `show subscriber` command. + +For example, to display information about a subscriber with the IMSI +602022080345046, you can use the following command: + +.Displaying information about a subscriber +---- +OpenBSC> show subscriber imsi 602022080345046 + ID: 1, Authorized: 1 <1> + Name: 'Frank' + Extension: 2342 <2> + LAC: 1/0x1 <3> + IMSI: 602022080345046 + TMSI: 4DB8B4D8 + Pending: 0 + Use count: 1 +---- + +<1> Whether or not the subscriber is authorized for access +<2> OsmoNITB is often treated like a PBX, this is why phone numbers are called extensions +<3> The Location Area Code (LAC) indicates where in the network the + subscriber has last performed a LOCATION UPDATE. Detached subscribers + indicate a LAC of 0. + +Subscribers don't have to be identified/referenced by their IMSI, but +they can also be identified by their extension (phone number), their +TMSI as well as their internal database ID. Example alternatives +showing the same subscriber record are: +---- +OpenBSC> show subscriber id 1 +---- + +or + +---- +OpenBSC> show subscriber extension 2342 +---- + + +=== Enrolling a subscriber + +A subscriber can be added to the network in different ways: + +* direct insert into SQL database by external program +* semi-automatic from the VTY + +In most applications, the subscribers will be pre-provisioned by direct +insertion into the SQL database. This can be done by a custom program, +the SQL schema is visible from the `.schema` command on the sqlite3 +command-line program, and there are several scripts included in the +OpenBSC source code, written in both Python as well as Perl language. + +In case you are obtaining pre-provisioned SIM cards from sysmocom: They +will ship with a HLR SQL database containing the subscriber records. + +If you prefer to program the SIM cards yourself, you can use the pySim +tool available from http://cgit.osmocom.org/cgit/pysim/. It has the +ability to append the newly-provisioned SIM cards to an existing HLR +database, please check its `--write-hlr` command line argument. + + +NOTE: OsmoNITB will automatically add new subscriber records for every +IMSI that ever tries to perform a LOCATION UPDATE with the network. +However, those subscriber records are marked as "not authorized", i.e. +they will not be able to use your network. + + +=== Changing subscriber properties + + +Once a subscriber exists in the HLR, his properties can be set +interactively from the VTY. Modifying subscriber properties requires +the VTY to be in the privileged (`enable`) mode. + +All commands are single-line commands and always start with identifying +the subscriber on which the operation shall be performed. Such +identification can be performed by + +* IMSI +* TMSI +* extension number +* ID (internal identifier) + + +==== Changing the subscriber phone number + + +You can set the phone number of the subscriber with IMSI 602022080345046 +to 12345 by issuing the following VTY command from the enable node: + +.Changing the phone number of a subscriber +---- +OpenBSC# subscriber imsi 602022080345046 extension 12345 +---- + + +==== Changing the subscriber name + +The subscriber name is an internal property of OsmoNITB. The name will +never be transmitted over the air interface or used by the GSM protocol. +The sole purpose of the name is to make log output more intuitive, as +human readers of log files tend to remember names easier than IMSIs or +phone numbers. + +In order to set the name of subscriber with extension number 12345 to +"Frank", you can issue the following command on the VTY enable node: +`subscriber extension 12345 name Frank` + +The name may contain spaces and special characters. You can verify the +modified subscriber record by issuing the `show subscriber extension +12345` command. + + +==== Changing the authorization status + +As the HLR automatically adds records for all subscribers it sees, those +that are actually permitted to use the network have to be authorized by +setting the authorized property of the subscriber. + +You can set the authorized property by issuing the following VTY command +from the enable node: + +.Authorizing a subscriber +---- +OpenBSC# subscriber extension 12345 authorized 1 +---- + +Similarly, you can remove the authorized status from +a subscriber by issuing the following command: + +.Un-authorizing a subscriber +---- +OpenBSC# subscriber extension 12345 authorized 0 +---- + + +==== Changing the GSM authentication algorithm and Ki + +In order to perform cryptographic authentication of the subscriber, his +Ki needs to be known to the HLR/AUC. Furthermore, the authentication +algorithm implemented on the SIM card (A3/A8) must match that of the +algorithm configured in the HLR. + +Currently, OsmoNITB supports the following authentication algorithms: + +none:: No authentication is performed +xor:: Authentication is performed using the XOR algorithm (for test/debugging purpose) +comp128v1:: Authentication is performed according to the COMP128v1 algorithm + +WARNING: None of the supported authentication algorithms are +cryptographically very strong. Development is proceeding to include +support for stronger algorithms like GSM-MILENAGE. Please contact +sysmocom if you require strong authentication support. + +In order to configure a subscriber for COMP128v1 and to set his Ki, you +can use the following VTY command from the enable node: + +.Configuring a subscriber for COMP128v1 and setting Ki +---- +OpenBSC# subscriber extension 2342 a3a8 comp128v1 000102030405060708090a0b0c0d0e0f +---- + diff --git a/OsmoNITB/chapters/mncc.adoc b/OsmoNITB/chapters/mncc.adoc new file mode 100644 index 0000000..2b75923 --- /dev/null +++ b/OsmoNITB/chapters/mncc.adoc @@ -0,0 +1,206 @@ +[[mncc]] +== MNCC for external Call Control + +The 3GPP GSM specifications define an interface point (service access +point) inside the MSC between the call-control part and the rest of the +system. This service access point is called the MNCC-SAP. It is +described in _3GPP TS 24.007_ <<3gpp-ts-24-007>> Chapter 7.1. + +However, like for all internal interfaces, 3GPP does not give any +specific encoding for the primitives passed at this SAP. + +The MNCC protocol of OsmoNITB has been created by the Osmocom community +and allows to control the call handling and audio processing by an +external application. The interface is currently exposed using Unix +Domain Sockets. The protocol is defined in the `mncc.h` header file. + +OsmoNITB can run in two different modes: + +. with internal MNCC handler +. with external MNCC handler + +=== Internal MNCC handler + +When the internal MNCC handler is enabled, OsmoNITB will switch voice +calls between GSM subscribers internally and automatically based on +the subscribers __extension__ number. No external software is required. + +NOTE: Internal MNCC is the default behavior. + +==== Internal MNCC Configuration + +The internal MNCC handler offers some configuration parameters under the +`mncc-int` VTY configuration node. + +===== `default-codec tch-f (fr|efr|amr)` + +Using this command, you can configure the default voice codec to be used +by voice calls on TCH/F channels. + +===== `default-codec tch-h (hr|amr)` + +Using this command, you can configure the default voice codec to be used +by voice calls on TCH/H channels. + +=== External MNCC handler + +When the external MNCC handler is enabled, OsmoNITB will not perform any +internal call switching, but delegate all call-control handling towards +the external MNCC program connected via the MNCC socket. + +If you intend to operate OsmoNITB with external MNCC handler, you have +to start it with the `-m` or `--mncc-sock` command line option. + +At the time of this writing, the only external application implementing +the MNCC interface compatible with the OsmoNITB MNCC socket was `lcr`, +the Linux Call Router. + +=== MNCC protocol description + +The protocol follows the primitives specified in 3GPP TS 04.07 Chapter +7.1. The encoding of the primitives is provided in the `openbsc/mncc.h` +header file, which uses some common definitions from +`osmocom/gsm/mncc.h` (part of libosmocore.git). + +However, OsmoNITB MNCC specifies a number of additional primitives +beyond those listed in the 3GPP specification. + +The different calls in the network are distinguished by their callref +(call reference), which is a unique unsigned 32bit integer. + +==== MNCC_HOLD_IND + +Direction: NITB -> Handler + +A 'CC HOLD' message was received from the MS. + +==== MNCC_HOLD_CNF + +Direction: Handler -> NITB + +Acknowledge a previously-received 'CC HOLD' message, causes the +transmission of a 'CC HOLD ACK' message to the MS. + +==== MNCC_HOLD_REJ + +Direction: Handler -> NITB + +Reject a previously-received 'CC HOLD' message, causes the +transmission of a 'CC HOLD REJ' message to the MS. + +==== MNCC_RETRIEVE_IND + +Direction: NITB -> Handler + +A 'CC RETRIEVE' message was received from the MS. + +==== MNCC_RETRIEVE_CNF + +Direction: Handler -> NITB + +Acknowledge a previously-received 'CC RETRIEVE' message, causes the +transmission of a 'CC RETRIEVE ACK' message to the MS. + + +==== MNCC_RETRIEVE_REJ + +Direction: Handler -> NITB + +Reject a previously-received 'CC RETRIEVE' message, causes the +transmission of a 'CC RETRIEVE REJ' message to the MS. + +==== MNCC_USERINFO_REQ + +Direction: NITB -> Handler + +Causes a 'CC USER INFO' message to be sent to the MS. + +==== MNCC_USERINFO_IND + +Direction: NITB -> Handler + +Indicates that a 'CC USER-USER' message has been received from the MS. + +==== MNCC_BRIDGE + +Direction: Handler -> NITB + +Requests that the TCH (voice) channels of two calls shall be +inter-connected. This is the old-fashioned way of using MNCC, +primarily required for circuit-switched BTSs whose TRAU frames are +received via an E1 interface card on the NITB machine. + +==== MNCC_FRAME_RECV + +Direction: Handler -> NITB + +Enable the forwarding of TCHF voice frames via the MNCC interface in +NITB->Handler direction for the specified call. + +==== MNCC_FRAME_DROP + +Direction: Handler -> NITB + +Disable the forwarding of TCHF voice frames via the MNCC interface in +NITB->Handler direction for the specified call. + +==== MNCC_LCHAN_MODIFY + +Direction: Handler -> NITB + +Modify the current dedicated radio channel from signalling to voice, or +if it is a signalling-only channel (SDCCH), assign a TCH to the MS. + +==== MNCC_RTP_CREATE + +Direction: Handler -> NITB + +Create a RTP socket for this call at the BTS/TRAU that serves this BTS. + +==== MNCC_RTP_CONNECT + +Direction: Handler -> NITB + +Connect the RTP socket of this call to the given remote IP address and +port. + +==== MNCC_RTP_FREE + +Direction: Handler -> NITB + +Release a RTP connection for one given call. + +==== GSM_TCHF_FRAME + +Direction: both + +Transfer the payload of a GSM Full-Rate (FR) voice frame between the +NITB and an external MNCC handler. + +==== GSM_TCHF_FRAME_EFR + +Direction: both + +Transfer the payload of a GSM Enanced Full-Rate (EFR) voice frame +between the NITB and an external MNCC handler. + +==== GSM_TCHH_FRAME + +Direction: both + +Transfer the payload of a GSM Half-Rate (HR) voice frame between the +NITB and an external MNCC handler. + +==== GSM_TCH_FRAE_AMR + +Direction: both + +Transfer the payload of a GSM Adaptive-Multi-Rate (AMR) voice frame +between the NITB and an external MNCC handler. + +==== GSM_BAD_FRAME + +Direction: NITB -> Handler + +Indicate that no valid voice frame, but a 'bad frame' was received over +the radio link from the MS. diff --git a/OsmoNITB/chapters/net.adoc b/OsmoNITB/chapters/net.adoc new file mode 100644 index 0000000..ecd0889 --- /dev/null +++ b/OsmoNITB/chapters/net.adoc @@ -0,0 +1,139 @@ +[[net]] +== OsmoNITB Core Network Subsystem + +The OsmoNITB Core Network is a minimalistic implementation of the +classic MSC/VLR/HLR/AUC/SMSC components. None of the standardized core +network protocols (such as SCCP/TCAP/MAP) are used, interfaces between +VLR and HLR are simple function calls inside the same software package. + +OsmoNITB can thus provide autonomous voice and SMS services to its +coverage area, but it cannot provide roaming interfaces to classic GSM +operators. To support this configuration, it is suggested to use the +OsmoBSC variant of OpenBSC and interface it with a conventional MSC +using A-over-IP protocol. + +If you have classic GSM network/operator background, many of the +concepts used in OsmoNITB will appear foreign to you, as they are very +unlike the conventional GSM networks that you have worked with. + + +=== Configuring the Core Network + +Like everything else, the core network related parameters are configured +using the VTY. The respective parameters are underneath the +`network` config node. + +You can get to that node by issuing the following commands: + +.Entering the config network node +---- +OpenBSC> enable +OpenBSC# configure terminal +OpenBSC(config)# network +OpenBSC(config-net)# +---- + +A full reference to them can be found in the _OsmoNITB VTY reference +manual_ <<vty-ref-osmonitb>>. This section will only introduce the most +commonly used settings in detail. + +[TIP] +==== +You can always use the `list` VTY command to get a list of all possible +commands at the current node. +==== + + +=== Configuring the MCC/MNC + +The key identities of every GSM PLMN is the MCC and MNC. They are +identical over the entire network. In most cases, the MCC/MNC will be +allocated to the operator by the respective local regulatory authority. +For example, to set the MCC/MNC of 262-89, you may enter: + +.Configuring the MCC/MNC +---- +OpenBSC(config-net)# network country code 262 +OpenBSC(config-net)# mobile network code 89 +---- + + +=== Configuring MM INFO + +The __MM INFO__ procedure can be used after a successful __LOCATION +UPDATE__ in order to transmit the human-readable network name as well as +local time zone information to the MS. gq + +By default, MM INFO is not active. You can activate it, and set its +configuration using the VTY. An example is provided below. + +.Configuring MM INFO +---- +OpenBSC(config-net)# mm info 1 +OpenBSC(config-net)# short name OpenBSC +OpenBSC(config-net)# long name OpenBSC +---- + +[NOTE] +==== +Not all phone support the MM INFO procedure. Unless they already are +factory-programmed to contain the name for your MCC/MNC, then they will +likely only provide a numeric display of the network name, such as +__262-89__ or with the country code transformed into a letter, such as +__D 89__. +==== + +The time information transmitted is determined by the local system time +of the operating system on which OsmoNITB is running. As BTSs attached +to one OsmoNITB can reside in different time zones, it is possible to +use the `timezone` command at each BTS node to set different time +zone offsets in hours and quarter hours. + + +=== Setting the NECI bit + +NECI (New Establishment Cause Indication) is an optional change of the +definition for establishment cause in the RACH burst. Among other +things, in a network with NECI, a MS can explicitly indicate its TCH/H +capability while asking for a dedicated radio channel. + +It is strongly recommended to use NECI. You can do so by issuing the following command: +.Enabling NECI +---- +OpenBSC(config-net)# neci 1 +---- + + +=== Configuring Handover + +As opposed to cell re-selection in idle mode, handover refers to the +explicit transfer of a MS dedicated channel from one radio channel to +another. This typically happens due to a MS moving from one cell to +another while in an active call. + +OsmoNITB has a number of hand-over related parameters by which the +hand-over algorithm can be tuned. Logically, those settings are settings +of the BSC component, but for historic reasons, they are also configured +under the __network__ VTY node. + +.Configuring Handover +---- +OpenBSC(config-net)# handover 1 +OpenBSC(config-net)# handover window rxlev averaging 10 +OpenBSC(config-net)# handover window rxqual averaging 1 +OpenBSC(config-net)# handover window rxlev neighbor averaging 10 +OpenBSC(config-net)# handover power budget interval 6 +OpenBSC(config-net)# handover power budget hysteresis 3 +OpenBSC(config-net)# handover maximum distance 9999 +---- + +[NOTE] +==== +If you are receiving the following error message: +---- +OpenBSC(config-net)# handover 1 +% Cannot enable handover unless RTP Proxy mode is enabled by using the -P command line option +---- +then you should do as indicated and make sure to start your `osmo-nitb` process using +the `-P` command line option. +==== diff --git a/OsmoNITB/chapters/overview.adoc b/OsmoNITB/chapters/overview.adoc new file mode 100644 index 0000000..d161af3 --- /dev/null +++ b/OsmoNITB/chapters/overview.adoc @@ -0,0 +1,196 @@ +[[overview]] +== Overview + +This manual should help you getting started with OsmoNITB. It will cover +aspects of configuring and running the OsmoNITB. + +[[intro_overview]] +=== About OsmoNITB + +OsmoNITB is one particular version of the OpenBSC software suite. +Unlike classic, distributed, hierarchical GSM networks, OsmoNITB +implements all parts of a GSM Network (BSC, MSC, VLR, HLR, AUC, SMSC) +__in the box__, i.e. in one element. + +The difference between classic GSM network architecture and the OsmoNITB +based GSM network architecture is illustrated in <<fig-gsm-classic>> and +<<fig-gsm-nitb>>. + +[[fig-gsm-classic]] +.Classic GSM network architecture (simplified) +[graphviz] +---- +digraph G { + rankdir=LR; + MS0 [label="MS"] + MS1 [label="MS"] + MS2 [label="MS"] + MS3 [label="MS"] + BTS0 [label="BTS"] + BTS1 [label="BTS"] + MSC [label="MSC/VLR"] + HLR [label="HLR/AUC"] + MS0->BTS0 [label="Um"] + MS1->BTS0 [label="Um"] + MS2->BTS1 [label="Um"] + MS3->BTS1 [label="Um"] + BTS0->BSC [label="Abis"] + BTS1->BSC [label="Abis"] + BSC->MSC [label="A"] + MSC->HLR [label="C"] + MSC->EIR [label="F"] + MSC->SMSC +} +---- + +[[fig-gsm-nitb]] +.GSM system architecture using OsmoNITB +[graphviz] +---- +digraph G { + rankdir=LR; + MS0 [label="MS"] + MS1 [label="MS"] + MS2 [label="MS"] + MS3 [label="MS"] + BTS0 [label="BTS"] + BTS1 [label="BTS"] + MS0->BTS0 [label="Um"] + MS1->BTS0 [label="Um"] + MS2->BTS1 [label="Um"] + MS3->BTS1 [label="Um"] + BTS0->BSC [label="Abis"] + BTS1->BSC [label="Abis"] + subgraph cluster_nitb { + label = "OsmoNITB"; + BSC + MSC [label="MSC/VLR"] + HLR [label="HLR/AUC"] + BSC->MSC [label="A"] + MSC->HLR [label="C"] + MSC->EIR [label="F"] + MSC->SMSC; + } +} +---- + + +=== Software Components + +OsmoNITB contains a variety of different software components, which +we'll quickly describe in this section. + +==== A-bis Implementation + +OsmoNITB implements the ETSI/3GPP specified A-bis interface, including +_3GPP TS 48.056_ <<3gpp-ts-48-056>> (LAPD), _3GPP TS 48.058_ +<<3gpp-ts-48-058>> (RSL) and 3GPP TS 52.021 <<3gpp-ts-52-021>> (OML). In +addition, it supports a variety of vendor-specific extensions and +dialects in order to communicate with BTSs from Siemens, Nokia, +Ericsson, ip.access and sysmocom. + +For more information, see <<bts>> and <<bts-examples>>. + + +==== BSC Implementation + +The BSC implementation covers the classic functionality of a GSM Base +Station Controller, i.e. + +* configuring and bringing up BTSs with their TRXs and TSs +* implementing the A-bis interface / protocols for signalling and actual + voice data (TRAU frames). +* processing measurement results from the mobile stations in dedicated + mode, performing hand-over decision and execution. +* Terminating the _3GPP TS 24.008_ <<3gpp-ts-24-008>> RR (Radio Resource) + sub-layer from the MS. + +For more information, see <<net>>, <<bts>> and <<bts-examples>>. + + +==== HLR/AUC + +A minimalistic implementation of the subscriber database (HLR) and +subscriber secret key storage (AUC). + +For more information, see <<hlr>>. + + +==== SMSC + +A minimal store-and-forward server for SMS, supporting both MO and MT +SMS service, as well as multi-part messages. + +The built-in SMSC also supports an external SMSC interface. For more +information, see <<smpp>>. + + +==== MSC + +The MSC component of OsmoNITB implements the mobility management (MM) +functions of the TS 04.08, as well as the optional security related +procedures for cryptographic authentication and encryption. + +Furthermore, it can handle TS 04.08 Call Control (CC), either by use of +an internal MNCC handler, or by use of an external MNCC agent. For more +information see <<mncc>>. + + +==== TRAU mapper / E1 sub-channel muxer + +Unlike classic GSM networks, OsmoNITB does not perform any transcoding. +Rather, a compatible codec is selected for both legs of a call, and +codec frames are passed through transparently. In order to achieve this +with E1 based BTS, OsmoNITB contains a E1 sub-channel de- and +re-multiplexer as well as a TRAU mapper that can map uplink to downlink +frames and vice versa. + + +==== RTP proxy + +BTS models implementing A-bis over IP don't use classic TRAU frames but +typically transport the voice codec frames as RTP/UDP/IP protocol. +OsmoNITB can either instruct the BTSs to send those voice streams +directly to each other (BTS to BTS without any intermediary), or it can +run an internal RTP proxy for passing frames from one BTS to another. + +.RTP flow without RTP proxy mode (default) +[graphviz] +---- +digraph G { + rankdir=LR; + + MS0 [label="MS A"]; + MS1 [label="MS B"]; + BTS0 [label="BTS A"]; + BTS1 [label="BTS B"]; + NITB; + + MS0 -> BTS0; + MS1 -> BTS1; + BTS0 -> NITB [label="Abis OML+RSL",dir=both]; + BTS1 -> NITB [label="Abis OML+RSL",dir=both]; + BTS0 -> BTS1 [label="RTP",dir=both] +} +---- + +.RTP flow with RTP proxy mode +[graphviz] +---- +digraph G { + rankdir=LR; + + MS0 [label="MS A"]; + MS1 [label="MS B"]; + BTS0 [label="BTS A"]; + BTS1 [label="BTS B"]; + NITB; + + MS0 -> BTS0; + MS1 -> BTS1; + BTS0 -> NITB [label="Abis OML+RSL",dir=both]; + BTS1 -> NITB [label="Abis OML+RSL",dir=both]; + BTS0 -> NITB [label="RTP",dir=both] + BTS1 -> NITB [label="RTP",dir=both] +} +---- diff --git a/OsmoNITB/chapters/running.adoc b/OsmoNITB/chapters/running.adoc new file mode 100644 index 0000000..47b5eb7 --- /dev/null +++ b/OsmoNITB/chapters/running.adoc @@ -0,0 +1,60 @@ +== Running OsmoNITB + +The OsmoNITB executable (`osmo-nitb`) offers the following command-line +arguments: + +==== SYNOPSIS + +*osmo-nitb* [-h|-V] [-d 'DBGMASK'] [-D] [-c 'CONFIGFILE'] [-s] [-T] [-e 'LOGLEVEL'] [-l 'DATABASE'] [-a] [-P] [-m] [-C] [-r 'RFCTL'] + +==== 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 `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 <<logging>> + for more information. +*-T, --timestamp*:: + Enable time-stamping of log messages to stderr. This has mostly + been deprecated by VTY based logging configu- ration, 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 +*-a, --authorize-everyone*:: + Authorize every subscriber to the network. This corresponds to + the `auth-policy open` VTY configuration option. + + + WARNING:: This is dangerous as you may disrupt sevices to + subscribers that are not part of your network! Don't use unless + you absolutely know what you're doing! +*-P, --rtp-proxy*:: + Enable the RTP proxy code inside OsmoNITB. This will force all + voice RTP data to pass through OsmoNITB, rather than going + directly from BTS to MGW, or BTS to BTS. +*-m, --mncc-sock*:: + Enable the MNCC socket for an external MNCC handler. See + <<mncc>> for further information. +*-C, --no-dbcounter*:: + Disable the regular periodic synchronization of statistics + counters to the database. +*-r, --rf-ctl 'RFCTL'*:: + Offer a Unix domain socket for RF control at the path/filename + 'RFCTL' in the file system. diff --git a/OsmoNITB/chapters/smpp.adoc b/OsmoNITB/chapters/smpp.adoc new file mode 100644 index 0000000..1550abd --- /dev/null +++ b/OsmoNITB/chapters/smpp.adoc @@ -0,0 +1,94 @@ +[[smpp]] +== Short Message Peer to Peer (SMPP) + +The _Short Message Peer to Peer (SMPP) Protocol_ <<smpp-34>> has been +used for the communication with SMSCs. OsmoNITB implements version 3.4 +of the protocol. Using this interface one can send MT-SMS to an attached +subscriber or receive unrouted MO-SMS. + +SMPP describes a situation where multiple ESMEs (External SMS Entities) +interact with a SMSC (SMS Service Center) via the SMPP protocol. Each +entity is identified by its System Id. The System ID is a character +string which is configured by the system administrator. + +OsmoNITB implements the SMSC side of SMPP and subsequently acts as a TCP +server accepting incoming connections from ESME client programs. + +Each ESME identifies itself to the SMSC with its system-id and an +optional shared password. + + +=== Global SMPP configuration + + +There is a `smpp` vty node at the top level of the OsmoNITB +configuration. Under this node, the global SMPP configuration is +performed. + + +Use the `local-tcp-port` command to define the TCP port at which the +OsmoNITB internal SMSC should listen for incoming SMPP connections. The +default port assigned to SMPP is 2775. + +Use the `system-id` command to define the System ID of the SMSC. + +Use the `policy` parameter to define whether only explicitly configured +ESMEs are permitted to access the SMSC (`closed`), or whether any +ESME should be accepted (`accept-all`). + +Use the `smpp-first` command to define if SMPP routes have higher +precendence than MSISDNs contained in the HLR (`smpp-first`), or if +only MSISDNs found not in the HLR should be considered for routing to +SMPP (`no smpp-first`). + + +=== ESME configuration + +nder the `smpp` vty node, you can add any number of `esme` nodes, one +for each ESME that you wish to configure. + +Use the `esme NAME` command (where NAME corresponds to the system-id of +the ESME to be configured) under the SMPP vty node to enter the +configuration node for this given ESME. + +Use the `password` command to specify the password (if any) for the +ESME. + +Use the `default-route` command to indicate that any MO-SMS without a +more specific route should be routed to this ESME. + +Use the `deliver-src-imsi` command to indicate that the SMPP DELIVER +messages for MO SMS should state the IMSI (rather than the MSISDN) as +source address. + +Use the `osmocom-extensions` command to request that Osmocom specific +extension TLVs shall be included in the SMPP PDUs. Those extensions +include the ARFCN of the cell, the L1 transmit power of the MS, the +timing advance, the uplink and dwnlink RxLev and RxQual, as well as the +IMEI of the terminal at the time of generating the SMPP DELIVER PDU. + +Use the `dcs-transparent` command to transparently pass the DCS value +from the SMS Layer3 protocols to SMPP, instead of converting them to the +SMPP-specific values. + +Use the `route prefix` command to specify a route towards this ESME. +Using routes, you specify which destination MSISDNs should be routed +towards your ESME. + + +=== Example configuration snippet + +The following example configuration snippet shows a single ESME +'galactica' with a prefix-route of all national numbers stating with +2342: +---- +smpp + local-tcp-port 2775 + policy closed + no smpp-first + esme galactica + password SoSayWeAll + deliver-src-imsi + osmocom-extensions + route prefix national isdn 2342 +---- diff --git a/OsmoNITB/osmonitb-usermanual-docinfo.xml b/OsmoNITB/osmonitb-usermanual-docinfo.xml new file mode 100644 index 0000000..1ef2da4 --- /dev/null +++ b/OsmoNITB/osmonitb-usermanual-docinfo.xml @@ -0,0 +1,60 @@ +<revhistory> + <revision> + <revnumber>1</revnumber> + <date>August 13, 2012</date> + <authorinitials>HF</authorinitials> + <revremark> + Initial version. + </revremark> + </revision> + <revision> + <revnumber>2</revnumber> + <date>February 2016</date> + <authorinitials>HW</authorinitials> + <revremark> + Conversion to asciidoc, removal of sysmoBTS specific parts. + </revremark> + </revision> +</revhistory> + +<authorgroup> + <author> + <firstname>Holger</firstname> + <surname>Freyther</surname> + <email>hfreyther@sysmocom.de</email> + <authorinitials>HF</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> + <author> + <firstname>Harald</firstname> + <surname>Welte</surname> + <email>hwelte@sysmocom.de</email> + <authorinitials>HW</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> +</authorgroup> + +<copyright> + <year>2012-2016</year> + <holder>sysmocom - s.f.m.c. GmbH</holder> +</copyright> + +<legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with 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> +</legalnotice> diff --git a/OsmoNITB/osmonitb-usermanual.adoc b/OsmoNITB/osmonitb-usermanual.adoc new file mode 100644 index 0000000..1a776dc --- /dev/null +++ b/OsmoNITB/osmonitb-usermanual.adoc @@ -0,0 +1,41 @@ +OsmoNITB User Manual +==================== +Harald Welte <hwelte@sysmocom.de> + + +include::../common/chapters/preface.adoc[] + +include::chapters/overview.adoc[] + +include::chapters/running.adoc[] + +include::../common/chapters/vty.adoc[] + +include::../common/chapters/logging.adoc[] + +include::chapters/net.adoc[] + +include::../common/chapters/bsc.adoc[] + +include::../common/chapters/bts.adoc[] + +include::chapters/bts-examples.adoc[] + +include::chapters/hlr.adoc[] + +include::chapters/smpp.adoc[] + +include::chapters/mncc.adoc[] + +include::../common/chapters/control_if.adoc[] + +include::chapters/abis.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/OsmoNITB/osmonitb-vty-reference.xml b/OsmoNITB/osmonitb-vty-reference.xml new file mode 100644 index 0000000..2aa0634 --- /dev/null +++ b/OsmoNITB/osmonitb-vty-reference.xml @@ -0,0 +1,44 @@ +<?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 V5.0//EN" +"http://www.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>13th August 2012</date> + <authorinitials>hf</authorinitials> + <revremark>Initial</revremark> + </revision> + <revision> + <revnumber>v2</revnumber> + <date>5th March 2014</date> + <authorinitials>hf</authorinitials> + <revremark>Update to match osmo-bsc version 0.13.0-305</revremark> + </revision> + </revhistory> + + <title>OsmoNITB VTY Reference</title> + + <copyright> + <year>2012-2014</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/OsmoNITB/vty/nitb_vty_additions.xml b/OsmoNITB/vty/nitb_vty_additions.xml new file mode 100644 index 0000000..b982a6a --- /dev/null +++ b/OsmoNITB/vty/nitb_vty_additions.xml @@ -0,0 +1,24 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> + <node id='29'> + <child_of nodeid='4' /> + <name>MNCC Internal Configuration</name> + <description>This node allows to configure the default codecs for + the internal call control handling.</description> + </node> + <node id='31'> + <child_of nodeid='4' /> + <name>SMPP Configuration</name> + <description>This node allows to configure the SMPP interface + for interfacing with external SMS applications. This section + contains generic/common SMPP related configuration, and no + per-ESME specific parameters.</description> + </node> + <node id='32'> + <child_of nodeid='31' /> + <name>ESME Configuration</name> + <description>This node allows to configure one particular SMPP + ESME, which is an External SMS Entity such as a SMS based + application server. You can define any number of ESME within + the SMPP node of the OsmoNITB VTY.</description> + </node> +</vtydoc> diff --git a/OsmoNITB/vty/nitb_vty_reference.xml b/OsmoNITB/vty/nitb_vty_reference.xml new file mode 100644 index 0000000..13e130b --- /dev/null +++ b/OsmoNITB/vty/nitb_vty_reference.xml @@ -0,0 +1,3429 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='0'>
+ </node>
+ <node id='1'>
+ <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='list'>
+ <params>
+ <param name='list' doc='Print command list' />
+ </params>
+ </command>
+ <command id='exit'>
+ <params>
+ <param name='exit' doc='Exit current mode and down to previous mode' />
+ </params>
+ </command>
+ <command id='help'>
+ <params>
+ <param name='help' doc='Description of the interactive help system' />
+ </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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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='show network'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='network' doc='Display information about a GSM NETWORK' />
+ </params>
+ </command>
+ <command id='show bts [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bts' doc='Display information about a BTS' />
+ <param name='[<0-255>]' doc='BTS number' />
+ </params>
+ </command>
+ <command id='show trx [<0-255>] [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='trx' doc='Display information about a TRX' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ </params>
+ </command>
+ <command id='show timeslot [<0-255>] [<0-255>] [<0-7>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='timeslot' doc='Display information about a TS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ </params>
+ </command>
+ <command id='show lchan [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='show lchan summary [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='summary' doc='Short summary' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='logging filter imsi IMSI'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='imsi' doc='Filter log messages by IMSI' />
+ <param name='IMSI' doc='IMSI to be used as filter' />
+ </params>
+ </command>
+ <command id='show paging [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging' doc='Display information about paging reuqests of a BTS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ </params>
+ </command>
+ <command id='show paging-group <0-255> IMSI'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging-group' doc='Display the paging group' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='IMSI' doc='IMSI' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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 e1_driver'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_driver' doc='Display information about available E1 drivers' />
+ </params>
+ </command>
+ <command id='show e1_line [line_nr] [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_line' doc='Display information about a E1 line' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[stats]' doc='Include statistics' />
+ </params>
+ </command>
+ <command id='show e1_timeslot [line_nr] [ts_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_timeslot' doc='Display information about a E1 timeslot' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[ts_nr]' doc='E1 Timeslot Number' />
+ </params>
+ </command>
+ <command id='show subscriber (extension|imsi|tmsi|id) ID'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ </params>
+ </command>
+ <command id='show subscriber cache'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='subscriber' doc='Show information about subscribers' />
+ <param name='cache' doc='Display contents of subscriber cache' />
+ </params>
+ </command>
+ <command id='sms send pending'>
+ <params>
+ <param name='sms' doc='SMS related comamnds' />
+ <param name='send' doc='SMS Sending related commands' />
+ <param name='pending' doc='Send all pending SMS' />
+ </params>
+ </command>
+ <command id='subscriber create imsi ID'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='create' doc='Create new subscriber' />
+ <param name='imsi' doc='Identify the subscriber by his IMSI' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID sms sender (extension|imsi|tmsi|id) SENDER_ID send .LINE'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='sms' doc='SMS Operations' />
+ <param name='sender' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='SENDER_ID' doc='Identifier for the subscriber' />
+ <param name='send' doc='Send SMS' />
+ <param name='.LINE' doc='Actual SMS Text' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID silent-sms send .LINE'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='silent-sms' doc='Silent SMS Operation' />
+ <param name='send' doc='Send Silent SMS' />
+ <param name='.LINE' doc='Actual SMS text' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID silent-call start (any|tch/f|tch/any|sdcch)'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='silent-call' doc='Silent call operation' />
+ <param name='start' doc='Start silent call' />
+ <param name='any' doc='Any channel' />
+ <param name='tch/f' doc='TCH/F channel' />
+ <param name='tch/any' doc='Any TCH channel' />
+ <param name='sdcch' doc='SDCCH channel' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID silent-call stop'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='silent-call' doc='Silent call operation' />
+ <param name='stop' doc='Stop silent call' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID ussd-notify (0|1|2) .TEXT'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='ussd-notify' doc='Send a USSD notify to the subscriber' />
+ <param name='0' doc='Alerting Level 0' />
+ <param name='1' doc='Alerting Level 1' />
+ <param name='2' doc='Alerting Level 2' />
+ <param name='.TEXT' doc='Text of USSD message to send' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID update'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='update' doc='Update the subscriber data from the dabase.' />
+ </params>
+ </command>
+ <command id='show statistics'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics' doc='Display network statistics' />
+ </params>
+ </command>
+ <command id='show sms-queue'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='sms-queue' doc='Display SMSqueue statistics' />
+ </params>
+ </command>
+ <command id='show smpp esme'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='smpp' doc='SMPP Interface' />
+ <param name='esme' doc='SMPP Extrenal SMS Entity' />
+ </params>
+ </command>
+ </node>
+ <node id='2'>
+ </node>
+ <node id='3'>
+ <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='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='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </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='show network'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='network' doc='Display information about a GSM NETWORK' />
+ </params>
+ </command>
+ <command id='show bts [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bts' doc='Display information about a BTS' />
+ <param name='[<0-255>]' doc='BTS number' />
+ </params>
+ </command>
+ <command id='show trx [<0-255>] [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='trx' doc='Display information about a TRX' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ </params>
+ </command>
+ <command id='show timeslot [<0-255>] [<0-255>] [<0-7>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='timeslot' doc='Display information about a TS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ </params>
+ </command>
+ <command id='show lchan [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='show lchan summary [<0-255>] [<0-255>] [<0-7>] [lchan_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='lchan' doc='Display information about a logical channel' />
+ <param name='summary' doc='Short summary' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ <param name='[<0-255>]' doc='TRX Number' />
+ <param name='[<0-7>]' doc='Timeslot Number' />
+ <param name='[lchan_nr]' doc='Logical Channel Number' />
+ </params>
+ </command>
+ <command id='logging filter imsi IMSI'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='imsi' doc='Filter log messages by IMSI' />
+ <param name='IMSI' doc='IMSI to be used as filter' />
+ </params>
+ </command>
+ <command id='show paging [<0-255>]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging' doc='Display information about paging reuqests of a BTS' />
+ <param name='[<0-255>]' doc='BTS Number' />
+ </params>
+ </command>
+ <command id='show paging-group <0-255> IMSI'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='paging-group' doc='Display the paging group' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='IMSI' doc='IMSI' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='The logmask to use' />
+ </params>
+ </command>
+ <command id='logging level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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='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='drop bts connection <0-65535> (oml|rsl)'>
+ <params>
+ <param name='drop' doc='Debug/Simulation command to drop Abis/IP BTS' />
+ <param name='bts' doc='Debug/Simulation command to drop Abis/IP BTS' />
+ <param name='connection' doc='Debug/Simulation command to drop Abis/IP BTS' />
+ <param name='<0-65535>' doc='BTS NR' />
+ <param name='oml' doc='Drop OML Connection' />
+ <param name='rsl' doc='Drop RSL Connection' />
+ </params>
+ </command>
+ <command id='bts <0-255> trx <0-255> timeslot <0-7> pdch (activate|deactivate)'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='trx' doc='Transceiver' />
+ <param name='<0-255>' doc='Transceiver Number' />
+ <param name='timeslot' doc='TRX Timeslot' />
+ <param name='<0-7>' doc='Timeslot Number' />
+ <param name='pdch' doc='Packet Data Channel' />
+ <param name='activate' doc='Activate Dynamic PDCH/TCH (-> PDCH mode)' />
+ <param name='deactivate' doc='Deactivate Dynamic PDCH/TCH (-> TCH mode)' />
+ </params>
+ </command>
+ <command id='bts <0-255> oml class (site-manager|bts|radio-carrier|baseband-transceiver|channel|adjc|handover|power-contorl|btse|rack|test|envabtse|bport|gprs-nse|gprs-cell|gprs-nsvc|siemenshw) instance <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='oml' doc='Manipulate the OML managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='site-manager' doc='Site Manager Object' />
+ <param name='bts' doc='BTS Object' />
+ <param name='radio-carrier' doc='Radio Carrier Object' />
+ <param name='baseband-transceiver' doc='Baseband Transceiver Object' />
+ <param name='channel' doc='Channel (Timeslot) Object' />
+ <param name='adjc' doc='Adjacent Object (Siemens)' />
+ <param name='handover' doc='Handover Object (Siemens)' />
+ <param name='power-contorl' doc='Power Control Object (Siemens)' />
+ <param name='btse' doc='BTSE Object (Siemens)' />
+ <param name='rack' doc='Rack Object (Siemens)' />
+ <param name='test' doc='Test Object (Siemens)' />
+ <param name='envabtse' doc='ENVABTSE Object (Siemens)' />
+ <param name='bport' doc='BPORT Object (Siemens)' />
+ <param name='gprs-nse' doc='GPRS NSE Object (ip.access/osmo-bts)' />
+ <param name='gprs-cell' doc='GPRS Cell Object (ip.acecss/osmo-bts)' />
+ <param name='gprs-nsvc' doc='GPRS NSVC Object (ip.acecss/osmo-bts)' />
+ <param name='siemenshw' doc='SIEMENSHW Object (Siemens)' />
+ <param name='instance' doc='Object Instance' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='TRX Number' />
+ <param name='<0-255>' doc='TS Number' />
+ </params>
+ </command>
+ <command id='bts <0-255> oml class <0-255> instance <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='oml' doc='Manipulate the OML managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='<0-255>' doc='Object Class' />
+ <param name='instance' doc='Object Instance' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='TRX Number' />
+ <param name='<0-255>' doc='TS Number' />
+ </params>
+ </command>
+ <command id='bts <0-255> om2000 class (trxc|ts|tf|is|con|dp|cf|tx|rx) <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='om2000' doc='Manipulate the OM2000 managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='trxc' doc='TRX Controller' />
+ <param name='ts' doc='Timeslot' />
+ <param name='tf' doc='Timing Function' />
+ <param name='is' doc='Interface Switch' />
+ <param name='con' doc='Abis Concentrator' />
+ <param name='dp' doc='Digital Path' />
+ <param name='cf' doc='Central Function' />
+ <param name='tx' doc='Transmitter' />
+ <param name='rx' doc='Receiver' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='Associated SO Instance' />
+ <param name='<0-255>' doc='Instance Number' />
+ </params>
+ </command>
+ <command id='bts <0-255> om2000 class <0-255> <0-255> <0-255> <0-255>'>
+ <params>
+ <param name='bts' doc='BTS related commands' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='om2000' doc='Manipulate the OML managed objects' />
+ <param name='class' doc='Object Class' />
+ <param name='<0-255>' doc='Object Class' />
+ <param name='<0-255>' doc='BTS Number' />
+ <param name='<0-255>' doc='Associated SO Instance' />
+ <param name='<0-255>' doc='Instance Number' />
+ </params>
+ </command>
+ <command id='show e1_driver'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_driver' doc='Display information about available E1 drivers' />
+ </params>
+ </command>
+ <command id='show e1_line [line_nr] [stats]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_line' doc='Display information about a E1 line' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[stats]' doc='Include statistics' />
+ </params>
+ </command>
+ <command id='show e1_timeslot [line_nr] [ts_nr]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='e1_timeslot' doc='Display information about a E1 timeslot' />
+ <param name='[line_nr]' doc='E1 Line Number' />
+ <param name='[ts_nr]' doc='E1 Timeslot Number' />
+ </params>
+ </command>
+ <command id='show subscriber (extension|imsi|tmsi|id) ID'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ </params>
+ </command>
+ <command id='show subscriber cache'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='subscriber' doc='Show information about subscribers' />
+ <param name='cache' doc='Display contents of subscriber cache' />
+ </params>
+ </command>
+ <command id='sms send pending'>
+ <params>
+ <param name='sms' doc='SMS related comamnds' />
+ <param name='send' doc='SMS Sending related commands' />
+ <param name='pending' doc='Send all pending SMS' />
+ </params>
+ </command>
+ <command id='subscriber create imsi ID'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='create' doc='Create new subscriber' />
+ <param name='imsi' doc='Identify the subscriber by his IMSI' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID sms sender (extension|imsi|tmsi|id) SENDER_ID send .LINE'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='sms' doc='SMS Operations' />
+ <param name='sender' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='SENDER_ID' doc='Identifier for the subscriber' />
+ <param name='send' doc='Send SMS' />
+ <param name='.LINE' doc='Actual SMS Text' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID silent-sms send .LINE'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='silent-sms' doc='Silent SMS Operation' />
+ <param name='send' doc='Send Silent SMS' />
+ <param name='.LINE' doc='Actual SMS text' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID silent-call start (any|tch/f|tch/any|sdcch)'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='silent-call' doc='Silent call operation' />
+ <param name='start' doc='Start silent call' />
+ <param name='any' doc='Any channel' />
+ <param name='tch/f' doc='TCH/F channel' />
+ <param name='tch/any' doc='Any TCH channel' />
+ <param name='sdcch' doc='SDCCH channel' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID silent-call stop'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='silent-call' doc='Silent call operation' />
+ <param name='stop' doc='Stop silent call' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID ussd-notify (0|1|2) .TEXT'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='ussd-notify' doc='Send a USSD notify to the subscriber' />
+ <param name='0' doc='Alerting Level 0' />
+ <param name='1' doc='Alerting Level 1' />
+ <param name='2' doc='Alerting Level 2' />
+ <param name='.TEXT' doc='Text of USSD message to send' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID update'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='update' doc='Update the subscriber data from the dabase.' />
+ </params>
+ </command>
+ <command id='show statistics'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='statistics' doc='Display network statistics' />
+ </params>
+ </command>
+ <command id='show sms-queue'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='sms-queue' doc='Display SMSqueue statistics' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID name .NAME'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='name' doc='Set the name of the subscriber' />
+ <param name='.NAME' doc='Name of the Subscriber' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID extension EXTENSION'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='extension' doc='Set the extension (phone number) of the subscriber' />
+ <param name='EXTENSION' doc='Extension (phone number)' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID authorized (0|1)'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='authorized' doc='(De-)Authorize subscriber in HLR' />
+ <param name='0' doc='Subscriber should NOT be authorized' />
+ <param name='1' doc='Subscriber should be authorized' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID a3a8 (none|xor|comp128v1) [KI]'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='a3a8' doc='Set a3a8 parameters for the subscriber' />
+ <param name='none' doc='Use No A3A8 algorithm' />
+ <param name='xor' doc='Use XOR algorithm' />
+ <param name='comp128v1' doc='Use COMP128v1 algorithm' />
+ <param name='[KI]' doc='Encryption Key Ki' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID clear-requests'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='clear-requests' doc='Clear the paging requests for this subscriber' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID show-pending'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='show-pending' doc='Clear the paging requests for this subscriber' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID kick-pending'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='kick-pending' doc='Clear the paging requests for this subscriber' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID handover BTS_NR'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='handover' doc='Handover the active connection' />
+ <param name='BTS_NR' doc='Number of the BTS to handover to' />
+ </params>
+ </command>
+ <command id='subscriber purge-inactive'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='purge-inactive' doc='Purge subscribers with a zero use count.' />
+ </params>
+ </command>
+ <command id='sms-queue trigger'>
+ <params>
+ <param name='sms-queue' doc='SMS Queue' />
+ <param name='trigger' doc='Trigger sending messages' />
+ </params>
+ </command>
+ <command id='sms-queue max-pending <1-500>'>
+ <params>
+ <param name='sms-queue' doc='SMS Queue' />
+ <param name='max-pending' doc='SMS to deliver in parallel' />
+ <param name='<1-500>' doc='Amount' />
+ </params>
+ </command>
+ <command id='sms-queue clear'>
+ <params>
+ <param name='sms-queue' doc='SMS Queue' />
+ <param name='clear' doc='Clear the queue of pending SMS' />
+ </params>
+ </command>
+ <command id='sms-queue max-failure <1-500>'>
+ <params>
+ <param name='sms-queue' doc='SMS Queue' />
+ <param name='max-failure' doc='Maximum amount of delivery failures' />
+ <param name='<1-500>' doc='Amount' />
+ </params>
+ </command>
+ <command id='subscriber (extension|imsi|tmsi|id) ID sms pending-send'>
+ <params>
+ <param name='subscriber' doc='Operations on a Subscriber' />
+ <param name='extension' doc='Identify subscriber by his extension (phone number)' />
+ <param name='imsi' doc='Identify subscriber by his IMSI' />
+ <param name='tmsi' doc='Identify subscriber by his TMSI' />
+ <param name='id' doc='Identify subscriber by his database ID' />
+ <param name='ID' doc='Identifier for the subscriber' />
+ <param name='sms' doc='SMS Operations' />
+ <param name='pending-send' doc='Send pending SMS' />
+ </params>
+ </command>
+ <command id='show smpp esme'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='smpp' doc='SMPP Interface' />
+ <param name='esme' doc='SMPP Extrenal SMS Entity' />
+ </params>
+ </command>
+ </node>
+ <node id='4'>
+ <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>
+ <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='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='network'>
+ <params>
+ <param name='network' doc='Configure the GSM network' />
+ </params>
+ </command>
+ <command id='e1_input'>
+ <params>
+ <param name='e1_input' doc='Configure E1/T1/J1 TDM input' />
+ </params>
+ </command>
+ <command id='mncc-int'>
+ <params>
+ <param name='mncc-int' doc='Configure internal MNCC handler' />
+ </params>
+ </command>
+ <command id='smpp'>
+ <params>
+ <param name='smpp' doc='Configure SMPP SMS Interface' />
+ </params>
+ </command>
+ </node>
+ <node id='7'>
+ <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>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 log message to this terminal' />
+ <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 level (all|rll|cc|mm|rr|rsl|nm|mncc|pag|meas|sccp|msc|mgcp|ho|db|ref|gprs|ns|bssgp|llc|sndcp|nat|ctrl|smpp|lglobal|llapd|linp|lmux|lmi|lmib|lsms) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='rll' doc='A-bis Radio Link Layer (RLL)' />
+ <param name='cc' doc='Layer3 Call Control (CC)' />
+ <param name='mm' doc='Layer3 Mobility Management (MM)' />
+ <param name='rr' doc='Layer3 Radio Resource (RR)' />
+ <param name='rsl' doc='A-bis Radio Siganlling Link (RSL)' />
+ <param name='nm' doc='A-bis Network Management / O&M (NM/OML)' />
+ <param name='mncc' doc='MNCC API for Call Control application' />
+ <param name='pag' doc='Paging Subsystem' />
+ <param name='meas' doc='Radio Measurement Processing' />
+ <param name='sccp' doc='SCCP Protocol' />
+ <param name='msc' doc='Mobile Switching Center' />
+ <param name='mgcp' doc='Media Gateway Control Protocol' />
+ <param name='ho' doc='Hand-Over' />
+ <param name='db' doc='Database Layer' />
+ <param name='ref' doc='Reference Counting' />
+ <param name='gprs' doc='GPRS Packet Service' />
+ <param name='ns' doc='GPRS Network Service (NS)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='llc' doc='GPRS Logical Link Control Protocol (LLC)' />
+ <param name='sndcp' doc='GPRS Sub-Network Dependent Control Protocol (SNDCP)' />
+ <param name='nat' doc='GSM 08.08 NAT/Multiplexer' />
+ <param name='ctrl' doc='Control interface' />
+ <param name='smpp' doc='SMPP interface for external SMS apps' />
+ <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='everything' doc='Log simply everything' />
+ <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 noticable 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 filter imsi IMSI'>
+ <params>
+ <param name='logging' doc='Configure log message to this terminal' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='imsi' doc='Filter log messages by IMSI' />
+ <param name='IMSI' doc='IMSI to be used as filter' />
+ </params>
+ </command>
+ <command id='logging level sms (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='.HIDDEN' />
+ <param name='level' doc='Obsolete' />
+ <param name='sms' doc='Obsolete' />
+ <param name='everything' doc='Obsolete' />
+ <param name='debug' doc='Obsolete' />
+ <param name='info' doc='Obsolete' />
+ <param name='notice' doc='Obsolete' />
+ <param name='error' doc='Obsolete' />
+ <param name='fatal' doc='Obsolete' />
+ </params>
+ </command>
+ </node>
+ <node id='8'>
+ <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>
+ <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>
+ </node>
+ <node id='9'>
+ <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>
+ <command id='e1_line <0-255> driver (misdn|misdn_lapd|dahdi|ipa)'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='driver' doc='Set driver for this line' />
+ <param name='misdn' doc='mISDN supported E1 Card (kernel LAPD)' />
+ <param name='misdn_lapd' doc='mISDN supported E1 Card (userspace LAPD)' />
+ <param name='dahdi' doc='DAHDI supported E1/T1/J1 Card' />
+ <param name='ipa' doc='IPA TCP/IP input' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> port <0-255>'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='port' doc='Set physical port/span/card number' />
+ <param name='<0-255>' doc='E1/T1 Port/Span/Card number' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> name .LINE'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='name' doc='Set name for this line' />
+ <param name='.LINE' doc='Human readable name' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> keepalive'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='keepalive' doc='Enable keep-alive probing' />
+ </params>
+ </command>
+ <command id='e1_line <0-255> keepalive <1-300> <1-20> <1-300>'>
+ <params>
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='keepalive' doc='Enable keep-alive probing' />
+ <param name='<1-300>' doc='Idle interval in seconds before probes are sent' />
+ <param name='<1-20>' doc='Number of probes to sent' />
+ <param name='<1-300>' doc='Delay between probe packets in seconds' />
+ </params>
+ </command>
+ <command id='no e1_line <0-255> keepalive'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='e1_line' doc='Configure E1/T1/J1 Line' />
+ <param name='<0-255>' doc='Line Number' />
+ <param name='keepalive' doc='Enable keep-alive probing' />
+ </params>
+ </command>
+ </node>
+ <node id='14'>
+ <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>
+ <command id='network country code <1-999>'>
+ <params>
+ <param name='network' doc='Set the GSM network country code' />
+ <param name='country' doc='Country commands' />
+ <param name='code' doc='Code commands' />
+ <param name='<1-999>' doc='Network Country Code to use' />
+ </params>
+ </command>
+ <command id='mobile network code <0-999>'>
+ <params>
+ <param name='mobile' doc='Set the GSM mobile network code' />
+ <param name='network' doc='Network Commands' />
+ <param name='code' doc='Code commands' />
+ <param name='<0-999>' doc='Mobile Network Code to use' />
+ </params>
+ </command>
+ <command id='short name NAME'>
+ <params>
+ <param name='short' doc='Set the short GSM network name' />
+ <param name='name' doc='Name Commands' />
+ <param name='NAME' doc='Name to use' />
+ </params>
+ </command>
+ <command id='long name NAME'>
+ <params>
+ <param name='long' doc='Set the long GSM network name' />
+ <param name='name' doc='Name Commands' />
+ <param name='NAME' doc='Name to use' />
+ </params>
+ </command>
+ <command id='auth policy (closed|accept-all|token)'>
+ <params>
+ <param name='auth' doc='Authentication (not cryptographic)' />
+ <param name='policy' doc='Set the GSM network authentication policy' />
+ <param name='closed' doc='Require the MS to be activated in HLR' />
+ <param name='accept-all' doc='Accept all MS, whether in HLR or not' />
+ <param name='token' doc='Use SMS-token based authentication' />
+ </params>
+ </command>
+ <command id='location updating reject cause <2-111>'>
+ <params>
+ <param name='location' doc='Set the reject cause of location updating reject' />
+ <param name='updating' doc='Set the reject cause of location updating reject' />
+ <param name='reject' doc='Set the reject cause of location updating reject' />
+ <param name='cause' doc='Set the reject cause of location updating reject' />
+ <param name='<2-111>' doc='Cause Value as Per GSM TS 04.08' />
+ </params>
+ </command>
+ <command id='encryption a5 (0|1|2|3)'>
+ <params>
+ <param name='encryption' doc='Encryption options' />
+ <param name='a5' doc='A5 encryption' />
+ <param name='0' doc='A5/0: No encryption' />
+ <param name='1' doc='A5/1: Encryption' />
+ <param name='2' doc='A5/2: Export-grade Encryption' />
+ <param name='3' doc='A5/3: 'New' Secure Encryption' />
+ </params>
+ </command>
+ <command id='neci (0|1)'>
+ <params>
+ <param name='neci' doc='New Establish Cause Indication' />
+ <param name='0' doc='Don't set the NECI bit' />
+ <param name='1' doc='Set the NECI bit' />
+ </params>
+ </command>
+ <command id='rrlp mode (none|ms-based|ms-preferred|ass-preferred)'>
+ <params>
+ <param name='rrlp' doc='Radio Resource Location Protocol' />
+ <param name='mode' doc='Set the Radio Resource Location Protocol Mode' />
+ <param name='none' doc='Don't send RRLP request' />
+ <param name='ms-based' doc='Request MS-based location' />
+ <param name='ms-preferred' doc='Request any location, prefer MS-based' />
+ <param name='ass-preferred' doc='Request any location, prefer MS-assisted' />
+ </params>
+ </command>
+ <command id='mm info (0|1)'>
+ <params>
+ <param name='mm' doc='Mobility Management' />
+ <param name='info' doc='Send MM INFO after LOC UPD ACCEPT' />
+ <param name='0' doc='Disable' />
+ <param name='1' doc='Enable' />
+ </params>
+ </command>
+ <command id='handover (0|1)'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='0' doc='Don't perform in-call handover' />
+ <param name='1' doc='Perform in-call handover' />
+ </params>
+ </command>
+ <command id='handover window rxlev averaging <1-10>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='window' doc='Measurement Window' />
+ <param name='rxlev' doc='Received Level Averaging' />
+ <param name='averaging' doc='How many RxLev measurements are used for averaging' />
+ <param name='<1-10>' doc='Amount to use for Averaging' />
+ </params>
+ </command>
+ <command id='handover window rxqual averaging <1-10>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='window' doc='Measurement Window' />
+ <param name='rxqual' doc='Received Quality Averaging' />
+ <param name='averaging' doc='How many RxQual measurements are used for averaging' />
+ <param name='<1-10>' doc='Amount to use for Averaging' />
+ </params>
+ </command>
+ <command id='handover window rxlev neighbor averaging <1-10>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='window' doc='Measurement Window' />
+ <param name='rxlev' doc='Received Level Averaging' />
+ <param name='neighbor' doc='Neighbor' />
+ <param name='averaging' doc='How many RxQual measurements are used for averaging' />
+ <param name='<1-10>' doc='Amount to use for Averaging' />
+ </params>
+ </command>
+ <command id='handover power budget interval <1-99>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='power' doc='Power Budget' />
+ <param name='budget' doc='How often to check if we have a better cell (SACCH frames)' />
+ <param name='interval' doc='Interval' />
+ <param name='<1-99>' doc='Number' />
+ </params>
+ </command>
+ <command id='handover power budget hysteresis <0-999>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='power' doc='Power Budget' />
+ <param name='budget' doc='How many dB does a neighbor to be stronger to become a HO candidate' />
+ <param name='hysteresis' doc='Hysteresis' />
+ <param name='<0-999>' doc='Number' />
+ </params>
+ </command>
+ <command id='handover maximum distance <0-9999>'>
+ <params>
+ <param name='handover' doc='Handover Options' />
+ <param name='maximum' doc='How big is the maximum timing advance before HO is forced' />
+ <param name='distance' doc='Distance' />
+ <param name='<0-9999>' doc='Number' />
+ </params>
+ </command>
+ <command id='timer t3101 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3101' doc='Set the timeout value for IMMEDIATE ASSIGNMENT.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3103 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3103' doc='Set the timeout value for HANDOVER.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3105 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3105' doc='Set the timer for repetition of PHYSICAL INFORMATION.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3107 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3107' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3109 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3109' doc='Set the RSL SACCH deactivation timeout.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3111 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3111' doc='Set the RSL timeout to wait before releasing the RF Channel.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3113 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3113' doc='Set the time to try paging a subscriber.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3115 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3115' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3117 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3117' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3119 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3119' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3122 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3122' doc='Waiting time (seconds) after IMM ASS REJECT' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='timer t3141 <0-65535>'>
+ <params>
+ <param name='timer' doc='Configure GSM Timers' />
+ <param name='t3141' doc='Currently not used.' />
+ <param name='<0-65535>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='dtx-used (0|1)'>
+ <params>
+ <param name='dtx-used' doc='Enable the usage of DTX.' />
+ <param name='0' doc='DTX is disabled' />
+ <param name='1' doc='DTX is enabled' />
+ </params>
+ </command>
+ <command id='subscriber-keep-in-ram (0|1)'>
+ <params>
+ <param name='subscriber-keep-in-ram' doc='Keep unused subscribers in RAM.' />
+ <param name='0' doc='Delete unused subscribers' />
+ <param name='1' doc='Keep unused subscribers' />
+ </params>
+ </command>
+ <command id='paging any use tch (0|1)'>
+ <params>
+ <param name='paging' doc='Assign a TCH when receiving a Paging Any request' />
+ <param name='any' doc='Any Channel' />
+ <param name='use' doc='Use' />
+ <param name='tch' doc='TCH' />
+ <param name='0' doc='Do not use TCH for Paging Request Any' />
+ <param name='1' doc='Do use TCH for Paging Request Any' />
+ </params>
+ </command>
+ <command id='bts <0-255>'>
+ <params>
+ <param name='bts' doc='Select a BTS to configure' />
+ <param name='<0-255>' doc='BTS Number' />
+ </params>
+ </command>
+ </node>
+ <node id='15'>
+ <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>
+ <command id='type (unknown|bs11|nanobts|rbs2000|nokia_site|sysmobts)'>
+ <params>
+ <param name='type' doc='BTS Vendor/Type' />
+ <param name='unknown' doc='Unknown BTS Type' />
+ <param name='bs11' doc='Siemens BTS (BS-11 or compatible)' />
+ <param name='nanobts' doc='ip.access nanoBTS or compatible' />
+ <param name='rbs2000' doc='Ericsson RBS2000 Series' />
+ <param name='nokia_site' doc='Nokia {Metro,Ultra,In}Site' />
+ <param name='sysmobts' doc='sysmocom sysmoBTS' />
+ </params>
+ </command>
+ <command id='description .TEXT'>
+ <params>
+ <param name='description' doc='Save human-readable decription of the object' />
+ <param name='.TEXT' doc='Text until the end of the line' />
+ </params>
+ </command>
+ <command id='no description'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='description' doc='Remove description of the object' />
+ </params>
+ </command>
+ <command id='band BAND'>
+ <params>
+ <param name='band' doc='Set the frequency band of this BTS' />
+ <param name='BAND' doc='Frequency band' />
+ </params>
+ </command>
+ <command id='cell_identity <0-65535>'>
+ <params>
+ <param name='cell_identity' doc='Set the Cell identity of this BTS' />
+ <param name='<0-65535>' doc='Cell Identity' />
+ </params>
+ </command>
+ <command id='location_area_code <0-65535>'>
+ <params>
+ <param name='location_area_code' doc='Set the Location Area Code (LAC) of this BTS' />
+ <param name='<0-65535>' doc='LAC' />
+ </params>
+ </command>
+ <command id='training_sequence_code <0-7>'>
+ <params>
+ <param name='training_sequence_code' doc='Set the Training Sequence Code (TSC) of this BTS' />
+ <param name='<0-7>' doc='TSC' />
+ </params>
+ </command>
+ <command id='base_station_id_code <0-63>'>
+ <params>
+ <param name='base_station_id_code' doc='Set the Base Station Identity Code (BSIC) of this BTS' />
+ <param name='<0-63>' doc='BSIC of this BTS' />
+ </params>
+ </command>
+ <command id='ip.access unit_id <0-65534> <0-255>'>
+ <params>
+ <param name='ip.access' doc='Abis/IP specific options' />
+ <param name='unit_id' doc='Set the IPA BTS Unit ID' />
+ <param name='<0-65534>' doc='Unit ID (Site)' />
+ <param name='<0-255>' doc='Unit ID (BTS)' />
+ </params>
+ </command>
+ <command id='ip.access rsl-ip A.B.C.D'>
+ <params>
+ <param name='ip.access' doc='Abis/IP specific options' />
+ <param name='rsl-ip' doc='Set the IPA RSL IP Address of the BSC' />
+ <param name='A.B.C.D' doc='Destination IP address for RSL connection' />
+ </params>
+ </command>
+ <command id='timezone <-19-19> (0|15|30|45)'>
+ <params>
+ <param name='timezone' doc='Set the Timezone Offset of this BTS' />
+ <param name='<-19-19>' doc='Timezone offset (hours)' />
+ <param name='0' doc='Timezone offset (00 minutes)' />
+ <param name='15' doc='Timezone offset (15 minutes)' />
+ <param name='30' doc='Timezone offset (30 minutes)' />
+ <param name='45' doc='Timezone offset (45 minutes)' />
+ </params>
+ </command>
+ <command id='timezone <-19-19> (0|15|30|45) <0-2>'>
+ <params>
+ <param name='timezone' doc='Set the Timezone Offset of this BTS' />
+ <param name='<-19-19>' doc='Timezone offset (hours)' />
+ <param name='0' doc='Timezone offset (00 minutes)' />
+ <param name='15' doc='Timezone offset (15 minutes)' />
+ <param name='30' doc='Timezone offset (30 minutes)' />
+ <param name='45' doc='Timezone offset (45 minutes)' />
+ <param name='<0-2>' doc='DST offset (hours)' />
+ </params>
+ </command>
+ <command id='no timezone'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='timezone' doc='Disable BTS specific timezone' />
+ </params>
+ </command>
+ <command id='nokia_site skip-reset (0|1)'>
+ <params>
+ <param name='nokia_site' doc='Nokia *Site related commands' />
+ <param name='skip-reset' doc='Skip the reset step during bootstrap process of this BTS' />
+ <param name='0' doc='Do NOT skip the reset' />
+ <param name='1' doc='Skip the reset' />
+ </params>
+ </command>
+ <command id='nokia_site no-local-rel-conf (0|1)'>
+ <params>
+ <param name='nokia_site' doc='Nokia *Site related commands' />
+ <param name='no-local-rel-conf' doc='Do not wait for RELease CONFirm message when releasing channel locally' />
+ <param name='0' doc='Wait for RELease CONFirm' />
+ <param name='1' doc='Do not wait for RELease CONFirm' />
+ </params>
+ </command>
+ <command id='oml ip.access stream_id <0-255> line E1_LINE'>
+ <params>
+ <param name='oml' doc='Organization & Maintenance Link' />
+ <param name='ip.access' doc='A-bis/IP Specific Options' />
+ <param name='stream_id' doc='Set the ip.access Stream ID of the OML link of this BTS' />
+ <param name='<0-255>' doc='Stream Identifier' />
+ <param name='line' doc='Virtual E1 Line Number' />
+ <param name='E1_LINE' doc='Virtual E1 Line Number' />
+ </params>
+ </command>
+ <command id='oml e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)'>
+ <params>
+ <param name='oml' doc='Organization & Maintenance Link' />
+ <param name='e1' doc='OML E1/T1 Configuration' />
+ <param name='line' doc='E1/T1 line number to be used for OML' />
+ <param name='E1_LINE' doc='E1/T1 line number to be used for OML' />
+ <param name='timeslot' doc='E1/T1 timeslot to be used for OML' />
+ <param name='<1-31>' doc='E1/T1 timeslot to be used for OML' />
+ <param name='sub-slot' doc='E1/T1 sub-slot to be used for OML' />
+ <param name='0' doc='Use E1/T1 sub-slot 0' />
+ <param name='1' doc='Use E1/T1 sub-slot 1' />
+ <param name='2' doc='Use E1/T1 sub-slot 2' />
+ <param name='3' doc='Use E1/T1 sub-slot 3' />
+ <param name='full' doc='Use full E1 slot 3' />
+ </params>
+ </command>
+ <command id='oml e1 tei <0-63>'>
+ <params>
+ <param name='oml' doc='Organization & Maintenance Link' />
+ <param name='e1' doc='OML E1/T1 Configuration' />
+ <param name='tei' doc='Set the TEI to be used for OML' />
+ <param name='<0-63>' doc='TEI Number' />
+ </params>
+ </command>
+ <command id='channel allocator (ascending|descending)'>
+ <params>
+ <param name='channel' doc='Channnel Allocator' />
+ <param name='allocator' doc='Channel Allocator' />
+ <param name='ascending' doc='Allocate Timeslots and Transceivers in ascending order' />
+ <param name='descending' doc='Allocate Timeslots and Transceivers in descending order' />
+ </params>
+ </command>
+ <command id='rach tx integer <0-15>'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='tx' doc='Set the raw tx integer value in RACH Control parameters IE' />
+ <param name='integer' doc='Set the raw tx integer value in RACH Control parameters IE' />
+ <param name='<0-15>' doc='Raw tx integer value in RACH Control parameters IE' />
+ </params>
+ </command>
+ <command id='rach max transmission (1|2|4|7)'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='max' doc='Set the maximum number of RACH burst transmissions' />
+ <param name='transmission' doc='Set the maximum number of RACH burst transmissions' />
+ <param name='1' doc='Maximum number of 1 RACH burst transmissions' />
+ <param name='2' doc='Maximum number of 2 RACH burst transmissions' />
+ <param name='4' doc='Maximum number of 4 RACH burst transmissions' />
+ <param name='7' doc='Maximum number of 7 RACH burst transmissions' />
+ </params>
+ </command>
+ <command id='channel-descrption attach (0|1)'>
+ <params>
+ <param name='channel-descrption' doc='Channel Description' />
+ <param name='attach' doc='Set if attachment is required' />
+ <param name='0' doc='Attachment is NOT required' />
+ <param name='1' doc='Attachment is required (standard)' />
+ </params>
+ </command>
+ <command id='channel-descrption bs-pa-mfrms <2-9>'>
+ <params>
+ <param name='channel-descrption' doc='Channel Description' />
+ <param name='bs-pa-mfrms' doc='Set number of multiframe periods for paging groups' />
+ <param name='<2-9>' doc='Number of multiframe periods for paging groups' />
+ </params>
+ </command>
+ <command id='channel-descrption bs-ag-blks-res <0-7>'>
+ <params>
+ <param name='channel-descrption' doc='Channel Description' />
+ <param name='bs-ag-blks-res' doc='Set number of blocks reserved for access grant' />
+ <param name='<0-7>' doc='Number of blocks reserved for access grant' />
+ </params>
+ </command>
+ <command id='rach nm busy threshold <0-255>'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='nm' doc='Network Management' />
+ <param name='busy' doc='Set the NM Busy Threshold' />
+ <param name='threshold' doc='Set the NM Busy Threshold' />
+ <param name='<0-255>' doc='NM Busy Threshold in dB' />
+ </params>
+ </command>
+ <command id='rach nm load average <0-65535>'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='nm' doc='Network Management' />
+ <param name='load' doc='Set the NM Loadaverage Slots value' />
+ <param name='average' doc='Set the NM Loadaverage Slots value' />
+ <param name='<0-65535>' doc='NM Loadaverage Slots value' />
+ </params>
+ </command>
+ <command id='cell barred (0|1)'>
+ <params>
+ <param name='cell' doc='Should this cell be barred from access?' />
+ <param name='barred' doc='Should this cell be barred from access?' />
+ <param name='0' doc='Cell should NOT be barred' />
+ <param name='1' doc='Cell should be barred' />
+ </params>
+ </command>
+ <command id='rach emergency call allowed (0|1)'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='emergency' doc='Should this cell allow emergency calls?' />
+ <param name='call' doc='Should this cell allow emergency calls?' />
+ <param name='allowed' doc='Should this cell allow emergency calls?' />
+ <param name='0' doc='Do NOT allow emergency calls' />
+ <param name='1' doc='Allow emergency calls' />
+ </params>
+ </command>
+ <command id='rach access-control-class (0|1|2|3|4|5|6|7|8|9|11|12|13|14|15) (barred|allowed)'>
+ <params>
+ <param name='rach' doc='Random Access Control Channel' />
+ <param name='access-control-class' doc='Set access control class' />
+ <param name='0' doc='Access control class 0' />
+ <param name='1' doc='Access control class 1' />
+ <param name='2' doc='Access control class 2' />
+ <param name='3' doc='Access control class 3' />
+ <param name='4' doc='Access control class 4' />
+ <param name='5' doc='Access control class 5' />
+ <param name='6' doc='Access control class 6' />
+ <param name='7' doc='Access control class 7' />
+ <param name='8' doc='Access control class 8' />
+ <param name='9' doc='Access control class 9' />
+ <param name='11' doc='Access control class 11 for PLMN use' />
+ <param name='12' doc='Access control class 12 for security services' />
+ <param name='13' doc='Access control class 13 for public utilities (e.g. water/gas suppliers)' />
+ <param name='14' doc='Access control class 14 for emergency services' />
+ <param name='15' doc='Access control class 15 for PLMN staff' />
+ <param name='barred' doc='barred to use access control class' />
+ <param name='allowed' doc='allowed to use access control class' />
+ </params>
+ </command>
+ <command id='ms max power <0-40>'>
+ <params>
+ <param name='ms' doc='MS Options' />
+ <param name='max' doc='Maximum transmit power of the MS' />
+ <param name='power' doc='Maximum transmit power of the MS' />
+ <param name='<0-40>' doc='Maximum transmit power of the MS in dBm' />
+ </params>
+ </command>
+ <command id='periodic location update <6-1530>'>
+ <params>
+ <param name='periodic' doc='Periodic Location Updating Interval' />
+ <param name='location' doc='Periodic Location Updating Interval' />
+ <param name='update' doc='Periodic Location Updating Interval' />
+ <param name='<6-1530>' doc='Periodic Location Updating Interval in Minutes' />
+ </params>
+ </command>
+ <command id='no periodic location update'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='periodic' doc='Periodic Location Updating Interval' />
+ <param name='location' doc='Periodic Location Updating Interval' />
+ <param name='update' doc='Periodic Location Updating Interval' />
+ </params>
+ </command>
+ <command id='cell reselection hysteresis <0-14>'>
+ <params>
+ <param name='cell' doc='Cell Parameters' />
+ <param name='reselection' doc='Cell re-selection parameters' />
+ <param name='hysteresis' doc='Cell Re-Selection Hysteresis in dB' />
+ <param name='<0-14>' doc='Cell Re-Selection Hysteresis in dB' />
+ </params>
+ </command>
+ <command id='rxlev access min <0-63>'>
+ <params>
+ <param name='rxlev' doc='Minimum RxLev needed for cell access' />
+ <param name='access' doc='Minimum RxLev needed for cell access' />
+ <param name='min' doc='Minimum RxLev needed for cell access' />
+ <param name='<0-63>' doc='Minimum RxLev needed for cell access (better than -110dBm)' />
+ </params>
+ </command>
+ <command id='cell bar qualify (0|1)'>
+ <params>
+ <param name='cell' doc='Cell Parameters' />
+ <param name='bar' doc='Cell Bar Qualify' />
+ <param name='qualify' doc='Cell Bar Qualify' />
+ <param name='0' doc='Set CBQ to 0' />
+ <param name='1' doc='Set CBQ to 1' />
+ </params>
+ </command>
+ <command id='cell reselection offset <0-126>'>
+ <params>
+ <param name='cell' doc='Cell Parameters' />
+ <param name='reselection' doc='Cell Re-Selection Parameters' />
+ <param name='offset' doc='Cell Re-Selection Offset (CRO) in dB' />
+ <param name='<0-126>' doc='Cell Re-Selection Offset (CRO) in dB' />
+ </params>
+ </command>
+ <command id='temporary offset <0-60>'>
+ <params>
+ <param name='temporary' doc='Cell selection temporary negative offset' />
+ <param name='offset' doc='Cell selection temporary negative offset' />
+ <param name='<0-60>' doc='Cell selection temporary negative offset in dB' />
+ </params>
+ </command>
+ <command id='temporary offset infinite'>
+ <params>
+ <param name='temporary' doc='Cell selection temporary negative offset' />
+ <param name='offset' doc='Cell selection temporary negative offset' />
+ <param name='infinite' doc='Sets cell selection temporary negative offset to infinity' />
+ </params>
+ </command>
+ <command id='penalty time <20-620>'>
+ <params>
+ <param name='penalty' doc='Cell selection penalty time' />
+ <param name='time' doc='Cell selection penalty time' />
+ <param name='<20-620>' doc='Cell selection penalty time in seconds (by 20s increments)' />
+ </params>
+ </command>
+ <command id='penalty time reserved'>
+ <params>
+ <param name='penalty' doc='Cell selection penalty time' />
+ <param name='time' doc='Cell selection penalty time' />
+ <param name='reserved' doc='Set cell selection penalty time to reserved value 31, (indicate that CELL_RESELECT_OFFSET is subtracted from C2 and TEMPORARY_OFFSET is ignored)' />
+ </params>
+ </command>
+ <command id='gprs mode (none|gprs|egprs)'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='mode' doc='GPRS Mode for this BTS' />
+ <param name='none' doc='GPRS Disabled on this BTS' />
+ <param name='gprs' doc='GPRS Enabled on this BTS' />
+ <param name='egprs' doc='EGPRS (EDGE) Enabled on this BTS' />
+ </params>
+ </command>
+ <command id='gprs ns timer (tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries) <0-255>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='ns' doc='Network Service' />
+ <param name='timer' doc='Network Service Timer' />
+ <param name='tns-block' doc='(un)blocking Timer (Tns-block) timeout' />
+ <param name='tns-block-retries' doc='(un)blocking Timer (Tns-block) number of retries' />
+ <param name='tns-reset' doc='Reset Timer (Tns-reset) timeout' />
+ <param name='tns-reset-retries' doc='Reset Timer (Tns-reset) number of retries' />
+ <param name='tns-test' doc='Test Timer (Tns-test) timeout' />
+ <param name='tns-alive' doc='Alive Timer (Tns-alive) timeout' />
+ <param name='tns-alive-retries' doc='Alive Timer (Tns-alive) number of retries' />
+ <param name='<0-255>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='gprs routing area <0-255>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='routing' doc='GPRS Routing Area Code' />
+ <param name='area' doc='GPRS Routing Area Code' />
+ <param name='<0-255>' doc='GPRS Routing Area Code' />
+ </params>
+ </command>
+ <command id='gprs network-control-order (nc0|nc1|nc2)'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='network-control-order' doc='GPRS Network Control Order' />
+ <param name='nc0' doc='MS controlled cell re-selection, no measurement reporting' />
+ <param name='nc1' doc='MS controlled cell re-selection, MS sends measurement reports' />
+ <param name='nc2' doc='Network controlled cell re-selection, MS sends measurement reports' />
+ </params>
+ </command>
+ <command id='gprs cell bvci <2-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='cell' doc='GPRS Cell Settings' />
+ <param name='bvci' doc='GPRS BSSGP VC Identifier' />
+ <param name='<2-65535>' doc='GPRS BSSGP VC Identifier' />
+ </params>
+ </command>
+ <command id='gprs cell timer (blocking-timer|blocking-retries|unblocking-retries|reset-timer|reset-retries|suspend-timer|suspend-retries|resume-timer|resume-retries|capability-update-timer|capability-update-retries) <0-255>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='cell' doc='Cell / BSSGP' />
+ <param name='timer' doc='Cell/BSSGP Timer' />
+ <param name='blocking-timer' doc='Tbvc-block timeout' />
+ <param name='blocking-retries' doc='Tbvc-block retries' />
+ <param name='unblocking-retries' doc='Tbvc-unblock retries' />
+ <param name='reset-timer' doc='Tbvcc-reset timeout' />
+ <param name='reset-retries' doc='Tbvc-reset retries' />
+ <param name='suspend-timer' doc='Tbvc-suspend timeout' />
+ <param name='suspend-retries' doc='Tbvc-suspend retries' />
+ <param name='resume-timer' doc='Tbvc-resume timeout' />
+ <param name='resume-retries' doc='Tbvc-resume retries' />
+ <param name='capability-update-timer' doc='Tbvc-capa-update timeout' />
+ <param name='capability-update-retries' doc='Tbvc-capa-update retries' />
+ <param name='<0-255>' doc='Timer Value' />
+ </params>
+ </command>
+ <command id='gprs nsei <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsei' doc='GPRS NS Entity Identifier' />
+ <param name='<0-65535>' doc='GPRS NS Entity Identifier' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> nsvci <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='nsvci' doc='NS Virtual Connection Identifier' />
+ <param name='<0-65535>' doc='GPRS NS VC Identifier' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> local udp port <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='local' doc='GPRS NS Local UDP Port' />
+ <param name='udp' doc='GPRS NS Local UDP Port' />
+ <param name='port' doc='GPRS NS Local UDP Port' />
+ <param name='<0-65535>' doc='GPRS NS Local UDP Port Number' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> remote udp port <0-65535>'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='remote' doc='GPRS NS Remote UDP Port' />
+ <param name='udp' doc='GPRS NS Remote UDP Port' />
+ <param name='port' doc='GPRS NS Remote UDP Port' />
+ <param name='<0-65535>' doc='GPRS NS Remote UDP Port Number' />
+ </params>
+ </command>
+ <command id='gprs nsvc <0-1> remote ip A.B.C.D'>
+ <params>
+ <param name='gprs' doc='GPRS Packet Network' />
+ <param name='nsvc' doc='Network Service Virtual Connection (NS-VC)' />
+ <param name='<0-1>' doc='NSVC Logical Number' />
+ <param name='remote' doc='GPRS NS Remote IP Address' />
+ <param name='ip' doc='GPRS NS Remote IP Address' />
+ <param name='A.B.C.D' doc='GPRS NS Remote IP Address' />
+ </params>
+ </command>
+ <command id='paging free <-1-1024>'>
+ <params>
+ <param name='paging' doc='Paging options' />
+ <param name='free' doc='Only page when having a certain amount of free slots' />
+ <param name='<-1-1024>' doc='amount of required free paging slots. -1 to disable' />
+ </params>
+ </command>
+ <command id='system-information (1|2|3|4|5|6|7|8|9|10|13|16|17|18|19|20|2bis|2ter|2quater|5bis|5ter) mode (static|computed)'>
+ <params>
+ <param name='system-information' doc='System Information Messages' />
+ <param name='1' doc='System Information Type 1' />
+ <param name='2' doc='System Information Type 2' />
+ <param name='3' doc='System Information Type 3' />
+ <param name='4' doc='System Information Type 4' />
+ <param name='5' doc='System Information Type 5' />
+ <param name='6' doc='System Information Type 6' />
+ <param name='7' doc='System Information Type 7' />
+ <param name='8' doc='System Information Type 8' />
+ <param name='9' doc='System Information Type 9' />
+ <param name='10' doc='System Information Type 10' />
+ <param name='13' doc='System Information Type 13' />
+ <param name='16' doc='System Information Type 16' />
+ <param name='17' doc='System Information Type 17' />
+ <param name='18' doc='System Information Type 18' />
+ <param name='19' doc='System Information Type 19' />
+ <param name='20' doc='System Information Type 20' />
+ <param name='2bis' doc='System Information Type 2bis' />
+ <param name='2ter' doc='System Information Type 2ter' />
+ <param name='2quater' doc='System Information Type 2quater' />
+ <param name='5bis' doc='System Information Type 5bis' />
+ <param name='5ter' doc='System Information Type 5ter' />
+ <param name='mode' doc='System Information Mode' />
+ <param name='static' doc='Static user-specified' />
+ <param name='computed' doc='Dynamic, BSC-computed' />
+ </params>
+ </command>
+ <command id='system-information (1|2|3|4|5|6|7|8|9|10|13|16|17|18|19|20|2bis|2ter|2quater|5bis|5ter) static HEXSTRING'>
+ <params>
+ <param name='system-information' doc='System Information Messages' />
+ <param name='1' doc='System Information Type 1' />
+ <param name='2' doc='System Information Type 2' />
+ <param name='3' doc='System Information Type 3' />
+ <param name='4' doc='System Information Type 4' />
+ <param name='5' doc='System Information Type 5' />
+ <param name='6' doc='System Information Type 6' />
+ <param name='7' doc='System Information Type 7' />
+ <param name='8' doc='System Information Type 8' />
+ <param name='9' doc='System Information Type 9' />
+ <param name='10' doc='System Information Type 10' />
+ <param name='13' doc='System Information Type 13' />
+ <param name='16' doc='System Information Type 16' />
+ <param name='17' doc='System Information Type 17' />
+ <param name='18' doc='System Information Type 18' />
+ <param name='19' doc='System Information Type 19' />
+ <param name='20' doc='System Information Type 20' />
+ <param name='2bis' doc='System Information Type 2bis' />
+ <param name='2ter' doc='System Information Type 2ter' />
+ <param name='2quater' doc='System Information Type 2quater' />
+ <param name='5bis' doc='System Information Type 5bis' />
+ <param name='5ter' doc='System Information Type 5ter' />
+ <param name='static' doc='Static System Information filling' />
+ <param name='HEXSTRING' doc='Static user-specified SI content in HEX notation' />
+ </params>
+ </command>
+ <command id='neighbor-list mode (automatic|manual|manual-si5)'>
+ <params>
+ <param name='neighbor-list' doc='Neighbor List' />
+ <param name='mode' doc='Mode of Neighbor List generation' />
+ <param name='automatic' doc='Automatically from all BTS in this OpenBSC' />
+ <param name='manual' doc='Manual' />
+ <param name='manual-si5' doc='Manual with different lists for SI2 and SI5' />
+ </params>
+ </command>
+ <command id='neighbor-list (add|del) arfcn <0-1023>'>
+ <params>
+ <param name='neighbor-list' doc='Neighbor List' />
+ <param name='add' doc='Add to manual neighbor list' />
+ <param name='del' doc='Delete from manual neighbor list' />
+ <param name='arfcn' doc='ARFCN of neighbor' />
+ <param name='<0-1023>' doc='ARFCN of neighbor' />
+ </params>
+ </command>
+ <command id='si5 neighbor-list (add|del) arfcn <0-1023>'>
+ <params>
+ <param name='si5' doc='SI5 Neighbor List' />
+ <param name='neighbor-list' doc='SI5 Neighbor List' />
+ <param name='add' doc='Add to manual SI5 neighbor list' />
+ <param name='del' doc='Delete from SI5 manual neighbor list' />
+ <param name='arfcn' doc='ARFCN of neighbor' />
+ <param name='<0-1023>' doc='ARFCN of neighbor' />
+ </params>
+ </command>
+ <command id='rf-lock-exclude'>
+ <params>
+ <param name='rf-lock-exclude' doc='Exclude this BTS from the global RF Lock' />
+ </params>
+ </command>
+ <command id='no rf-lock-exclude'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='rf-lock-exclude' doc='Exclude this BTS from the global RF Lock' />
+ </params>
+ </command>
+ <command id='force-combined-si'>
+ <params>
+ <param name='force-combined-si' doc='Force the generation of a single SI (no ter/bis)' />
+ </params>
+ </command>
+ <command id='no force-combined-si'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='force-combined-si' doc='Force the generation of a single SI (no ter/bis)' />
+ </params>
+ </command>
+ <command id='codec-support fr'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ </params>
+ </command>
+ <command id='codec-support fr (hr|efr|amr)'>
+ <params>
+ <param name='codec-support' doc='Codec Support settings' />
+ <param name='fr' doc='Fullrate' />
+ <param name='hr' doc='Half Rate' />
+ <param name='efr' doc='Enhanced Full Rate' />
+ <param name='amr' doc='Adaptive Multirate' />
+ </params>
+ |