<p>daniel has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/10279">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add initial OsmoMGW manual<br><br>Change-Id: I1b4ff96309d280c6a63105a6e06a82ec2e7b6908<br>---<br>M OsmoMGW/Makefile<br>A OsmoMGW/chapters/configuration.adoc<br>A OsmoMGW/chapters/counters.adoc<br>A OsmoMGW/chapters/counters_generated.adoc<br>A OsmoMGW/chapters/overview.adoc<br>A OsmoMGW/chapters/running.adoc<br>A OsmoMGW/osmomgw-usermanual-docinfo.xml<br>A OsmoMGW/osmomgw-usermanual.adoc<br>8 files changed, 287 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/79/10279/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/OsmoMGW/Makefile b/OsmoMGW/Makefile</span><br><span>index 46c97e4..b092e66 100644</span><br><span>--- a/OsmoMGW/Makefile</span><br><span>+++ b/OsmoMGW/Makefile</span><br><span>@@ -1,5 +1,9 @@</span><br><span> TOPDIR = ..</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ASCIIDOC = osmomgw-usermanual.adoc</span><br><span style="color: hsl(120, 100%, 40%);">+ASCIIDOC_DEPS = chapters/*.adoc</span><br><span style="color: hsl(120, 100%, 40%);">+include $(TOPDIR)/build/Makefile.asciidoc.inc</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> VTY_REFERENCE = osmomgw-vty-reference.xml</span><br><span> include $(TOPDIR)/build/Makefile.vty-reference.inc</span><br><span> </span><br><span>diff --git a/OsmoMGW/chapters/configuration.adoc b/OsmoMGW/chapters/configuration.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..c398f25</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/chapters/configuration.adoc</span><br><span>@@ -0,0 +1,57 @@</span><br><span style="color: hsl(120, 100%, 40%);">+== Configuring OsmoMGW</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+A basic configation of OsmoMGW mainly consists of specifying the IP address</span><br><span style="color: hsl(120, 100%, 40%);">+and port on which to listen to MGCP commands, but changing the port range at</span><br><span style="color: hsl(120, 100%, 40%);">+which the RTP streams terminate as well as limiting operation to a single call</span><br><span style="color: hsl(120, 100%, 40%);">+agent can be done as well as changing the number of endpoints.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Configuring MGCP</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+By default OsmoMGW listens for MGCP on port 2427 on any IP address. If a call</span><br><span style="color: hsl(120, 100%, 40%);">+agent address is configured then OsmoMGW will only answer MGCP commands from</span><br><span style="color: hsl(120, 100%, 40%);">+that IP port 2727, otherwise all sources are handled. A domain can be</span><br><span style="color: hsl(120, 100%, 40%);">+specified</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example: MGCP configuration</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# bind ip 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# bind port 2427</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# call-agent ip 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# domain mgw-bsc</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# local ip 127.0.0.1</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Configuring the trunk</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The first trunk (trunk 0) is considered a virtual trunk in OsmoMGW. All</span><br><span style="color: hsl(120, 100%, 40%);">+endpoints of type "rtpbridge" are routed here. The virtual trunk is configured</span><br><span style="color: hsl(120, 100%, 40%);">+in the config-mgcp context.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+All other trunks are configured in the config-mgcp-trunk context, but the</span><br><span style="color: hsl(120, 100%, 40%);">+commands used are identical. Right now trunks are considered only for ds/e1</span><br><span style="color: hsl(120, 100%, 40%);">+type endpoints which are not yet implemented. Don't use trunks other than the</span><br><span style="color: hsl(120, 100%, 40%);">+"virtual" trunk 0.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example: MGCP trunk configuration</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# number endpoints 63 <1></span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# rtp bind-ip 10.0.0.1 <2></span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# rtp port-range 12000-14000 <3></span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+<1> Maximum number of endpoints that can be allocated at once</span><br><span style="color: hsl(120, 100%, 40%);">+<2> Use this IP when binding RTP endpoints</span><br><span style="color: hsl(120, 100%, 40%);">+<3> Use ports in this range when binding RTP endpoints</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+There are some options to tweak how RTP forwarding behaves in OsmoMGW:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.Example: MGCP trunk rtp options</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# rtp keep-alive 30 <1></span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# rtp-patch ssrc <2></span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW(config-mgcp)# rtp-patch timestamp <3></span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+<1> Send dummy UDP packets periodically to RTP destination</span><br><span style="color: hsl(120, 100%, 40%);">+<2> Hide SSRC changes</span><br><span style="color: hsl(120, 100%, 40%);">+<3> Ensure RTP timestamp is aligned with frame duration</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/OsmoMGW/chapters/counters.adoc b/OsmoMGW/chapters/counters.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..7fbb10c</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/chapters/counters.adoc</span><br><span>@@ -0,0 +1,4 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[[counters]]</span><br><span style="color: hsl(120, 100%, 40%);">+== Counters</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::./counters_generated.adoc[]</span><br><span>diff --git a/OsmoMGW/chapters/counters_generated.adoc b/OsmoMGW/chapters/counters_generated.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..20a4dec</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/chapters/counters_generated.adoc</span><br><span>@@ -0,0 +1,14 @@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+// autogenerated by show asciidoc counters</span><br><span style="color: hsl(120, 100%, 40%);">+These counters and their description based on OsmoMGW 1.3.0.34-9cd52 (OsmoMGW).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Rate Counters</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+// generating tables for rate_ctr_group</span><br><span style="color: hsl(120, 100%, 40%);">+== Osmo Stat Items</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+// generating tables for osmo_stat_items</span><br><span style="color: hsl(120, 100%, 40%);">+== Osmo Counters</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+// generating tables for osmo_counters</span><br><span style="color: hsl(120, 100%, 40%);">+// there are no ungrouped osmo_counters</span><br><span>diff --git a/OsmoMGW/chapters/overview.adoc b/OsmoMGW/chapters/overview.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..4ac79f2</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/chapters/overview.adoc</span><br><span>@@ -0,0 +1,105 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[[overview]]</span><br><span style="color: hsl(120, 100%, 40%);">+== Overview</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+This manual should help you getting started with OsmoMGW. It will cover</span><br><span style="color: hsl(120, 100%, 40%);">+aspects of configuring and running the media gateway.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[[intro_overview]]</span><br><span style="color: hsl(120, 100%, 40%);">+=== About OsmoMGW</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW is the Osmocom implementation of a media gateway to handle user</span><br><span style="color: hsl(120, 100%, 40%);">+plane (voice) traffic in cellular networks. It can connect and optionally</span><br><span style="color: hsl(120, 100%, 40%);">+transcode RTP voice streams between different network elements such as BTSs</span><br><span style="color: hsl(120, 100%, 40%);">+and external entities like SIP. It is typically co-located with both OsmoBSC</span><br><span style="color: hsl(120, 100%, 40%);">+and OsmoMSC and controlled by them via MGCP, the Media Gateway Control</span><br><span style="color: hsl(120, 100%, 40%);">+Protocol.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[[fig-bsc]]</span><br><span style="color: hsl(120, 100%, 40%);">+.OsmoMGW used with OsmoBSC</span><br><span style="color: hsl(120, 100%, 40%);">+[graphviz]</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+digraph G {</span><br><span style="color: hsl(120, 100%, 40%);">+    rankdir = LR;</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoBTS -> OsmoBSC [label="Abis/IP"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoBSC -> OsmoMSC [label="3GPP AoIP"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoBSC -> OsmoMGW [label="MGCP"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoBTS -> OsmoMGW [label="RTP",dir=both];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoMGW -> OsmoMSC [label="RTP",dir=both];</span><br><span style="color: hsl(120, 100%, 40%);">+    {rank=same OsmoBSC OsmoMGW}</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoMGW [color=red];</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[[fig-msc]]</span><br><span style="color: hsl(120, 100%, 40%);">+.OsmoMGW used with OsmoMSC</span><br><span style="color: hsl(120, 100%, 40%);">+[graphviz]</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+digraph G {</span><br><span style="color: hsl(120, 100%, 40%);">+    rankdir = LR;</span><br><span style="color: hsl(120, 100%, 40%);">+    BTS -> BSC [label="Abis"];</span><br><span style="color: hsl(120, 100%, 40%);">+    BSC -> OsmoMSC [label="3GPP AoIP"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoMSC -> OsmoMGW [label="MGCP"];</span><br><span style="color: hsl(120, 100%, 40%);">+    BSC -> OsmoMGW [label="RTP",dir=both];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoMSC -> OsmoSIP [label="MNCC"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoSIP -> PBX [label="SIP Trunk"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoMGW -> PBX [label="RTP",dir=both];</span><br><span style="color: hsl(120, 100%, 40%);">+    {rank=same OsmoMSC OsmoMGW}</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoSIP [label="osmo-sip-connector"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoMGW [color=red];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    hNodeB -> OsmoHNBGW [label="Iuh"];</span><br><span style="color: hsl(120, 100%, 40%);">+    OsmoHNBGW -> OsmoMSC [label="IuCS"];</span><br><span style="color: hsl(120, 100%, 40%);">+    hNodeB -> OsmoMGW [label="RTP",dir=both];</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Software Components</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW contains a variety of different software components, which we’ll</span><br><span style="color: hsl(120, 100%, 40%);">+quickly describe in this section.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== MGCP Implementation</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW brings its own MGCP implementation through which OsmoMGW is</span><br><span style="color: hsl(120, 100%, 40%);">+controlled.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The commands implemented are CRCX, MDCX, DLCX and RSIP. The command AUEP is</span><br><span style="color: hsl(120, 100%, 40%);">+implemented as a stub and will simply respond with OK.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== RTP implementation</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Support for IuUP which is used in 3G cells is quite lacking at the moment.</span><br><span style="color: hsl(120, 100%, 40%);">+3G<->3G and 2G<->2G calls should work, but 3G<->2G does not.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== Audio transcoder</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Although there is basic support for transcoding, please note that this feature</span><br><span style="color: hsl(120, 100%, 40%);">+is not currently being used in production/testing setups and may not work or</span><br><span style="color: hsl(120, 100%, 40%);">+work only partially.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Support for transcoding needs to be enabled at compile-time which regular</span><br><span style="color: hsl(120, 100%, 40%);">+packages do not do.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Limitations</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Osmux is not yet supported in OsmoMGW.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+At the moment (July 2018), OsmoMGW only implements RTP proxy / RTP bridge</span><br><span style="color: hsl(120, 100%, 40%);">+type endpoints, to each of which two RTP connections can be established.</span><br><span style="color: hsl(120, 100%, 40%);">+We are planning to add endpoint types for:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- classic E1/T1 timeslots (64kBps alaw/ulaw)</span><br><span style="color: hsl(120, 100%, 40%);">+- classic E1/T1 16k sub-slots with TRAU frames for classic BTS support</span><br><span style="color: hsl(120, 100%, 40%);">+- announcement/playout end-points</span><br><span style="color: hsl(120, 100%, 40%);">+- conference endpoints</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== Additional resources</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+You can find the OsmoMGW issue tracker and wiki online at</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- https://osmocom.org/projects/osmomgw</span><br><span style="color: hsl(120, 100%, 40%);">+- https://osmocom.org/projects/osmomgw/wiki</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+RFC 3435 for MGCP is located at</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+- https://tools.ietf.org/html/rfc3435</span><br><span>diff --git a/OsmoMGW/chapters/running.adoc b/OsmoMGW/chapters/running.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..8565ea5</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/chapters/running.adoc</span><br><span>@@ -0,0 +1,25 @@</span><br><span style="color: hsl(120, 100%, 40%);">+== Running OsmoMGW</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The OsmoMGW executable (`osmo-mgw`) offers the following command-line</span><br><span style="color: hsl(120, 100%, 40%);">+arguments:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== SYNOPSIS</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+*osmo-mgw* [-h|-V] [-D] [-c 'CONFIGFILE'] [-s]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== OPTIONS</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+*-h, --help*::</span><br><span style="color: hsl(120, 100%, 40%);">+   Print a short help message about the supported options</span><br><span style="color: hsl(120, 100%, 40%);">+*-V, --version*::</span><br><span style="color: hsl(120, 100%, 40%);">+     Print the compile-time version number of the OsmoBTS program</span><br><span style="color: hsl(120, 100%, 40%);">+*-D, --daemonize*::</span><br><span style="color: hsl(120, 100%, 40%);">+     Fork the process as a daemon into background.</span><br><span style="color: hsl(120, 100%, 40%);">+*-c, --config-file 'CONFIGFILE'*::</span><br><span style="color: hsl(120, 100%, 40%);">+     Specify the file and path name of the configuration file to be</span><br><span style="color: hsl(120, 100%, 40%);">+        used. If none is specified, use `osmo-mgw.cfg` in the current</span><br><span style="color: hsl(120, 100%, 40%);">+ working directory.</span><br><span style="color: hsl(120, 100%, 40%);">+*-s, --disable-color*::</span><br><span style="color: hsl(120, 100%, 40%);">+   Disable colors for logging to stderr. This has mostly been</span><br><span style="color: hsl(120, 100%, 40%);">+    deprecated by VTY based logging configuration, see <<logging>></span><br><span style="color: hsl(120, 100%, 40%);">+    for more information.</span><br><span>diff --git a/OsmoMGW/osmomgw-usermanual-docinfo.xml b/OsmoMGW/osmomgw-usermanual-docinfo.xml</span><br><span>new file mode 100644</span><br><span>index 0000000..d801c9b</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/osmomgw-usermanual-docinfo.xml</span><br><span>@@ -0,0 +1,47 @@</span><br><span style="color: hsl(120, 100%, 40%);">+<revhistory></span><br><span style="color: hsl(120, 100%, 40%);">+  <revision></span><br><span style="color: hsl(120, 100%, 40%);">+    <revnumber>1</revnumber></span><br><span style="color: hsl(120, 100%, 40%);">+    <date>July 24th, 2018</date></span><br><span style="color: hsl(120, 100%, 40%);">+    <authorinitials>DW</authorinitials></span><br><span style="color: hsl(120, 100%, 40%);">+    <revremark></span><br><span style="color: hsl(120, 100%, 40%);">+      Initial version</span><br><span style="color: hsl(120, 100%, 40%);">+    </revremark></span><br><span style="color: hsl(120, 100%, 40%);">+  </revision></span><br><span style="color: hsl(120, 100%, 40%);">+</revhistory></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<authorgroup></span><br><span style="color: hsl(120, 100%, 40%);">+  <author></span><br><span style="color: hsl(120, 100%, 40%);">+    <firstname>Daniel</firstname></span><br><span style="color: hsl(120, 100%, 40%);">+    <surname>Willmann</surname></span><br><span style="color: hsl(120, 100%, 40%);">+    <email>dwillmann@sysmocom.de</email></span><br><span style="color: hsl(120, 100%, 40%);">+    <authorinitials>DW</authorinitials></span><br><span style="color: hsl(120, 100%, 40%);">+    <affiliation></span><br><span style="color: hsl(120, 100%, 40%);">+      <shortaffil>sysmocom</shortaffil></span><br><span style="color: hsl(120, 100%, 40%);">+      <orgname>sysmocom - s.f.m.c. GmbH</orgname></span><br><span style="color: hsl(120, 100%, 40%);">+    </affiliation></span><br><span style="color: hsl(120, 100%, 40%);">+  </author></span><br><span style="color: hsl(120, 100%, 40%);">+</authorgroup></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<copyright></span><br><span style="color: hsl(120, 100%, 40%);">+  <year>2018</year></span><br><span style="color: hsl(120, 100%, 40%);">+  <holder>sysmocom - s.f.m.c. GmbH</holder></span><br><span style="color: hsl(120, 100%, 40%);">+</copyright></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+<legalnotice></span><br><span style="color: hsl(120, 100%, 40%);">+  <para></span><br><span style="color: hsl(120, 100%, 40%);">+ Permission is granted to copy, distribute and/or modify this</span><br><span style="color: hsl(120, 100%, 40%);">+  document under the terms of the GNU Free Documentation License,</span><br><span style="color: hsl(120, 100%, 40%);">+       Version 1.3 or any later version published by the Free Software</span><br><span style="color: hsl(120, 100%, 40%);">+       Foundation; with the Invariant Sections being just 'Foreword',</span><br><span style="color: hsl(120, 100%, 40%);">+        'Acknowledgements' and 'Preface', with no Front-Cover Texts,</span><br><span style="color: hsl(120, 100%, 40%);">+  and no Back-Cover Texts.  A copy of the license is included in</span><br><span style="color: hsl(120, 100%, 40%);">+        the section entitled "GNU Free Documentation License".</span><br><span style="color: hsl(120, 100%, 40%);">+  </para></span><br><span style="color: hsl(120, 100%, 40%);">+  <para></span><br><span style="color: hsl(120, 100%, 40%);">+     The Asciidoc source code of this manual can be found at</span><br><span style="color: hsl(120, 100%, 40%);">+       <ulink url="http://git.osmocom.org/osmo-gsm-manuals/"></span><br><span style="color: hsl(120, 100%, 40%);">+                http://git.osmocom.org/osmo-gsm-manuals/</span><br><span style="color: hsl(120, 100%, 40%);">+      </ulink></span><br><span style="color: hsl(120, 100%, 40%);">+  </para></span><br><span style="color: hsl(120, 100%, 40%);">+</legalnotice></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/OsmoMGW/osmomgw-usermanual.adoc b/OsmoMGW/osmomgw-usermanual.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..c0178e2</span><br><span>--- /dev/null</span><br><span>+++ b/OsmoMGW/osmomgw-usermanual.adoc</span><br><span>@@ -0,0 +1,31 @@</span><br><span style="color: hsl(120, 100%, 40%);">+:gfdl-enabled:</span><br><span style="color: hsl(120, 100%, 40%);">+:program-name: OsmoMGW</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+OsmoMGW User Manual</span><br><span style="color: hsl(120, 100%, 40%);">+====================</span><br><span style="color: hsl(120, 100%, 40%);">+Daniel Willmann <dwillmann@sysmocom.de></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/preface.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::chapters/overview.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::chapters/running.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/vty.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/logging.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::chapters/configuration.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::chapters/counters.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/port_numbers.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/bibliography.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/glossary.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+include::../common/chapters/gfdl.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10279">change 10279</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/10279"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-manuals </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I1b4ff96309d280c6a63105a6e06a82ec2e7b6908 </div>
<div style="display:none"> Gerrit-Change-Number: 10279 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: daniel <dwillmann@sysmocom.de> </div>