<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>
