<revhistory>
  <revision>
    <revnumber>1</revnumber>
    <date>February 2016</date>
    <authorinitials>HW</authorinitials>
    <revremark>
      Initial OsmoBSC manual, recycling OsmoNITB sections
    </revremark>
  </revision>
  <revision>
    <revnumber>2</revnumber>
    <date>October 2018</date>
    <authorinitials>NH</authorinitials>
    <revremark>
      Add Handover chapter: document new neighbor configuration, HO algorithm 2
      and inter-BSC handover.
    </revremark>
  </revision>
</revhistory>

<authorgroup>
  <author>
    <firstname>Holger</firstname>
    <surname>Freyther</surname>
    <email>hfreyther@sysmocom.de</email>
    <authorinitials>HF</authorinitials>
    <affiliation>
      <shortaffil>sysmocom</shortaffil>
      <orgname>sysmocom - s.f.m.c. GmbH</orgname>
      <jobtitle>former Managing Director</jobtitle>
    </affiliation>
  </author>
  <author>
    <firstname>Harald</firstname>
    <surname>Welte</surname>
    <email>hwelte@sysmocom.de</email>
    <authorinitials>HW</authorinitials>
    <affiliation>
      <shortaffil>sysmocom</shortaffil>
      <orgname>sysmocom - s.f.m.c. GmbH</orgname>
      <jobtitle>Managing Director</jobtitle>
    </affiliation>
  </author>
  <author>
    <firstname>Neels</firstname>
    <surname>Hofmeyr</surname>
    <email>nhofmeyr@sysmocom.de</email>
    <authorinitials>NH</authorinitials>
    <affiliation>
      <shortaffil>sysmocom</shortaffil>
      <orgname>sysmocom - s.f.m.c. GmbH</orgname>
      <jobtitle>Developer</jobtitle>
    </affiliation>
  </author>
</authorgroup>

<copyright>
  <year>2012-2018</year>
  <holder>sysmocom - s.f.m.c. GmbH</holder>
</copyright>

<legalnotice>
  <para>
	Permission is granted to copy, distribute and/or modify this
	document under the terms of the GNU Free Documentation License,
	Version 1.3 or any later version published by the Free Software
	Foundation; with the Invariant Sections being just 'Foreword',
	'Acknowledgements' and 'Preface', with no Front-Cover Texts,
	and no Back-Cover Texts.  A copy of the license is included in
	the section entitled "GNU Free Documentation License".
  </para>
  <para>
	The Asciidoc source code of this manual can be found at
	<ulink url="http://git.osmocom.org/osmo-gsm-manuals/">
		http://git.osmocom.org/osmo-gsm-manuals/
	</ulink>
  </para>
</legalnotice>
