diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-11-27 18:30:39 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-11-27 18:30:39 +0100 |
commit | dfb08d31fe3f1d9402b5c02e8518955d5c7c981d (patch) | |
tree | e178ad0af34e0b315fb8125195fce731d38a5bea /doc | |
parent | 4214c4ae53106248a02443bd2c68d52dc0dbe151 (diff) | |
parent | 96481c8d3f72711b218c62df4879df76366f5c7b (diff) |
Merge history from osmo-gsm-manuals.git
Change-Id: I33ce528bb58a8a730a15cc8a7a74852a14f42921
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manuals/Makefile | 11 | ||||
-rw-r--r-- | doc/manuals/chapters/configuration.adoc | 205 | ||||
-rw-r--r-- | doc/manuals/chapters/counters.adoc | 4 | ||||
-rw-r--r-- | doc/manuals/chapters/counters_generated.adoc | 178 | ||||
-rw-r--r-- | doc/manuals/chapters/overview.adoc | 67 | ||||
-rw-r--r-- | doc/manuals/chapters/running.adoc | 33 | ||||
-rw-r--r-- | doc/manuals/gb/bssgp.adoc | 501 | ||||
-rw-r--r-- | doc/manuals/gb/gb-startup.msc | 27 | ||||
-rw-r--r-- | doc/manuals/gb/ns.adoc | 227 | ||||
-rw-r--r-- | doc/manuals/osmopcu-gb-docinfo.xml | 58 | ||||
-rw-r--r-- | doc/manuals/osmopcu-gb.adoc | 95 | ||||
-rw-r--r-- | doc/manuals/osmopcu-usermanual-docinfo.xml | 46 | ||||
-rw-r--r-- | doc/manuals/osmopcu-usermanual.adoc | 30 | ||||
-rw-r--r-- | doc/manuals/osmopcu-vty-reference.xml | 37 | ||||
-rw-r--r-- | doc/manuals/vty/osmo-pcu_vty_additions.xml | 9 | ||||
-rw-r--r-- | doc/manuals/vty/osmo-pcu_vty_reference.xml | 941 |
16 files changed, 2469 insertions, 0 deletions
diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile new file mode 100644 index 00000000..7a1acc0c --- /dev/null +++ b/doc/manuals/Makefile @@ -0,0 +1,11 @@ +TOPDIR = .. + +ASCIIDOC = osmopcu-usermanual.adoc osmopcu-gb.adoc +include $(TOPDIR)/build/Makefile.asciidoc.inc +osmopcu-gb.pdf: gb/*.adoc gb/*.msc +osmopcu-usermanual.pdf: chapters/*.adoc + +VTY_REFERENCE = osmopcu-vty-reference.xml +include $(TOPDIR)/build/Makefile.vty-reference.inc + +include $(TOPDIR)/build/Makefile.common.inc diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc new file mode 100644 index 00000000..6fc61c77 --- /dev/null +++ b/doc/manuals/chapters/configuration.adoc @@ -0,0 +1,205 @@ +== Configuring OsmoPCU + +Contrary to other network elements (like OsmoBSC, OsmoNITB), the +OsmoPCU has a relatively simple minimum configuration. + +This is primarily because most of the PCU configuration happens +indirectly from the BSC, who passes the configuation over A-bis OML via +OsmoBTS and its PCU socket into OsmoPCU. + +A minimal OsmoPCU configuration file is provided below for your reference: + +.Example: Minimal OsmoPCU configuration file (`osmo-pcu.cfg`) +---- +pcu + flow-control-interval 10 <1> + cs 2 <2> + alloc-algorithm dynamic <3> + alpha 0 <4> + gamma 0 +---- +<1> send a BSSGP flow-control PDU every 10 seconds +<2> start a TBF with the initial coding scheme 2 +<3> dynamically chose between single-slot or multi-slot TBF allocations + depending on system load +<4> disable MS power control loop + +However, there are plenty of tuning parameters for people interested to +optimize PCU throughput or latency according to their requirements. + +=== Configuring the Coding Schemes and Rate Adaption + +The BSC includes a bit-mask of permitted [E]GPRS coding schemes as part +of the A-bis OML configuration. This is passed from the BTS via the PCU +socket into OsmoPCU. + +Some additional parameters can be set as described below. + +==== Initial Coding Scheme + +You can use the `cs <1-4> [<1-4>]` command at the `pcu` VTY config node +to set the initial GPRS coding scheme to be used. The optional second +value allows to specify a different initial coding scheme for uplink. + +==== Maximum Coding Scheme + +You can use the `cs max <1-4> [<1-4>]` command at the `pcu` VTY config +node to set the maximum coding scheme that should be used as part of the +rate adaption. + +==== Rate Adaption Error Thresholds + +You can use the `cs threshold <0-100> <0-100>` command at the `pcu` VTY +config node to determine the upper and lower limit for the error rate +percentage to use in the rate adaption. If the upper threshold is +reached, a lower coding sheme is chosen, and if the lower threshold is +reached, a higher coding scheme is chosen. + +==== Rate Adation Link Quality Thresholds + +You can use the `cs link-quality-ranges cs1 <0-35> cs2 <0-35> <0-35> cs3 +<0-35> <0-35> cs4 <0-35>` command at the `pcu` VTY config node to tune +the link quality ranges for the respective coding schemes. + +==== Data Size based CS downgrade Threshold + +You can use the `cs downgrade-threshold <1-10000>` command at the `pcu` +VTY config node to ask the PCU to down-grade the coding scheme if less +than the specified number of octets are left to be transmitted. + +=== Miscellaneous Configuration / Tuning Parameters + +==== Downlink TBF idle time + +After a down-link TBF is idle (all data in the current LLC downlink +queue for the MS has been transmitted), we can keep the TBF established +for a configurable time. This avoids having to go through a new one or +two phase TBF establishment once the next data for downlink arrives. + +You can use the `dl-tbf-idle-time <1-5000>` to specify that time in +units of milli-seconds. The default is 2 seconds. + +==== MS idle time + +Using the `ms-idle-time <1-7200>` command at the `pcu` VTY config node +you can configure the number of seconds for which the PCU should keep +the MS data structure alive before releasing it if there are no active +TBF for this MS. + +The OsmoPCU default value is 60 seconds, which is slightly more than +what 3GPP TS 24.008 recommends for T3314 (44s). + +The MS data structure only consumes memory in the PCU and does not +require any resources of the air interface. + +==== Forcing two-phase access + +If the MS is using a single-phase access, you can still force it to +use a two-phase access using the `two-phase-access` VTY configuration +command at the `pcu` VTY config node. + +=== Configuring BSSGP flow control + +BSSGP between SGSN and PCU contains a two-level nested flow control +mechanism: + +. one global flow control instance for the overall (downlink) traffic + from the SGSN to this PCU +. a per-MS flow control instance for each individual MS served by this + PCU + +Each of the flow control instance is implemented as a TBF (token bucket +filter). + +==== Normal BSSGP Flow Control Tuning parameters + +You can use the following commands at the `pcu` VTY config node to tune +the BSSGP flow control parameters: + +`flow-control-interval <1-10>`:: + configure the interval (in seconds) between subsequent flow + control PDUs from PCU to SGSN +`flow-control bucket-time <1-65534>`:: + set the target downlink maximum queueing time in centi-seconds. + The PCU will attempt to adjust the advertised bucket size to match this + target. + +==== Extended BSSGP Flow Control Tuning parameters + +There are some extended flow control related parameters at the `pcu` VTY +config node that override the automatic flow control as specified in the +BSSGP specification. Use them with care! + +`flow-control force-bvc-bucket-size <1-6553500>`:: + force the BVC (global) bucket size to the given number of octets +`flow-control force-bvc-leak-rate <1-6553500>`:: + force the BVC (global) bucket leak rate to the given number of bits/s +`flow-control force-ms-bucket-size <1-6553500>`:: + force the per-MS bucket size to the given number of octets +`flow-control force-ms-leak-rate <1-6553500>`:: + force the per-MS bucket leak rate to the given number of bits/s + + +=== Configuring LLC queue + +The downlink LLC queue in the PCU towards the MS can be tuned with a +variety of parameters at the `pcu` VTY config node, depending on your +needs. + +`queue lifetime <1-65534>`:: + Each downlink LLC PDU is assigned a lifetime by the SGSN, which + is respected by the PDU *unless* you use this command to + override the PDU lifetime with a larger value (in centi-seconds) +`queue lifetime infinite`:: + Never drop LLC PDUs, i.e. give them an unlimited lifetime. +`queue hysteresis <1-65535>`:: + When the downlink LLC queue is full, the PCU starts dropping + packets. Using this parameter, we can set the lifetime + hysteresis in centi-seconds, i.e. it will continue discarding + until "lifetime - hysteresis" is reached. +`queue codel`:: + Use the 'CoDel' (Controlled Delay) scheduling algorithm, which + is designed to overcome buffer bloat. It will use a default + interval of 4 seconds. +`queue codel interval <1-1000>`:: + Use the 'CoDel' (Controlled Delay) scheduling algorithm, which + is designed to overcome buffer bloat. Use the specified + interval in centi-seconds. +`queue idle-ack-delay <1-65535>`:: + Delay the request for an ACK after the last downlink LLC frame + by the specified amount of centi-seconds. + + +=== Configuring MS power control + +GPRS MS power control works completely different than the close MS power +control loop in circuit-switched GSM. + +Rather than instructing the MS constantly about which transmit power to +use, some parameters are provided to the MS by which the MS-based power +control algorithm is tuned. + +See 3GPP TS 05.08 for further information on the algorithm and the +parameters. + +You can set those parameters at the `pcu` VTY config node as follows: + +`alpha <0-10>`:: + Alpha parameter for MS power control in units of 0.1. + Make sure to set the alpha value at System Information 13 (in + the BSC), too! +`gamma <0-62>`:: + Set the gamma parameter for MS power control in units of dB. + + +=== Enabling EGPRS + +If you would like to test the currently (experimental) EGPRS support of +OsmoPCU, you can enable it using the `egprs` command at the `pcu` VTY +config node. + +WARNING: EPGRS functionality is highly experimental at the time of this +writing. Please only use if you actively would like to participate in +the OsmoPCU EGPRS development and/or testing. You will also need an +EGPRS capable OsmoBTS+PHY, which means `osmo-bts-sysmo` or +`osmo-bts-litecell15` with their associated PHY. diff --git a/doc/manuals/chapters/counters.adoc b/doc/manuals/chapters/counters.adoc new file mode 100644 index 00000000..7fbb10c6 --- /dev/null +++ b/doc/manuals/chapters/counters.adoc @@ -0,0 +1,4 @@ +[[counters]] +== Counters + +include::./counters_generated.adoc[] diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc new file mode 100644 index 00000000..2ee425e7 --- /dev/null +++ b/doc/manuals/chapters/counters_generated.adoc @@ -0,0 +1,178 @@ +// autogenerated by show asciidoc counters +These counters and their description based on Osmo-PCU 0.4.0.4-8d55 (Osmo-PCU). + +// generating tables for rate_ctr_group +// rate_ctr_group table BSSGP Peer Statistics +.bssgp:bss_ctx - BSSGP Peer Statistics +[options="header"] +|=== +| Name | Reference | Description +| packets:in | <<bssgp:bss_ctx_packets:in>> | Packets at BSSGP Level ( In) +| packets:out | <<bssgp:bss_ctx_packets:out>> | Packets at BSSGP Level (Out) +| bytes:in | <<bssgp:bss_ctx_bytes:in>> | Bytes at BSSGP Level ( In) +| bytes:out | <<bssgp:bss_ctx_bytes:out>> | Bytes at BSSGP Level (Out) +| blocked | <<bssgp:bss_ctx_blocked>> | BVC Blocking count +| discarded | <<bssgp:bss_ctx_discarded>> | BVC LLC Discarded count +| status | <<bssgp:bss_ctx_status>> | BVC Status count +|=== +// rate_ctr_group table NSVC Peer Statistics +.ns:nsvc - NSVC Peer Statistics +[options="header"] +|=== +| Name | Reference | Description +| packets:in | <<ns:nsvc_packets:in>> | Packets at NS Level ( In) +| packets:out | <<ns:nsvc_packets:out>> | Packets at NS Level (Out) +| bytes:in | <<ns:nsvc_bytes:in>> | Bytes at NS Level ( In) +| bytes:out | <<ns:nsvc_bytes:out>> | Bytes at NS Level (Out) +| blocked | <<ns:nsvc_blocked>> | NS-VC Block count +| dead | <<ns:nsvc_dead>> | NS-VC gone dead count +| replaced | <<ns:nsvc_replaced>> | NS-VC replaced other count +| nsei-chg | <<ns:nsvc_nsei-chg>> | NS-VC changed NSEI count +| inv-nsvci | <<ns:nsvc_inv-nsvci>> | NS-VCI was invalid count +| inv-nsei | <<ns:nsvc_inv-nsei>> | NSEI was invalid count +| lost:alive | <<ns:nsvc_lost:alive>> | ALIVE ACK missing count +| lost:reset | <<ns:nsvc_lost:reset>> | RESET ACK missing count +|=== +// rate_ctr_group table NSVC Peer Statistics +.ns:nsvc - NSVC Peer Statistics +[options="header"] +|=== +| Name | Reference | Description +| packets:in | <<ns:nsvc_packets:in>> | Packets at NS Level ( In) +| packets:out | <<ns:nsvc_packets:out>> | Packets at NS Level (Out) +| bytes:in | <<ns:nsvc_bytes:in>> | Bytes at NS Level ( In) +| bytes:out | <<ns:nsvc_bytes:out>> | Bytes at NS Level (Out) +| blocked | <<ns:nsvc_blocked>> | NS-VC Block count +| dead | <<ns:nsvc_dead>> | NS-VC gone dead count +| replaced | <<ns:nsvc_replaced>> | NS-VC replaced other count +| nsei-chg | <<ns:nsvc_nsei-chg>> | NS-VC changed NSEI count +| inv-nsvci | <<ns:nsvc_inv-nsvci>> | NS-VCI was invalid count +| inv-nsei | <<ns:nsvc_inv-nsei>> | NSEI was invalid count +| lost:alive | <<ns:nsvc_lost:alive>> | ALIVE ACK missing count +| lost:reset | <<ns:nsvc_lost:reset>> | RESET ACK missing count +|=== +// rate_ctr_group table BTS Statistics +.bts - BTS Statistics +[options="header"] +|=== +| Name | Reference | Description +| tbf:dl:alloc | <<bts_tbf:dl:alloc>> | TBF DL Allocated +| tbf:dl:freed | <<bts_tbf:dl:freed>> | TBF DL Freed +| tbf:dl:aborted | <<bts_tbf:dl:aborted>> | TBF DL Aborted +| tbf:ul:alloc | <<bts_tbf:ul:alloc>> | TBF UL Allocated +| tbf:ul:freed | <<bts_tbf:ul:freed>> | TBF UL Freed +| tbf:ul:aborted | <<bts_tbf:ul:aborted>> | TBF UL Aborted +| tbf:reused | <<bts_tbf:reused>> | TBF Reused +| tbf:alloc:algo-a | <<bts_tbf:alloc:algo-a>> | TBF Alloc Algo A +| tbf:alloc:algo-b | <<bts_tbf:alloc:algo-b>> | TBF Alloc Algo B +| tbf:failed:egprs-only | <<bts_tbf:failed:egprs-only>> | TBF Failed EGPRS-only +| rlc:sent | <<bts_rlc:sent>> | RLC Sent +| rlc:resent | <<bts_rlc:resent>> | RLC Resent +| rlc:restarted | <<bts_rlc:restarted>> | RLC Restarted +| rlc:stalled | <<bts_rlc:stalled>> | RLC Stalled +| rlc:nacked | <<bts_rlc:nacked>> | RLC Nacked +| rlc:final_block_resent | <<bts_rlc:final_block_resent>> | RLC Final Blk resent +| rlc:ass:timedout | <<bts_rlc:ass:timedout>> | RLC Assign Timeout +| rlc:ass:failed | <<bts_rlc:ass:failed>> | RLC Assign Failed +| rlc:ack:timedout | <<bts_rlc:ack:timedout>> | RLC Ack Timeout +| rlc:ack:failed | <<bts_rlc:ack:failed>> | RLC Ack Failed +| rlc:rel:timedout | <<bts_rlc:rel:timedout>> | RLC Release Timeout +| rlc:late-block | <<bts_rlc:late-block>> | RLC Late Block +| rlc:sent-dummy | <<bts_rlc:sent-dummy>> | RLC Sent Dummy +| rlc:sent-control | <<bts_rlc:sent-control>> | RLC Sent Control +| rlc:dl_bytes | <<bts_rlc:dl_bytes>> | RLC DL Bytes +| rlc:dl_payload_bytes | <<bts_rlc:dl_payload_bytes>> | RLC DL Payload Bytes +| rlc:ul_bytes | <<bts_rlc:ul_bytes>> | RLC UL Bytes +| rlc:ul_payload_bytes | <<bts_rlc:ul_payload_bytes>> | RLC UL Payload Bytes +| decode:errors | <<bts_decode:errors>> | Decode Errors +| sba:allocated | <<bts_sba:allocated>> | SBA Allocated +| sba:freed | <<bts_sba:freed>> | SBA Freed +| sba:timedout | <<bts_sba:timedout>> | SBA Timeout +| llc:timeout | <<bts_llc:timeout>> | Timedout Frames +| llc:dropped | <<bts_llc:dropped>> | Dropped Frames +| llc:scheduled | <<bts_llc:scheduled>> | Scheduled Frames +| llc:dl_bytes | <<bts_llc:dl_bytes>> | RLC encapsulated PDUs +| llc:ul_bytes | <<bts_llc:ul_bytes>> | full PDUs received +| rach:requests | <<bts_rach:requests>> | RACH requests +| 11bit_rach:requests | <<bts_11bit_rach:requests>> | 11BIT_RACH requests +| spb:uplink_first_segment | <<bts_spb:uplink_first_segment>> | First seg of UL SPB +| spb:uplink_second_segment | <<bts_spb:uplink_second_segment>> | Second seg of UL SPB +| spb:downlink_first_segment | <<bts_spb:downlink_first_segment>> | First seg of DL SPB +| spb:downlink_second_segment | <<bts_spb:downlink_second_segment>> | Second seg of DL SPB +| immediate:assignment_UL | <<bts_immediate:assignment_UL>> | Immediate Assign UL +| immediate:assignment_rej | <<bts_immediate:assignment_rej>> | Immediate Assign Rej +| immediate:assignment_DL | <<bts_immediate:assignment_DL>> | Immediate Assign DL +| channel:request_description | <<bts_channel:request_description>> | Channel Request Desc +| pkt:ul_assignment | <<bts_pkt:ul_assignment>> | Packet UL Assignment +| pkt:access_reject | <<bts_pkt:access_reject>> | Packet Access Reject +| pkt:dl_assignment | <<bts_pkt:dl_assignment>> | Packet DL Assignment +| ul:control | <<bts_ul:control>> | UL control Block +| ul:assignment_poll_timeout | <<bts_ul:assignment_poll_timeout>> | UL Assign Timeout +| ul:assignment_failed | <<bts_ul:assignment_failed>> | UL Assign Failed +| dl:assignment_timeout | <<bts_dl:assignment_timeout>> | DL Assign Timeout +| dl:assignment_failed | <<bts_dl:assignment_failed>> | DL Assign Failed +| pkt:ul_ack_nack_timeout | <<bts_pkt:ul_ack_nack_timeout>> | PUAN Poll Timeout +| pkt:ul_ack_nack_failed | <<bts_pkt:ul_ack_nack_failed>> | PUAN poll Failed +| pkt:dl_ack_nack_timeout | <<bts_pkt:dl_ack_nack_timeout>> | PDAN poll Timeout +| pkt:dl_ack_nack_failed | <<bts_pkt:dl_ack_nack_failed>> | PDAN poll Failed +| gprs:downlink_cs1 | <<bts_gprs:downlink_cs1>> | CS1 downlink +| gprs:downlink_cs2 | <<bts_gprs:downlink_cs2>> | CS2 downlink +| gprs:downlink_cs3 | <<bts_gprs:downlink_cs3>> | CS3 downlink +| gprs:downlink_cs4 | <<bts_gprs:downlink_cs4>> | CS4 downlink +| egprs:downlink_mcs1 | <<bts_egprs:downlink_mcs1>> | MCS1 downlink +| egprs:downlink_mcs2 | <<bts_egprs:downlink_mcs2>> | MCS2 downlink +| egprs:downlink_mcs3 | <<bts_egprs:downlink_mcs3>> | MCS3 downlink +| egprs:downlink_mcs4 | <<bts_egprs:downlink_mcs4>> | MCS4 downlink +| egprs:downlink_mcs5 | <<bts_egprs:downlink_mcs5>> | MCS5 downlink +| egprs:downlink_mcs6 | <<bts_egprs:downlink_mcs6>> | MCS6 downlink +| egprs:downlink_mcs7 | <<bts_egprs:downlink_mcs7>> | MCS7 downlink +| egprs:downlink_mcs8 | <<bts_egprs:downlink_mcs8>> | MCS8 downlink +| egprs:downlink_mcs9 | <<bts_egprs:downlink_mcs9>> | MCS9 downlink +| gprs:uplink_cs1 | <<bts_gprs:uplink_cs1>> | CS1 Uplink +| gprs:uplink_cs2 | <<bts_gprs:uplink_cs2>> | CS2 Uplink +| gprs:uplink_cs3 | <<bts_gprs:uplink_cs3>> | CS3 Uplink +| gprs:uplink_cs4 | <<bts_gprs:uplink_cs4>> | CS4 Uplink +| egprs:uplink_mcs1 | <<bts_egprs:uplink_mcs1>> | MCS1 Uplink +| egprs:uplink_mcs2 | <<bts_egprs:uplink_mcs2>> | MCS2 Uplink +| egprs:uplink_mcs3 | <<bts_egprs:uplink_mcs3>> | MCS3 Uplink +| egprs:uplink_mcs4 | <<bts_egprs:uplink_mcs4>> | MCS4 Uplink +| egprs:uplink_mcs5 | <<bts_egprs:uplink_mcs5>> | MCS5 Uplink +| egprs:uplink_mcs6 | <<bts_egprs:uplink_mcs6>> | MCS6 Uplink +| egprs:uplink_mcs7 | <<bts_egprs:uplink_mcs7>> | MCS7 Uplink +| egprs:uplink_mcs8 | <<bts_egprs:uplink_mcs8>> | MCS8 Uplink +| egprs:uplink_mcs9 | <<bts_egprs:uplink_mcs9>> | MCS9 Uplink +|=== +// generating tables for osmo_stat_items +NSVC Peer Statistics +// osmo_stat_item_group table NSVC Peer Statistics +.ns.nsvc - NSVC Peer Statistics +[options="header"] +|=== +| Name | Reference | Description | Unit +| alive.delay | <<ns.nsvc_alive.delay>> | ALIVE response time | ms +|=== +NSVC Peer Statistics +// osmo_stat_item_group table NSVC Peer Statistics +.ns.nsvc - NSVC Peer Statistics +[options="header"] +|=== +| Name | Reference | Description | Unit +| alive.delay | <<ns.nsvc_alive.delay>> | ALIVE response time | ms +|=== +BTS Statistics +// osmo_stat_item_group table BTS Statistics +.bts - BTS Statistics +[options="header"] +|=== +| Name | Reference | Description | Unit +| ms.present | <<bts_ms.present>> | MS Present | +|=== +// generating tables for osmo_counters +// ungrouped osmo_counters +.ungrouped osmo counters +[options="header"] +|=== +| Name | Reference | Description +|=== + + diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc new file mode 100644 index 00000000..00314743 --- /dev/null +++ b/doc/manuals/chapters/overview.adoc @@ -0,0 +1,67 @@ +== Overview + +=== About OsmoPCU + +OsmoPCU is the Osmocom implementation of the GPRS PCU (Packet Control +Unit) element inside the GPRS network. + +The OsmoPCU is co-located within the BTS and connects to OsmoBTS via its +PCU socket interface. + +On the other side, OsmoPCU is connected via the Gb interface to the +SGSN. + +[[fig-gprs-pcubts]] +.GPRS network architecture with PCU in BTS +[graphviz] +---- +digraph G { + rankdir=LR; + MS0 [label="MS"] + MS1 [label="MS"] + MS0->BTS [label="Um"] + MS1->BTS [label="Um"] + BTS->BSC [label="Abis"] + BSC->MSC [label="A"] + BTS->PCU [label="pcu_sock"] + PCU->SGSN [label="Gb"] + SGSN->GGSN [label="GTP"] +} +---- + +=== Software Components + +OsmoPCU consists of a variety of components, including + +* Gb interface (NS/BSSGP protocol) +* `pcu_sock` interface towards OsmoBTS +* TBF management for uplink and downlink TBF +* RLC/MAC protocol implementation +* per-MS context for each MS currently served +* CSN.1 encoding/decoding routines + +==== Gb Implementation + +OsmoPCU implements the ETSI/3GPP specified Gb interface, including TS +08.16 (NS), TS 08.18 (BSSGP) protocols. As transport layer for NS, it +supports NS/IP (NS encapsulated in UDP/IP). + +The actual Gb Implementation is part of the libosmogb library, which is +in turn part of the libosmocore software package. This allows the same +Gb implementation to be used from OsmoPCU, OsmoGbProxy as well as +OsmoSGSN. + +==== `pcu_sock` Interface to OsmoBTS + +The interface towards OsmoBTS is called 'pcu_sock' and implemented as a +set of non-standardized primitives over a unix domain socket. The +default file system path for this socket is `/tmp/pcu_bts`. + +The PCU socket can be changed on both OmsoBTS and OsmoPCU to a different +file/path name, primarily to permit running multiple independent BTS+PCU +pairs on a single Linux machine without having to use filesystem +namespaces or other complex configurations. + +NOTE: If you change the PCU socket path on OsmoBTS by means of the +`pcu-socket` VTY configuration command, you must ensure to make the +identical change on the OsmoPCU side. diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc new file mode 100644 index 00000000..d9f78c8b --- /dev/null +++ b/doc/manuals/chapters/running.adoc @@ -0,0 +1,33 @@ +== Running OsmoPCU + +The OsmoPCU executable (`osmo-pcu`) offers the following command-line +options: + + +=== SYNOPSIS + +*osmo-pcu* [-h|-V] [-D] [-c 'CONFIGFILE'] [-r 'PRIO'] [-m 'MCC'] [-n 'MNC'] + + +=== 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, --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-pcu.cfg` in the current + working directory. +*-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. +*-m, --mcc 'MCC'*:: + Use the given MCC instead of that provided by BTS via PCU socket +*-n, --mnc 'MNC'*:: + Use the given MNC instead of that provided by BTS via PCU socket diff --git a/doc/manuals/gb/bssgp.adoc b/doc/manuals/gb/bssgp.adoc new file mode 100644 index 00000000..18f1842d --- /dev/null +++ b/doc/manuals/gb/bssgp.adoc @@ -0,0 +1,501 @@ +[[bssgp]] +== BSS GPRS Protocol (BSSGP) + +=== List of Messages + +The following tables list the BSSGP messages used by OsmoPCU, grouped +by their level of compliance with 3GPP TS 08.18. + +==== Messages Compliant With TS 08.18 + +.Messages compliant with TS 08.18 +[options="header",cols="10%,10%,20%,35%,5%,20%"] +|=== +| TS 08.18 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoPCU +6+<| *RL and BSSGP SAP Messages:* +| 10.2.1 | 0x00 | <<dl_unit_data>> | DL-UNITDATA | <- | Received +| 10.2.2 | 0x01 | <<ul_unit_data>> | UL-UNITDATA | -> | Sent +| 10.2.3 | 0x02 | <<ra_capab>> | RA-CAPABILITY | <- | Received +6+<| *GMM SAP Messages:* +| 10.3.1 | 0x06 | <<paging_ps>> | PAGING PS | <- | Received +| 10.3.2 | 0x07 | <<paging_cs>> | PAGING CS | <- | Received +| 10.3.7 | 0x0c | <<susp_ack>> | SUSPEND-ACK | <- | Received +| 10.3.8 | 0x0d | <<susp_nack>> | SUSPEND-NACK | <- | Received +| 10.3.10 | 0x0f | <<res_ack>> | RESUME-ACK | <- | Received +| 10.3.11 | 0x10 | <<res_nack>> | RESUME-NACK | <- | Received +6+<| *NM SAP Messages:* +| 10.4.9 | 0x21 | <<block_ack>> | BVC-BLOCK-ACK | <- | Received +| 10.4.12 | 0x22 | <<bvc_reset>> | BVC-RESET | <-/-> | Received/Sent +| 10.4.13 | 0x23 | <<reset_ack>> | BVC-RESET-ACK | <- | Received +| 10.4.10 | 0x24 | <<bvc_unblock>> | BVC-UNBLOCK | -> | Sent +| 10.4.11 | 0x25 | <<unblock_ack>> | BVC-UNBLOCK-ACK | <- | Received +| 10.4.4 | 0x26 | <<flow_bvc>> | FLOW-CONTROL-BVC | -> | Sent +| 10.4.5 | 0x27 | <<flow_bvc_ack>> | FLOW-CONTROL-BVC-ACK | <- | Received +| 10.4.7 | 0x29 | <<flow_ms_ack>> | FLOW-CONTROL-MS-ACK | <- | Received +| 10.4.1 | 0x2a | <<flush_ll>> | FLUSH-LL | <- | Received +| 10.4.15 | 0x40 | <<invoke_trace>> | SGSN-INVOKE-TRACE | <- | Received +| 10.4.14 | 0x41 | <<bssgp_status>> | STATUS | <-/-> | Received/Sent +|=== + +==== Messages Specific to OsmoPCU + +There are no OsmoPCU specific BSSGP messages. + +[[not_impl]] +==== Messages Not Implemented by OsmoPCU + +.3GPP TS 08.18 messages not implemented by OsmoPCU +[options="header",cols="10%,10%,80%"] +|=== +| TS 08.18 § | type code (hex) | Message +3+<| *RL (relay) and BSSGP SAP Messages:* +| 10.2.4 | 0x03 | PTM-UNITDATA +3+<| *GMM (GPRS mobility management) SAP Messages:* +| 10.3.3 | 0x08 | RA-CAPABILITY-UPDATE +| 10.3.4 | 0x09 | RA-CAPABILITY-UPDATE-ACK +| 10.3.5 | 0x0a | RADIO-STATUS +| 10.3.6 | 0x0b | SUSPEND +| 10.3.9 | 0x0e | RESUME +3+<| *NM (network management) SAP Messages:* +| 10.4.8 | 0x20 | BVC-BLOCK +| 10.4.6 | 0x28 | FLOW-CONTROL-MS +| 10.4.2 | 0x2b | FLUSH-LL-ACK +| 10.4.3 | 0x2c | LLC-DISCARDED +3+<| *PFM (packet flow management) SAP Messages:* +| 10.4.16 | 0x50 | DOWNLOAD-BSS-PFC +| 10.4.17 | 0x51 | CREATE-BSS-PFC +| 10.4.18 | 0x52 | CREATE-BSS-PFC-ACK +| 10.4.19 | 0x53 | CREATE-BSS-PFC-NACK +| 10.4.20 | 0x54 | MODIFY-BSS-PFC +| 10.4.21 | 0x55 | MODIFY-BSS-PFC-ACK +| 10.4.22 | 0x56 | DELETE-BSS-PFC +| 10.4.23 | 0x57 | DELETE-BSS-PFC-ACK +|=== + + +=== Details on Compliant BSSGP Messages + +[[dl_unit_data]] +==== DL-UNITDATA + +This message conforms to 3GPP TS 08.18 § 10.2.1, with the following +limitations: + +* OsmoPCU does not support QoS +* all optional IEs except for IMSI and old TLLI are ignored. + +._DL-UNITDATA_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.18 § | IE Name | Handling +| 11.3.28 | QoS Profile | _ignored_ +| 11.3.22 | MS Radio Access Capability | _ignored_ +| 11.3.27 | Priority | _ignored_ +| 11.3.11 | DRX Parameters | _ignored_ +| 1.3.42 | PFI | _ignored_ +| 11.3.19 | LSA Information | _ignored_ +| 11.3.47 | Service UTRAN CCO | _ignored_ +|=== + +[[ul_unit_data]] +==== UL-UNITDATA + +This message conforms to 3GPP TS 08.18 § 10.2.2, with the following limitations: + +* OsmoPCU does not send optional IEs - PFI (§ 12.3.42) and LSA + Identifier List (§ 11.3.18). +* QoS Profile (§ 11.3.28) IE is always set to 0x04. + +[[ra_capab]] +==== RA-CAPABILITY + +This message is received and logged but ignored by OsmoPCU at the moment. + +[[paging_ps]] +==== PAGING PS + +This message conforms to 3GPP TS 08.18 § 10.3.1, with the following +limitations: + +* only IMSI and P-TMSI are parsed by OsmoPCU. + +._DL-UNITDATA_ IE limitations +[options="header",cols="10%,30%,60%"] +|=== +| TS 08.18 § | IE Name | Handling +| 11.3.11 | DRX Parameters | _ignored_ +| 11.3.6 | BVCI | _ignored_ +| 11.3.17 | Location Are | _ignored_ +| 11.3.31 | Routeing Area | _ignored_ +| 11.3.3 | BSS Area Indication | _ignored_ +| 11.3.42 | PFI | _ignored_ +| 11.3.43 | ABQP | _ignored_ +| 11.3.28 | QoS Profile | _ignored_ +| 11.3.36 | P-TMSI | treated as mandatory (in case of absence paging with 0-length P-TMSI will be sent) +|=== + + +[[paging_cs]] +==== PAGING CS + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[susp_ack]] +==== SUSPEND-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[susp_nack]] +==== SUSPEND-NACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[res_ack]] +==== RESUME-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[res_nack]] +==== RESUME-NACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[block_ack]] +==== BVC-BLOCK-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[bvc_reset]] +==== BVC-RESET + +OsmoPCU never transmits optional Feature bitmap (3GPP TS 08.18 § +11.3.40) IE. + +Receiving BVC RESET will cause OsmoPCU to respond with "Unknown BVCI" +status message. + +[[reset_ack]] +==== BVC-RESET-ACK + +This message conforms to 3GPP TS 08.18 § 10.4.13. + +After receiving it OsmoPCU completes the RESET procedure for BVC +according to 3GPP TS 08.18 § 8.4. + +[[unblock_ack]] +==== BVC-UNBLOCK-ACK + +This message conforms to 3GPP TS 08.18 § 10.4.11. + +After receiving it OsmoPCU completes the RESET procedure for BVC +according to 3GPP TS 08.18 § 8.3. + +[[bvc_unblock]] +==== BVC-UNBLOCK + +This message conforms to 3GPP TS 08.18 § 10.4.10 and is send by +OsmoPCU as part of UNBLOCK procedure described in 3GPP TS 08.18 § 8.3. + +[[flow_ms_ack]] +==== FLOW-CONTROL-MS-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[flow_bvc_ack]] +==== FLOW-CONTROL-BVC-ACK + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[flow_bvc]] +==== FLOW-CONTROL-BVC + +This message conforms to 3GPP TS 08.18 § 10.4.4, with the following +limitations: + +* OsmoPCU does not support Current Bucket Level (CBL) feature so + Bucket_Full Ratio (TS 08.18 § 11.3.46) IE is not transmitted as part + of this message. + +[[flush_ll]] +==== FLUSH-LL + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[invoke_trace]] +==== SGSN-INVOKE-TRACE + +This message is received and logged but ignored by OsmoPCU at the +moment. + +[[bssgp_status]] +==== STATUS + +This message conforms to 3GPP TS 08.18 § 10.4.14. + +=== Information Elements Overview + +All of the IEs handled by OsmoPCU are listed below, with limitations +and additions to 3GPP TS 08.18 specified in more detail. + +==== IEs Conforming to 3GPP TS 08.18 + +The following Information Elements are accepted by OsmoPCU. Not all +IEs are actually evaluated. + +.IEs conforming to 3GPP TS 08.18 +[options="header",cols="5%,10%,40%,5%,40%"] +|=== +| tag (hex) | TS 08.18 § | IE name | <-/-> | Received/Sent by OsmoPCU +| 0x00 | 11.3.1 | Alignment Octets | <-/-> | Received/Sent +| 0x01 | 11.3.2 | Bmax default MS | -> | Sent +| 0x02 | 11.3.3 | BSS Area Indication | <- | Received +| 0x03 | 11.3.4 | Bucket Leak Rate | -> | Sent +| 0x04 | 11.3.6 | BVCI | <-/-> | Received/Sent +| 0x05 | 11.3.5 | BVC Bucket Size | -> | Sent +| 0x06 | 11.3.7 | BVC Measurement | -> | Sent +| 0x07 | 11.3.8 | Cause | <-/-> | Received/Sent +| 0x08 | 11.3.9 | Cell Identifier | -> | Sent +| 0x09 | 11.3.10 | Channel needed | <- | Received +| 0x0a | 11.3.11 | DRX Parameters | <- | Received +| 0x0b | 11.3.12 | eMLPP-Priority | <- | Received +| 0x0c | 11.3.13 | Flush Action | <- | Received +| 0x0d | 11.3.14 | IMSI | <-/-> | Received/Sent +| 0x0e | 11.3.15 | LLC-PDU | <-/-> | Received/Sent +| 0x0f | 11.3.16 | LLC Frames Discarded | -> | Sent +| 0x10 | 11.3.17 | Location Area | <- | Received +| 0x11 | 11.3.20 | Mobile Id | <- | Received +| 0x12 | 11.3.21 | MS Bucket Size | -> | Sent +| 0x13 | 11.3.22 | MS Radio Access Capability | <- | Received +| 0x14 | 11.3.23 | OMC Id | <- | Received +| 0x15 | 11.3.24 | PDU In Error | <-/-> | Received/Sent +| 0x16 | 11.3.25 | PDU Lifetime | <- | Received +| 0x17 | 11.3.27 | Priority | <- | Received +| 0x19 | 11.3.29 | Radio Cause | -> | Sent +| 0x1a | 11.3.30 | RA-Cap-UPD-Cause | -> | Sent +| 0x1b | 11.3.31 | Routeing Area | <-/-> | Received/Sent +| 0x1c | 11.3.32 | R_default_MS | -> | Sent +| 0x1d | 11.3.33 | Suspend Reference Number | <-/-> | Received/Sent +| 0x1e | 11.3.34 | Tag | <-/-> | Received/Sent +| 0x1f | 11.3.35 | TLLI | <-/-> | Received/Sent +| 0x20 | 11.3.36 | TMSI | <-/-> | Received/Sent +| 0x21 | 11.3.37 | Trace Reference | <- | Received +| 0x22 | 11.3.38 | Trace Type | <- | Received +| 0x23 | 11.3.39 | TransactionId | <- | Received +| 0x24 | 11.3.40 | Trigger Id | <- | Received +| 0x25 | 11.3.41 | Number of octets affected | -> | Sent +| 0x26 | 11.3.18 | LSA Identifier List | -> | Sent +| 0x27 | 11.3.19 | LSA Information | <- | Received +| 0x28 | 11.3.42 | Packet Flow Identifier | <-/-> | Received/Sent +| 0x3a | 11.3.43 | Aggregate BSS QoS Profile (ABQP) | <-/-> | Received/Sent +| 0x3b | 11.3.45 | Feature Bitmap | <-/-> | Received/Sent +| 0x3c | 11.3.46 | Bucket_Full Ratio | -> | Sent +| 0x3d | 11.3.47 | Service UTRAN CCO (Cell Change Order) | <- | Received +|=== + +==== IEs Not Conforming to 3GPP TS 08.18 + +.IEs not conforming to 3GPP TS 08.18 +[options="header",cols="5%,10%,30%,55%"] +|=== +| tag (hex) | TS 08.18 § | IE name | Description +| 0x18 | 11.3.28 | QoS Profile | Received value is ignored. Sent value is hard-coded to 0x4 (3 octets). +|=== + +==== Additional Attributes and Parameters + +There are no OsmoPCU specific additional Attributes and Parameters. + +=== Details on IEs + +==== BSS Area Indication + +This IE is ignored by OsmoPCU. + +==== Bucket Leak Rate + +The value used by OsmoPCU for this IE can be set through configuration +file or vty via "flow-control force-ms-leak-rate <1-6553500>" command. + +==== BVC Bucket Size + +The value used by OsmoPCU for this IE can be set through configuration file or vty via +"flow-control force-bvc-bucket-size <1-6553500>" command. + +==== Channel needed + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<paging_cs>> for details. + +==== DRX Parameters + +This IE is ignored by OsmoPCU. + +==== eMLPP-Priority + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<paging_cs>> for details. + +==== Flush Action + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<flush_ll>> for details. + +==== LLC Frames Discarded + +This IE is not available because entire message which contains it +(LLC-DISCARDED) is not implemented by OsmoPCU - see for <<not_impl>> +details. + +==== Location Area + +This IE is ignored by OsmoPCU. + +==== Mobile Id + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== MS Bucket Size + +The value used by OsmoPCU for this IE can be set through configuration +file or vty via "flow-control force-ms-bucket-size <1-6553500>" +command. + +==== MS Radio Access Capability + +This IE is ignored by OsmoPCU. + +==== OMC Id + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Priority + +This IE is ignored by OsmoPCU. + +==== QoS Profile + +No QoS is supported by OsmoPCU so this IE is ignored or safe default +used when mandatory. + +==== Radio Cause + +This IE is not available because entire message which contains it +(RADIO-STATUS) is not implemented by OsmoPCU - see for <<not_impl>> +details. + +==== RA-Cap-UPD-Cause + +This IE is not available because entire message which contains it +(RA-CAPABILITY-UPDATE-ACK) is not implemented by OsmoPCU - see for +<<not_impl>> details. + +==== Routeing Area + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Suspend Reference Number + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Tag + +This IE currently only used by OsmoPCU for Flow Control procedure (TS +08.18 § 8.2). In other cases it's either ignored or unavailable. + +==== Trace Reference + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Trace Type + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== TransactionId + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Trigger Id + +This IE is ignored because entire message which contains it is ignored +by OsmoPCU - see <<invoke_trace>> for details. + +==== Number of octets affected + +This IE is not available because the messages which contains it +(FLUSH-LL-ACK and LLC-DISCARDE) are not implemented by OsmoPCU - see +for <<not_impl>> details. + +==== LSA Information + +This IE is ignored by OsmoPCU. + +==== LSA Identifier List + +This IE is not implemented by OsmoPCU. + +==== Packet Flow Identifier + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Aggregate BSS QoS Profile (ABQP) + +This IE is ignored by OsmoPCU upon receiving. + +The messages which might require this IE to be send are not +implemented by OsmoPCU - see for <<not_impl>> details. + +==== Feature Bitmap + +This IE is not implemented by OsmoPCU. + +This IE is ignored by OsmoPCU when received. + +Absence of Feature Bitmap automatically disables optional features for +Network Service Entity (NSE) communicating with OsmoPCU. + +==== Bucket_Full Ratio + +This IE is not implemented by OsmoPCU. + +==== Service UTRAN CCO (Cell Change Order) + +This IE is ignored by OsmoPCU. + +=== Gb BSSGP Initialization / PCU bring-up + +The BSSGP initialization directly follows NS connection establishment +described in <<ns_init>>. + +OsmoPCU allocates a BVC context for the BVCI given by OsmoBTS, which +in turn receives it from OsmoBSC or OsmoNITB via OML procedures. + +In addition to the BVCI identifying the OsmoPCU side of BSSGP +connection, there is also special BVCI which is accepted by OsmoPCU in +accordance with 3GPP TS 08.18 § 5.4.1: BVCI = 0 represents signaling data +between SGSN and PCU in contrast to PTP (Peer-To-Peer) user's data. + +The mapping between BSSGP PDUs and signaling or PTP BVCIs is available +in 3GPP TS 08.18 Table 5.4. diff --git a/doc/manuals/gb/gb-startup.msc b/doc/manuals/gb/gb-startup.msc new file mode 100644 index 00000000..d76022a9 --- /dev/null +++ b/doc/manuals/gb/gb-startup.msc @@ -0,0 +1,27 @@ +msc { + hscale="1.2"; + bsc [label="BSC"], bts [label="BTS"], pcu [label="PCU"], sgsn [label="SGSN"]; + + |||; + bts box bsc [label="A-bis OML connection"]; + bsc => bts [label="Set OML Attrbibutes (NSVC,CELL)"]; + bts rbox pcu [label="PCU Unix Domain Socket"]; + pcu => bts [label="connect to PCU socket"]; + pcu <: bts [label="Config. parameters"]; + pcu rbox pcu [label="bind/connect UDP socket"]; + pcu note sgsn [label="NS-over-IP (UDP port 23000)"]; + pcu => sgsn [label="NS RESET"]; + pcu <= sgsn [label="NS RESET ACK"]; + ...; + pcu => sgsn [label="NS UNBLOCK"]; + pcu <= sgsn [label="NS UNBLOCK ACK"]; + pcu box sgsn [label="NS link established"]; + ...; + pcu => sgsn [label="BVC RESET"]; + pcu <= sgsn [label="BVC RESET ACK"]; + ...; + pcu => sgsn [label="BVC UNBLOCK"]; + pcu <= sgsn [label="BVC UNBLOCK ACK"]; + pcu box sgsn [label="BSSGP link established"]; + |||; +} diff --git a/doc/manuals/gb/ns.adoc b/doc/manuals/gb/ns.adoc new file mode 100644 index 00000000..c94e0184 --- /dev/null +++ b/doc/manuals/gb/ns.adoc @@ -0,0 +1,227 @@ +== Network Service (NS) + +=== List of Messages + +The following tables list the NS messages used by OsmoPCU, grouped by their +level of compliance with 3GPP TS 08.16. + +==== Messages Compliant With 3GPP TS 08.16 + +The NS protocol is implemented inside libosmocore so none of the messages below are sent by OsmoPCU explicitly. +Instead corresponding functions from libosmocore are called which send and receive messages as necessary. See <<ns_init>> for details +on establishing NS connection. + +.Messages compliant with 3GPP TS 08.16 +[options="header",cols="10%,10%,20%,35%,5%,20%"] +|=== +| TS 08.16 § | type code (hex) | This document § | Message | <-/-> | Received/Sent by OsmoPCU +| 9.2.10 | 0x00 | <<ns_unit_data>> | NS-UNITDATA | <-/-> | Received/Sent +| 9.2.5 | 0x02 | <<ns_reset>> | NS-RESET | <-/-> | Received/Sent +| 9.2.6 | 0x03 | <<ns_reset_ack>> | NS-RESET-ACK | <-/-> | Received/Sent +| 9.2.3 | 0x04 | <<ns_block>> | NS-BLOCK | <-/-> | Received/Sent +| 9.2.4 | 0x05 | <<ns_block_ack>> | NS-BLOCK-ACK | <-/-> | Received/Sent +| 9.2.8 | 0x06 | <<ns_unblock>> | NS-UNBLOCK | <-/-> | Received/Sent +| 9.2.9 | 0x07 | <<ns_unblock_ack>> | NS-UNBLOCK-ACK | <-/-> | Received/Sent +| 9.2.7 | 0x08 | <<ns_status>> | NS-STATUS | <-/-> | Received/Sent +| 9.2.1 | 0x0a | <<ns_alive>> | NS-ALIVE | <-/-> | Received/Sent +| 9.2.2 | 0x0b | <<ns_alive_ack>> | NS-ALIVE-ACK | <-/-> | Received/Sent +|=== + +==== Messages Specific to OsmoPCU + +There are no OsmoPCU specific NS messages. + +==== Messages Not Implemented by OsmoPCU + +All the NS protocol messages from 3GPP TS 08.16 are implemented in OsmoPCU. + +=== Details on Compliant NS Messages + +[[ns_unit_data]] +==== NS-UNITDATA + +This PDU transfers one NS SDU (specified in 3GPP TS 08.18) between +OsmoPCU and SGSN. Upon receiving it OsmoPCU passes it to BSSGP +implementation to handle. It is also sent by BSSGP as necessary - see +<<bssgp>> for details. + +It contains BVCI (<<ie_bvci>>) and NS SDU (<<ie_nssdu>>) IEs. + +[[ns_reset]] +==== NS-RESET + +This message is send by OsmoPCU in order to initiate reset procedure +described in 3GPP TS 08.16 § 7.3. The expected reply is NS-RESET-ACK +(<<ns_reset_ack>>) message. If no expected reply is received in 3 +seconds than the sending is retried up to 3 times. When this message +is received it is replied with NS-RESET-ACK (<<ns_reset_ack>>). +It might be ignored under conditions described in 3GPP TS 08.16 § 7.3.1. + +The message conforms to 3GPP TS 08.16 § 9.2.5 specification. + +It contains Cause (<<ie_cause>>), NSVCI (<<ie_nsvci>>) and NSEI (<<ie_nsei>>) IEs. + +[[ns_reset_ack]] +==== NS-RESET-ACK + +This message is sent as a response to proper NS-RESET (<<ns_reset>>) +message initiating reset procedure. + +The message conforms to 3GPP TS 08.16 § 9.2.6 specification. + +It contains NSVCI (<<ie_nsvci>>) and NSEI (<<ie_nsei>>) IEs. + +[[ns_block]] +==== NS-BLOCK + +Upon receiving this message corresponding NS-VC is marked as blocked +by OsmoPCU and NS-BLOCK-ACK (<<ns_block_ack>>) reply is transmitted. +When this message is sent by OsmoPCU corresponding NS-BLOCK-ACK +(<<ns_block_ack>>) reply is expected before NS-VC is actually marked +as blocked. This behavior follows the blocking procedure described in +3GPP TS 08.16 § 7.2. + +The message conforms to 3GPP TS 08.16 § 9.2.3 specification. + +It contains Cause (<<ie_cause>>) and NSVCI (<<ie_nsvci>>) IEs. + +[[ns_block_ack]] +==== NS-BLOCK-ACK + +This message is sent by OsmoPCU automatically upon reception of +correct NS-BLOCK (<<ns_block>>) message. It is expected as a reply +for NS-BLOCK (<<ns_block>>) message sent by OsmoPCU. + +The message conforms to 3GPP TS 08.16 § 9.2.4 specification. + +It contains NSVCI (<<ie_nsvci>>) IE. + +[[ns_unblock]] +==== NS-UNBLOCK + +Upon receiving this message corresponding NS-VC is unblocked by +OsmoPCU and NS-UNBLOCK-ACK (<<ns_unblock_ack>>) reply is sent. When +this message is sent by OsmoPCU corresponding NS-UNBLOCK-ACK +(<<ns_unblock_ack>>) reply is expected before NS-VC is actually marked +as unblocked. This behavior follows the blocking procedure described +in 3GPP TS 08.16 § 7.2. + +The message conforms to 3GPP TS 08.16 § 9.2.8 specification. + +[[ns_unblock_ack]] +==== NS-UNBLOCK-ACK + +Receiving this message notifies OsmoPCU that NS-VC unblocking request +is confirmed and thus NS-VC is marked as unblocked. This message is +also sent as a reply to NS-UNBLOCK (<<ns_unblock>>) message. + +The message conforms to 3GPP TS 08.16 § 9.2.9 specification. + +[[ns_status]] +==== NS-STATUS + +This message is sent to inform other party about error conditions as a +response to various unexpected PDUs or PDUs with unexpected/missing +data. If this message is received for unknown NS-VC it is ignored in +accordance with 3GPP TS 08.16 § 7.5.1, otherwise the error cause is +logged if present in NS-STATUS. + +The message conforms to 3GPP TS 08.16 § 9.2.7 specification. + +It contains Cause (<<ie_cause>>) and might (depending on actual error) +contain NSVCI (<<ie_nsvci>>), NS PDU (<<ie_nspdu>>) and BVCI +(<<ie_bvci>>) IEs. + +[[ns_alive]] +==== NS-ALIVE + +This message is sent periodically to test connectivity according to +3GPP TS 08.16 § 4.5.3. The expected response is NS-ALIVE-ACK +(<<ns_alive_ack>>). If no such response arrives within given amount of +time (3 seconds) than another NS-ALIVE message is sent and failed test +attempt is recorded. After 10 failed attempts NS connection is +considered dead and OsmoPCU tries to reconnect. + +The message conforms to 3GPP TS 08.16 § 9.2.1 specification. + +[[ns_alive_ack]] +==== NS-ALIVE-ACK + +This message is sent automatically in reply to NS-ALIVE (<<ns_alive>>) +message. + +The message conforms to 3GPP TS 08.16 § 9.2.2 specification. + +=== Information Elements Overview + +All of the IEs handled by OsmoPCU are listed below, with limitations and +additions to 3GPP TS 08.16 specified in more detail. + +==== IEs Conforming to 3GPP TS 08.16 + +The following Information Elements are accepted by OsmoPCU. + +.IEs conforming to 3GPP TS 08.16 +[options="header",cols="5%,10%,40%,5%,40%"] +|=== +| tag (hex) | TS 08.16 § | IE name | <-/-> | Received/Sent by OsmoPCU +| 0x00 | 10.3.2 | Cause | <-/-> | Received/Sent +| 0x01 | 10.3.5 | NSVCI | <-/-> | Received/Sent +| 0x02 | 10.3.3 | NS PDU | <-/-> | Received/Sent +| 0x03 | 10.3.1 | BVCI | <-/-> | Received/Sent +| 0x04 | 10.3.6 | NSEI | <-/-> | Received/Sent +|=== + +==== IEs Not Conforming to 3GPP TS 08.16 + +All IEs defined in 3GPP TS 08.16 § 10.3 are supported by OsmoPCU. + +==== Additional Attributes and Parameters + +There are no OsmoPCU specific additional Attributes and Parameters. + +=== Details on IEs + +[[ie_cause]] +==== Cause + +This IE contains reason for a procedure or error as described in 3GPP TS 08.16 § 10.3.2. + +[[ie_nsvci]] +==== NSVCI + +This IE represents NSVCI identity described in <<ident>> and 3GPP TS 08.16 § 10.3.5. + +[[ie_nspdu]] +==== NS PDU + +This IE contains PDU (possibly truncated) which cause error described +in NS-STATUS message (<<ns_status>>) as described in 3GPP TS 08.16 § +10.3.3. + +[[ie_nssdu]] +==== NS SDU + +This IE contains BSSGP data - see <<bssgp>> for details. + +[[ie_bvci]] +==== BVCI + +This IE represents BSSGP identity described in <<ident>> and 3GPP TS 08.16 +§ 10.3.1. + +[[ie_nsei]] +==== NSEI + +This IE represents NSEI identity described in <<ident>> and 3GPP TS 08.16 § +10.3.6. + +[[ns_init]] +=== Gb NS Initialization / PCU bring-up + +OsmoPCU binds and connects an UDP socket for NS using port numbers and IP +information given by OsmoBTS via the PCU socket. OsmoBTS in turn +receives this information from the BSC vi A-bis OML. + +Following successful initialization of the UDP socket, the reset +procedure is initiated as described in <<ns_reset>>. diff --git a/doc/manuals/osmopcu-gb-docinfo.xml b/doc/manuals/osmopcu-gb-docinfo.xml new file mode 100644 index 00000000..23ec3d15 --- /dev/null +++ b/doc/manuals/osmopcu-gb-docinfo.xml @@ -0,0 +1,58 @@ +<revhistory> + <revision> + <revnumber>0</revnumber> + <date>February 2016</date> + <authorinitials>HW, MS</authorinitials> + <revremark> + Initial version, reflecting OsmoPCU master branch as on 2016-Mar-02 + (commit 22d7e75e1f160e5337140d9f3dcb2679b621b646). + </revremark> + </revision> +</revhistory> + +<authorgroup> + <author> + <firstname>Max</firstname> + <surname>Suraev</surname> + <email>msuraev@sysmocom.de</email> + <authorinitials>MS</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Software Developer</jobtitle> + </affiliation> + </author> + <author> + <firstname>Harald</firstname> + <surname>Welte</surname> + <email>hwelte@sysmocom.de</email> + <authorinitials>HW</authorinitials> + <affiliation> + <shortaffil>sysmocom</shortaffil> + <orgname>sysmocom - s.f.m.c. GmbH</orgname> + <jobtitle>Managing Director</jobtitle> + </affiliation> + </author> +</authorgroup> + +<copyright> + <year>2015-2016</year> + <holder>sysmocom - s.f.m.c. GmbH</holder> +</copyright> + +<legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License". + </para> + <para> + The Asciidoc source code of this manual can be found at + <ulink url="http://git.osmocom.org/osmo-gsm-manuals/"> + http://git.osmocom.org/osmo-gsm-manuals/ + </ulink> + </para> +</legalnotice> diff --git a/doc/manuals/osmopcu-gb.adoc b/doc/manuals/osmopcu-gb.adoc new file mode 100644 index 00000000..64316a20 --- /dev/null +++ b/doc/manuals/osmopcu-gb.adoc @@ -0,0 +1,95 @@ +:gfdl-enabled: + +OsmoPCU Gb Protocol Specification +================================= +Harald Welte <hwelte@sysmocom.de> + +== Introduction + +This document describes the Gb interface of *OsmoPCU*. Based on 3GPP TS +08.16 and 08.18, this document indicates which of the 3GPP specified Gb +messages and IEs are implemented according to 3GPP specifications, which of +these are not or not fully implemented, as well as OsmoPCU-specific extensions +to the Gb interface not specified by 3GPP. + +Extensions to the Gb interface specific to OsmoPCU are detailed in this +document. For details on the messages and IEs that comply with above-mentioned +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 +|3GPP TS 08.16 | version 8.0.1 Release 1999 +|3GPP TS 08.18 | version 8.12.0 Release 1999 +|=== + +.IETF documents referred to by his document +[cols="20%,80%"] +|=== +|IETF RFC 768 | User Datagram Protocol +|IETF RFC 791 | Internet Protocol +|=== + +== Overview + +The OsmoPCU Gb interface consists of the NS (Network Services) and +BSSGP (Base Station Subsystem Gateway Protocol), encapsulated in UDP +(User Datagram Protocol) and IP (Internet Protocol) version 4. +Use of other underlying protocols (e. g. Frame Relay) is not supported. + +.UDP port numbers used by OsmoPCU Gb/IP +[options="header",width="50%",cols="35%,65%"] +|=== +|TCP Port Number|Usage +|23000|NS over UDP (default port) +|=== + +The NS-over-UDP link is established in the PCU -> SGSN direction, i.e. +the PCU is running as client while the SGSN is running as server. + +Establishment of the NS-over-UDP link is only possible after OsmoPCU +has been configured via the *PCU socket* interface from OsmoBTS. + +OsmoBTS in turn receives relevant configuration parameters from +OsmoBSC or the BSC component inside OsmoNITB. + +.Overview of Gb link establishment +["mscgen"] +---- +include::gb/gb-startup.msc[] +---- + +[[ident]] +=== Identities + +The Gb interface identities of the PCU are configured via BSC -> +OsmoBTS -> PCU Socket. They consist of + +NSEI:: NS Equipment Identifier +NSVCI:: NS Virtual Connection Identifier +BVCI:: BSSGP Virtual Connection Identifier + +For an explanation of those identifiers and their use in the NS and +BSSGP protocols, please see the relevant 3GPP specifications for NS (TS 08.16) +and BSSGP (TS 08.18). + +In most cases, all above identities belong to different namespaces and +must be unique within their respective namespace and within the SGSN +they connect to. + +This means that typically each OsmoPCU has one unique set of NSEI, +NSVCI and BVCI in your network. + +include::gb/ns.adoc[] + +include::gb/bssgp.adoc[] + +include::../common/chapters/port_numbers.adoc[] + +include::../common/chapters/glossary.adoc[] + +include::../common/chapters/gfdl.adoc[] diff --git a/doc/manuals/osmopcu-usermanual-docinfo.xml b/doc/manuals/osmopcu-usermanual-docinfo.xml new file mode 100644 index 00000000..ecc67425 --- /dev/null +++ b/doc/manuals/osmopcu-usermanual-docinfo.xml @@ -0,0 +1,46 @@ +<revhistory> + <revision> + <revnumber>1</revnumber> + <date>February 13, 2016</date> + <authorinitials>HW</authorinitials> + <revremark> + Initial version. + </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>2013-2016</year> + <holder>sysmocom - s.f.m.c. GmbH</holder> +</copyright> + +<legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts, + and no Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License". + </para> + <para> + The Asciidoc source code of this manual can be found at + <ulink url="http://git.osmocom.org/osmo-gsm-manuals/"> + http://git.osmocom.org/osmo-gsm-manuals/ + </ulink> + </para> +</legalnotice> diff --git a/doc/manuals/osmopcu-usermanual.adoc b/doc/manuals/osmopcu-usermanual.adoc new file mode 100644 index 00000000..a72e947a --- /dev/null +++ b/doc/manuals/osmopcu-usermanual.adoc @@ -0,0 +1,30 @@ +:gfdl-enabled: + +OsmoPCU 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/configuration.adoc[] + +include::chapters/counters.adoc[] + +include::../common/chapters/gb.adoc[] + +include::../common/chapters/port_numbers.adoc[] + +include::../common/chapters/bibliography.adoc[] + +include::../common/chapters/glossary.adoc[] + +include::../common/chapters/gfdl.adoc[] diff --git a/doc/manuals/osmopcu-vty-reference.xml b/doc/manuals/osmopcu-vty-reference.xml new file mode 100644 index 00000000..c28c4723 --- /dev/null +++ b/doc/manuals/osmopcu-vty-reference.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ex:ts=2:sw=42sts=2:et + -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +--> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN" +"http://docbook.org/xml/5.0/dtd/docbook.dtd" [ +<!ENTITY chapter-vty SYSTEM "../common/chapters/vty.xml"> +<!ENTITY sections-vty SYSTEM "generated/docbook_vty.xml" > +]> + +<book> + <info> + <revhistory> + <revision> + <revnumber>v1</revnumber> + <date>5th March 2014</date> + <authorinitials>hf</authorinitials> + <revremark>Initial version for 0.2-307</revremark> + </revision> + </revhistory> + + <title>OsmoPCU VTY Reference</title> + + <copyright> + <year>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/doc/manuals/vty/osmo-pcu_vty_additions.xml b/doc/manuals/vty/osmo-pcu_vty_additions.xml new file mode 100644 index 00000000..55d75e4d --- /dev/null +++ b/doc/manuals/vty/osmo-pcu_vty_additions.xml @@ -0,0 +1,9 @@ +<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'> + <node id='14'> + <child_of id='4' /> + <name>PCU Configuration Node</name> + <description>The main PCU configuration including the timeslot + assignment algorithm and other parameters.</description> + </node> +</vtydoc> + diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml new file mode 100644 index 00000000..bf1532dd --- /dev/null +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -0,0 +1,941 @@ +<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|csn1|l1if|rlcmac|rlcmacdata|rlcmacdl|rlcmacul|rlcmacsched|rlcmacmeas|bssgp|pcu|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='csn1' doc='Concrete Syntax Notation One (CSN1)' />
+ <param name='l1if' doc='GPRS PCU L1 interface (L1IF)' />
+ <param name='rlcmac' doc='GPRS RLC/MAC layer (RLCMAC)' />
+ <param name='rlcmacdata' doc='GPRS RLC/MAC layer Data (RLCMAC)' />
+ <param name='rlcmacdl' doc='GPRS RLC/MAC layer Downlink (RLCMAC)' />
+ <param name='rlcmacul' doc='GPRS RLC/MAC layer Uplink (RLCMAC)' />
+ <param name='rlcmacsched' doc='GPRS RLC/MAC layer Scheduling (RLCMAC)' />
+ <param name='rlcmacmeas' doc='GPRS RLC/MAC layer Measurements (RLCMAC)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='pcu' doc='GPRS Packet Control Unit (PCU)' />
+ <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 bts statistics'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bts' doc='BTS related functionality' />
+ <param name='statistics' doc='Statistics' />
+ </params>
+ </command>
+ <command id='show tbf all'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='tbf' doc='information about all current TBFs' />
+ <param name='all' doc='(null)' />
+ </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|csn1|l1if|rlcmac|rlcmacdata|rlcmacdl|rlcmacul|rlcmacsched|rlcmacmeas|bssgp|pcu|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='csn1' doc='Concrete Syntax Notation One (CSN1)' />
+ <param name='l1if' doc='GPRS PCU L1 interface (L1IF)' />
+ <param name='rlcmac' doc='GPRS RLC/MAC layer (RLCMAC)' />
+ <param name='rlcmacdata' doc='GPRS RLC/MAC layer Data (RLCMAC)' />
+ <param name='rlcmacdl' doc='GPRS RLC/MAC layer Downlink (RLCMAC)' />
+ <param name='rlcmacul' doc='GPRS RLC/MAC layer Uplink (RLCMAC)' />
+ <param name='rlcmacsched' doc='GPRS RLC/MAC layer Scheduling (RLCMAC)' />
+ <param name='rlcmacmeas' doc='GPRS RLC/MAC layer Measurements (RLCMAC)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='pcu' doc='GPRS Packet Control Unit (PCU)' />
+ <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 bts statistics'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='bts' doc='BTS related functionality' />
+ <param name='statistics' doc='Statistics' />
+ </params>
+ </command>
+ <command id='show tbf all'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='tbf' doc='information about all current TBFs' />
+ <param name='all' doc='(null)' />
+ </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='pcu'>
+ <params>
+ <param name='pcu' doc='BTS specific configure' />
+ </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|csn1|l1if|rlcmac|rlcmacdata|rlcmacdl|rlcmacul|rlcmacsched|rlcmacmeas|bssgp|pcu|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='csn1' doc='Concrete Syntax Notation One (CSN1)' />
+ <param name='l1if' doc='GPRS PCU L1 interface (L1IF)' />
+ <param name='rlcmac' doc='GPRS RLC/MAC layer (RLCMAC)' />
+ <param name='rlcmacdata' doc='GPRS RLC/MAC layer Data (RLCMAC)' />
+ <param name='rlcmacdl' doc='GPRS RLC/MAC layer Downlink (RLCMAC)' />
+ <param name='rlcmacul' doc='GPRS RLC/MAC layer Uplink (RLCMAC)' />
+ <param name='rlcmacsched' doc='GPRS RLC/MAC layer Scheduling (RLCMAC)' />
+ <param name='rlcmacmeas' doc='GPRS RLC/MAC layer Measurements (RLCMAC)' />
+ <param name='bssgp' doc='GPRS BSS Gateway Protocol (BSSGP)' />
+ <param name='pcu' doc='GPRS Packet Control Unit (PCU)' />
+ <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='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='no two-phase-access'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='two-phase-access' doc='Only use two phase access when requested my MS' />
+ </params>
+ </command>
+ <command id='cs <1-4> [<1-4>]'>
+ <params>
+ <param name='cs' doc='Set the Coding Scheme to be used, (overrides BTS config)' />
+ <param name='<1-4>' doc='Initial CS used' />
+ <param name='[<1-4>]' doc='Alternative uplink CS' />
+ </params>
+ </command>
+ <command id='no cs'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='cs' doc='Don't force given Coding Scheme, (use BTS config)' />
+ </params>
+ </command>
+ <command id='queue lifetime <1-65534>'>
+ <params>
+ <param name='queue' doc='Packet queue options' />
+ <param name='lifetime' doc='Set lifetime limit of LLC frame in centi-seconds (overrides the value given by SGSN)' />
+ <param name='<1-65534>' doc='Lifetime in centi-seconds' />
+ </params>
+ </command>
+ <command id='queue lifetime infinite'>
+ <params>
+ <param name='queue' doc='Packet queue options' />
+ <param name='lifetime' doc='Set lifetime limit of LLC frame in centi-seconds (overrides the value given by SGSN)' />
+ <param name='infinite' doc='Infinite lifetime' />
+ </params>
+ </command>
+ <command id='no queue lifetime'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='queue' doc='Packet queue options' />
+ <param name='lifetime' doc='Disable lifetime limit of LLC frame (use value given by SGSN)' />
+ </params>
+ </command>
+ <command id='alloc-algorithm (a|b)'>
+ <params>
+ <param name='alloc-algorithm' doc='Select slot allocation algorithm to use when assigning timeslots on PACCH' />
+ <param name='a' doc='Single slot is assigned only' />
+ <param name='b' doc='Multiple slots are assigned for semi-duplex operation' />
+ </params>
+ </command>
+ <command id='two-phase-access'>
+ <params>
+ <param name='two-phase-access' doc='Force two phase access when MS requests single phase access' />
+ </params>
+ </command>
+ <command id='flow-control-interval <1-10>'>
+ <params>
+ <param name='flow-control-interval' doc='Interval between sending subsequent Flow Control PDUs' />
+ <param name='<1-10>' doc='Interval time in seconds' />
+ </params>
+ </command>
+ <command id='alpha <0-10>'>
+ <params>
+ <param name='alpha' doc='Alpha parameter for MS power control in units of 0.1 (see TS 05.08) NOTE: Be sure to set Alpha value at System information 13 too.' />
+ <param name='<0-10>' doc='Alpha in units of 0.1' />
+ </params>
+ </command>
+ <command id='gamma <0-62>'>
+ <params>
+ <param name='gamma' doc='Gamma parameter for MS power control in units of dB (see TS 05.08)' />
+ <param name='<0-62>' doc='Gamma in even unit of dBs' />
+ </params>
+ </command>
+ <command id='end'>
+ <params>
+ <param name='end' doc='End current mode and change to enable mode' />
+ </params>
+ </command>
+ </node>
+</vtydoc>
\ No newline at end of file |