diff --git a/debian/autoreconf b/debian/autoreconf
deleted file mode 100644
index 9a3a67f..0000000
--- a/debian/autoreconf
+++ /dev/null
@@ -1 +0,0 @@
-openbsc
diff --git a/debian/changelog b/debian/changelog
index e9a4212..a1b3dda 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,75 +1,5 @@
-openbsc (0.15.1) UNRELEASED; urgency=medium
+osmo-msc (0.1.0) UNRELEASED; urgency=low
 
-  * Move forward toward a new release.
-  * Prevent SGSN starting with 'auth-policy remote' when no 'gsup remote-*' are configured.
-    Note: such configs are broken without extra workarounds anyway.
+  * Initial release.
 
- -- Holger Hans Peter Freyther <holger@moiji-mobile.com>  Tue, 24 May 2016 23:14:31 +0200
-
-openbsc (0.14.0) unstable; urgency=low
-
-  * New upstream tag and additional patches.
-
- -- Holger Hans Peter Freyther <holger@freyther.de>  Sat, 14 Mar 2015 20:33:25 +0100
-
-openbsc (0.12.0+git26-7) unstable; urgency=low
-
-  * 64bit fix for the MGCP rewriting
-
- -- Holger Hans Peter Freyther <holger@freyther.de>  Wed, 07 Nov 2012 11:39:34 +0100
-
-openbsc (0.12.0+git26-6) precise; urgency=low
-
-  * Added init script for osmocom-sgsn. 
-
- -- Eric Butler <eric@codebutler.com>  Fri, 24 Aug 2012 21:04:32 -0700
-
-openbsc (0.12.0+git26-5) precise; urgency=low
-
-  * Don't enable MNCC sock by default.
-  * Automatically create important directories.
-  * Fix init script 'stop' command.
-
- -- Eric Butler <eric@codebutler.com>  Fri, 24 Aug 2012 20:56:33 -0700
-
-openbsc (0.12.0+git26-4) precise; urgency=low
-
-  * Specify HLR path and enable RTP proxy.
-
- -- Eric Butler <eric@codebutler.com>  Mon, 20 Aug 2012 00:21:07 -0700
-
-openbsc (0.12.0+git26-3) precise; urgency=low
-
-  * Fix init script.
-
- -- Eric Butler <eric@codebutler.com>  Sun, 19 Aug 2012 16:05:44 -0700
-
-openbsc (0.12.0+git26-2) precise; urgency=low
-
-  * Fix libdbi package dependency.
-
- -- Eric Butler <eric@codebutler.com>  Wed, 15 Aug 2012 00:35:37 -0700
-
-openbsc (0.12.0+git26-1) precise; urgency=low
-
-  * Fix version issue.
-
- -- Eric Butler <eric@codebutler.com>  Tue, 14 Aug 2012 21:00:51 -0700
-
-openbsc (0.12.0+git26) precise; urgency=low
-
-  * Updated ubuntu package.
-
- -- Eric Butler <eric@codebutler.com>  Tue, 14 Aug 2012 17:36:51 -0700
-
-openbsc (0.9.13.115.eb113-1) natty; urgency=low
-
-  * New upstream release
-
- -- Harald Welte <laforge@gnumonks.org>  Wed, 11 May 2011 18:41:24 +0000
-
-openbsc (0.9.4-1) unstable; urgency=low
-
-  * Initial release
-
- -- Harald Welte <laforge@gnumonks.org>  Tue, 24 Aug 2010 13:34:24 +0200
+ -- Alexander Couzens <lynxis@fe80.eu>  Tue, 08 Aug 2017 01:13:01 +0000
diff --git a/debian/control b/debian/control
index 87b6f07..907ec38 100644
--- a/debian/control
+++ b/debian/control
@@ -1,181 +1,41 @@
-Source: openbsc
-Maintainer: Harald Welte <laforge@gnumonks.org>
+Source: osmo-msc
 Section: net
-Priority: optional
-Build-Depends: debhelper (>= 9),
-               autotools-dev,
-               autoconf-archive,
-               pkg-config,
-               libgtp-dev,
-               libosmocore-dev,
-               libosmo-sccp-dev,
-               libdbi0-dev,
+Priority: extra
+Maintainer: Alexander Couzens <lynxis@fe80.eu>
+Build-Depends: debhelper (>=9),
                dh-autoreconf,
-               libosmo-abis-dev,
-               libosmo-netif-dev,
-               libdbd-sqlite3,
-               libpcap-dev,
+               autotools-dev,
+               autoconf,
+               automake,
+               libtool,
+               pkg-config,
+               libdbi-dev,
+               libtalloc-dev,
                libssl-dev,
                libc-ares-dev,
-               libsmpp34-dev
+               libgtp-dev,
+               libasn1c-dev,
+               libc-ares-dev,
+               libosmocore-dev,
+               libosmo-sccp-dev,
+               libosmo-abis-dev,
+               libosmo-legacy-mgcp-dev,
+               libosmo-netif-dev,
+               libosmo-ranap-dev
 Standards-Version: 3.9.8
-Vcs-Git: git://bs11-abis.gnumonks.org/openbsc.git
-Vcs-Browser: http://openbsc.osmocom.org/trac/browser
-Homepage: https://projects.osmocom.org/projects/openbsc
+Vcs-Git: git://git.osmocom.org/osmo-bsc.git
+Vcs-Browser: https://git.osmocom.org/osmo-bsc/
+Homepage: https://projects.osmocom.org/projects/osmo-bsc
 
-Package: osmocom-bsc
+Package: osmo-msc
 Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Description: GSM Base Station Controller
- This is the BSC-only version of OpenBSC. It requires a Mobile Switching Center
- (MSC) to operate.
- .
- You might rather prefer to use osmocom-nitb which is considered a
- "GSM Network-in-a-Box" and does not depend on a MSC.
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: OsmoMSC: Osmocom's Mobile Switching Center for 2G and 3G circuit-switched mobile networks
 
-Package: osmocom-nitb
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         libdbd-sqlite3
-Description: GSM Network-in-a-Box, implements BSC, MSC, SMSC, HLR, VLR
- This is the Network-in-a-Box version of OpenBSC. It has all the GSM network
- components bundled together. When using osmocom-nitb, there is no need for a
- Mobile Switching Center (MSC) which is needed when using osmocom-bsc.
-
-Package: osmocom-ipaccess-utils
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Description: Command line utilities for ip.access nanoBTS
- This package contains utilities that are specific for nanoBTS when being used
- together with OpenBSC. It contains mainly three tools: ipaccess-find,
- ipaccess-config and ipaccess-proxy.
-
-Package: osmocom-bs11-utils
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Description: Command line utilities for Siemens BS-11 BTS
- There is a tool in this package for configuring the Siemens BS-11 BTS.
- Additionally, it contains one tool for making use of an ISDN-card and the
- public telephone network as frequency standard for the E1 line.
-
-Package: osmocom-sgsn
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Suggests: osmocom-bsc
-Description: Osmocom Serving GPRS Support Node
- This is an implementation of the GPRS Serving GPRS Support Node (SGSN). As
- such it implements the GPRS Mobility Management (GMM) and SM (Session
- Management).
- .
- The SGSN connects via the Gb-interface to the BSS (like the osmo-pcu or an
- ip.access nanoBTS), and it connects via the GTP protocol to a Gateway GPRS
- Support Node (GGSN) like openggsn.
-
-Package: osmocom-gbproxy
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Recommends: osmocom-sgsn
-Description: Osmocom GPRS Gb Interface Proxy
- The purpose of the Gb proxy is to aggregate the Gb links of multiple
- BSS's and present them in one Gb link to the SGSN.
- .
- This package is part of OpenBSC and closely related to osmocom-sgsn.
-
-Package: osmocom-bsc-nat
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Recommends: osmocom-bsc
-Description: Osmocom Base Station Controller Network Address Translation
- This NAT is useful for masquerading multiple BSCs behind one. It listens
- for incoming BSCs on port 5000 and connects to a specified Mobile Switching
- Center (MSC).
- .
- This package is part of OpenBSC and closely related to osmocom-bsc.
-
-Package: openbsc-dev
-Architecture: all
-Depends: ${misc:Depends}
-Description: Header file needed by tools tightly integrated
- Some other programs depend on gsm_data_shared.h and gsm_data_shared.c
- from OpenBSC. This package installs these files to your file system so
- that the other packages can build-depend on this package.
- .
- The directory structure is copied after the structure in the repository
- and the header and .c file are installed into /usr/src/osmocom/openbsc/.
-
-Package: osmo-gtphub
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Osmocom GTP Hub
- Proxy for comms between multiple SGSNs and GGSNs.
-
-Package: osmocom-bsc-dbg
-Architecture: any
+Package: osmo-msc-dbg
 Section: debug
-Priority: extra
-Depends: osmocom-bsc (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC BSC
- Make debugging possible
-
-Package: osmocom-nitb-dbg
 Architecture: any
-Section: debug
-Priority: extra
-Depends: osmocom-nitb (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC NITB
- Make debugging possible
-
-Package: osmocom-ipaccess-utils-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: osmocom-ipaccess-utils (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC ip.access utils
- Make debugging possible
-
-Package: osmocom-bs11-utils-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: osmocom-bs11-utils (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC BS11 utils
- Make debugging possible
-
-Package: osmocom-sgsn-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: osmocom-sgsn (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC Serving GPRS Support Node
- Make debugging possible
-
-Package: osmocom-gbproxy-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: osmocom-gbproxy (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC GPRS GBProxy
- Make debugging possible
-
-Package: osmocom-bsc-nat-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: osmocom-bsc-nat (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for the OpenBSC Network Address Translation
- Make debugging possible
-
-Package: osmo-gtphub-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: osmo-gtphub (= ${binary:Version}), ${misc:Depends}
-Description: Debug symbols for Osmocom GTP Hub
- Make debugging possible
+Multi-Arch: same
+Depends: osmo-msc (= ${binary:Version}), ${misc:Depends}
+Description: OsmoMSC: Osmocom's Mobile Switching Center for 2G and 3G circuit-switched mobile networks
diff --git a/debian/copyright b/debian/copyright
index 1e4dee1..e3cd9b3 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,74 +1,22 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: OpenBSC
-Source: http://openbsc.osmocom.org/
+Upstream-Name: osmo-msc
+Source: git://git.osmocom.org/osmo-msc
 
-Files: *
-Copyright: 2008-2015        Harald Welte <laforge@gnumonks.org>
-           2008-2015        Holger Hans Peter Freyther <zecke@selfish.org>
-           2009-2015        On-Waves
-           2008             Jan Luebbe <jluebbe@debian.org>
-           2008,2010-2011   Daniel Willmann <daniel@totalueberwachung.de>
-           2009,2011,2013   Andreas Eversberg <Andreas.Eversberg@versatel.de>
-           2009,2011        Dieter Spaar <spaar@mirider.augusta.de>
-           2009             Mike Haben <michael.haben@btinternet.com>
-           2010             Sylvain Munaut <246tnt@gmail.com>
-           2012-2013        Pablo Neira Ayuso <pablo@gnumonks.org>
-           2013-2015        Sysmocom s.f.m.c. GmbH  (Jacob Erlbeck)
-           2014             Alexander Chemeris <Alexander.Chemeris@fairwaves.co>
-License: AGPL-3+
-Comment: Contributions by Stefan Schmidt <stefan@datenfreihafen.org> as well
-
-Files: wireshark/0001-abis_oml.patch
-       wireshark/0002-ericsson_rbs2409.patch
-       wireshark/0003-lucent-hnb.patch
-       wireshark/0005-rsl-hsl.patch
-Copyright: 1998         Gerald Combs <gerald@wireshark.org>
-           2007,2011    Anders Broman <anders.broman@ericsson.com>
-           2009         Holger Hans Peter Freyther <zecke@selfish.org>
-           2009-2011    Harald Welte <laforge@gnumonks.org>
-License: GPL-2+
-
-Files: openbsc/include/mISDNif.h
-Copyright: 2008         Karsten Keil <kkeil@novell.com>
-License: LGPL-2.1
-
-Files: openbsc/src/libmgcp/g711common.h
-Copyright: 2009         Abramo Bagnara <abramo@alsa-project.org>
-License: GPL-2+
-
-Files: openbsc/git-version-gen
-Copyright: 2007-2010    Free Software Foundation
-License: GPL-3+
-
-Files: openbsc/osmoappdesc.py
-       openbsc/tests/smpp_test_runner.py
-       openbsc/tests/ctrl_test_runner.py
-       openbsc/tests/vty_test_runner.py
-Copyright: 2013         Katerina Barone-Adesi <kat.obsc@gmail.com>
-           2013         Jacob Erlbeck <jerlbeck@sysmocom.de>
-           2013-2014    Holger Hans Peter Freyther <zecke@selfish.org>
-License: GPL-3+
-
-Files: openbsc/src/libbsc/bsc_ctrl_lookup.c
-Copyright: 2010-2011    Daniel Willmann <daniel@totalueberwachung.de>
-           2010-2011    On-Waves
-License: GPL-2+
-
-Files: openbsc/src/libmsc/mncc_sock.c
-       openbsc/src/libmsc/mncc_builtin.c
-Copyright: 2008-2010    Harald Welte <laforge@gnumonks.org>
-           2009         Andreas Eversberg <Andreas.Eversberg@versatel.de>
-           2012         Holger Hans Peter Freyther <zecke@selfish.org>
-License: GPL-2+
-
-Files: debian/*
-Copyright: 2012-2015    Holger Hans Peter Freyther <zecke@selfish.org>
-           2016         Ruben Undheim <ruben.undheim@gmail.com>
-License: GPL-2+
-
-
-License: AGPL-3+
- This package is free software; you can redistribute it and/or modify
+Files:     *
+Copyright: 2008 Daniel Willmann <daniel@totalueberwachung.de>
+           2008 Jan Luebbe <jluebbe@debian.org>
+           2008-2015 Holger Hans Peter Freyther <zecke@selfish.org>
+           2008-2016 Harald Welte <laforge@gnumonks.org>
+           2009 Andreas Eversberg <Andreas.Eversberg@versatel.de>
+           2009 Mike Haben <michael.haben@btinternet.com>
+           2010 Sylvain Munaut <tnt@246tNt.com>
+           2010-2013 On-Waves
+           2013 Jacob Erlbeck <jerlbeck@sysmocom.de>
+           2011 Andreas Eversberg <jolly@eversberg.eu>
+           2011-2017 sysmocom s.f.m.c. GmbH <info@sysmocom.de>
+           2014-2015 Alexander Chemeris <Alexander.Chemeris@fairwaves.co>
+License:   AGPL-3.0+
+ This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as published by
  the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.
@@ -76,62 +24,150 @@
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU Affero General Public License for more details.
+ .
+ You should have received a copy of the GNU Affero General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Files:     src/libmsc/mncc_builtin.c
+           src/libmsc/mncc_sock.c
+Copyright: 2008-2010 Harald Welte <laforge@gnumonks.org>
+           2009 Andreas Eversberg <Andreas.Eversberg@versatel.de>
+           2012 Holger Hans Peter Freyther
+License:   GPL-2.0+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ Version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+Files:     osmoappdesc.py
+Copyright: 2013 Katerina Barone-Adesi <kat.obsc@gmail.com>
+License:   GPL-3.0+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>
+ .
+ Most systems won't be able to use these, so they're separated out
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
+
+Files:     git-version-gen
+Copyright: 2007-2010 Free Software Foundation, Inc.
+License:   GPL-3.0+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  .
- You should have received a copy of the GNU Affero General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-License: GPL-2+
- This package is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or (at
- your option) any later version.
- .
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- for more details.
- .
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  .
- On Debian systems, the complete text of the GNU General Public
- License version 2 can be found in "/usr/share/common-licenses/GPL-2".
-
-
-License: GPL-3+
- This package is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or (at
- your option) any later version.
+ This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
+ It may be run two ways:
+ - from a git repository in which the "git describe" command below
+ produces useful output (thus requiring at least one signed tag)
+ - from a non-git-repo directory containing a .tarball-version file, which
+ presumes this script is invoked like "./git-version-gen .tarball-version".
  .
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- for more details.
+ In order to use intra-version strings in your project, you will need two
+ separate generated version string files:
  .
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ .tarball-version - present only in a distribution tarball, and not in
+ a checked-out repository.  Created with contents that were learned at
+ the last time autoconf was run, and used by git-version-gen.  Must not
+ be present in either $(srcdir) or $(builddir) for git-version-gen to
+ give accurate answers during normal development with a checked out tree,
+ but must be present in a tarball when there is no version control system.
+ Therefore, it cannot be used in any dependencies.  GNUmakefile has
+ hooks to force a reconfigure at distribution time to get the value
+ correct, without penalizing normal development with extra reconfigures.
  .
- On Debian systems, the complete text of the GNU General Public
- License version 3 can be found in "/usr/share/common-licenses/GPL-3".
+ .version - present in a checked-out repository and in a distribution
+ tarball.  Usable in dependencies, particularly for files that don't
+ want to depend on config.h but do want to track version changes.
+ Delete this file prior to any autoconf run where you want to rebuild
+ files to pick up a version string change; and leave it stale to
+ minimize rebuild time after unrelated changes to configure sources.
+ .
+ It is probably wise to add these two files to .gitignore, so that you
+ don't accidentally commit either generated file.
+ .
+ Use the following line in your configure.ac, so that $(VERSION) will
+ automatically be up-to-date each time configure is run (and note that
+ since configure.ac no longer includes a version string, Makefile rules
+ should not depend on configure.ac for version updates).
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
 
-
-License: LGPL-2.1
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; version
- 2.1 of the License.
+Files:     tests/vty_test_runner.py
+Copyright: 2013 Holger Hans Peter Freyther
+           2013 Katerina Barone-Adesi <kat.obsc@gmail.com>
+License:   GPL-3.0+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
  .
- This library is distributed in the hope that it will be useful,
+ This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- Lesser General Public License for more details.
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
  .
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  .
- On Debian systems, the complete text of the GNU Lesser General
- Public License version 2.1 can be found in
- "/usr/share/common-licenses/LGPL-2.1".
+ On Debian systems, the complete text of the GNU General Public License
+ Version 3 can be found in `/usr/share/common-licenses/GPL-3'.
+
+Files:     include/openbsc/slhc.h
+Copyright: 1989 Regents of the University of California.
+License:   __UNKNOWN__
+ Redistribution and use in source and binary forms are permitted
+ provided that the above copyright notice and this paragraph are
+ duplicated in all such forms and that any documentation,
+ advertising materials, and other materials related to such
+ distribution and use acknowledge that the software was developed
+ by the University of California, Berkeley.  The name of the
+ University may not be used to endorse or promote products derived
+ from this software without specific prior written permission.
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ .
+ Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
+ - Initial distribution.
+ .
+ modified for KA9Q Internet Software Package by
+ Katie Stevens (dkstevens@ucdavis.edu)
+ University of California, Davis
+ Computing Services
+ - 01-31-90	initial adaptation
+
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index cd545c2..0000000
--- a/debian/docs
+++ /dev/null
@@ -1 +0,0 @@
-openbsc/README
diff --git a/debian/openbsc-dev.install b/debian/openbsc-dev.install
deleted file mode 100644
index 0c05545..0000000
--- a/debian/openbsc-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-openbsc/include/openbsc/gsm_data_shared.h usr/src/osmocom/openbsc/openbsc/include/openbsc/
-openbsc/include/openbsc/common_cs.h usr/src/osmocom/openbsc/openbsc/include/openbsc/
-openbsc/src/libcommon/gsm_data_shared.c usr/src/osmocom/openbsc/openbsc/src/libcommon/
-usr/lib/*/pkgconfig/openbsc.pc
diff --git a/debian/osmo-msc.install b/debian/osmo-msc.install
new file mode 100644
index 0000000..2c733e0
--- /dev/null
+++ b/debian/osmo-msc.install
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/doc/openbsc/examples/osmo-msc/osmo-msc.cfg
diff --git a/debian/osmocom-nitb.default b/debian/osmocom-nitb.default
deleted file mode 100644
index ef76a5f..0000000
--- a/debian/osmocom-nitb.default
+++ /dev/null
@@ -1,8 +0,0 @@
-CONFIG_FILE="/etc/osmocom/osmo-nitb.cfg"
-HLR_FILE="/var/lib/osmocom/hlr.sqlite3"
-
-DAEMON_ARGS="-P"
-
-# Uncomment if using LCR+Asterisk
-# DAEMON_ARGS="-m -P"
-
diff --git a/debian/osmocom-nitb.dirs b/debian/osmocom-nitb.dirs
deleted file mode 100644
index efbca2b..0000000
--- a/debian/osmocom-nitb.dirs
+++ /dev/null
@@ -1,3 +0,0 @@
-/etc/osmocom
-/var/log/osmocom
-/var/lib/osmocom
diff --git a/debian/osmocom-nitb.examples b/debian/osmocom-nitb.examples
deleted file mode 100644
index c098d5c..0000000
--- a/debian/osmocom-nitb.examples
+++ /dev/null
@@ -1 +0,0 @@
-openbsc/doc/examples/osmo-nitb
diff --git a/debian/osmocom-nitb.init b/debian/osmocom-nitb.init
deleted file mode 100755
index 0747446..0000000
--- a/debian/osmocom-nitb.init
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides:          osmo-nitb
-# Required-Start:    $network $local_fs
-# Required-Stop:
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Osmocom GSM network-in-a-box
-# Description:       A minimal implementation of the GSM Base Station Controller,
-#                    Mobile Switching Center, Home Location regster and all other
-#                    components to run a self-contained GSM network.
-### END INIT INFO
-
-# Author: Harald Welte <laforge@gnumonks.org>
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-NAME=osmo-nitb                      # Introduce the short server's name here
-DESC="Osmocom GSM Network-in-a-Box" # Introduce a short description here
-DAEMON=/usr/bin/osmo-nitb           # Introduce the server's location here
-SCRIPTNAME=/etc/init.d/osmocom-nitb
-
-# Exit if the package is not installed
-[ -x $DAEMON ] || exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/default/osmocom-nitb ] && . /etc/default/osmocom-nitb
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-DAEMON_ARGS="$DAEMON_ARGS -D -c $CONFIG_FILE -l $HLR_FILE"
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-	# Return
-	#   0 if daemon has been started
-	#   1 if daemon was already running
-	#   2 if daemon could not be started
-	start-stop-daemon --start --quiet --exec $DAEMON --test > /dev/null \
-		|| return 1
-	start-stop-daemon --start --quiet --exec $DAEMON -- \
-		$DAEMON_ARGS \
-		|| return 2
-	# Add code here, if necessary, that waits for the process to be ready
-	# to handle requests from services started subsequently which depend
-	# on this one.  As a last resort, sleep for some time.
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-	# Return
-	#   0 if daemon has been stopped
-	#   1 if daemon was already stopped
-	#   2 if daemon could not be stopped
-	#   other if a failure occurred
-	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
-	RETVAL="$?"
-	[ "$RETVAL" = 2 ] && return 2
-	# Wait for children to finish too if this is a daemon that forks
-	# and if the daemon is only ever run from this initscript.
-	# If the above conditions are not satisfied then add some other code
-	# that waits for the process to drop all resources that could be
-	# needed by services started subsequently.  A last resort is to
-	# sleep for some time.
-	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
-	[ "$?" = 2 ] && return 2
-	return "$RETVAL"
-}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-do_reload() {
-	#
-	# If the daemon can reload its configuration without
-	# restarting (for example, when it is sent a SIGHUP),
-	# then implement that here.
-	#
-	start-stop-daemon --stop --signal 1 --quiet $PIDFILE --name $NAME
-	return 0
-}
-
-case "$1" in
-  start)
-    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
-    do_start
-    case "$?" in
-		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-	esac
-  ;;
-  stop)
-	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-	do_stop
-	case "$?" in
-		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-	esac
-	;;
-  status)
-       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-       ;;
-  #reload|force-reload)
-	#
-	# If do_reload() is not implemented then leave this commented out
-	# and leave 'force-reload' as an alias for 'restart'.
-	#
-	#log_daemon_msg "Reloading $DESC" "$NAME"
-	#do_reload
-	#log_end_msg $?
-	#;;
-  restart|force-reload)
-	#
-	# If the "reload" option is implemented then remove the
-	# 'force-reload' alias
-	#
-	log_daemon_msg "Restarting $DESC" "$NAME"
-	do_stop
-	case "$?" in
-	  0|1)
-		do_start
-		case "$?" in
-			0) log_end_msg 0 ;;
-			1) log_end_msg 1 ;; # Old process is still running
-			*) log_end_msg 1 ;; # Failed to start
-		esac
-		;;
-	  *)
-	  	# Failed to stop
-		log_end_msg 1
-		;;
-	esac
-	;;
-  *)
-	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
-	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-	exit 3
-	;;
-esac
-
-:
diff --git a/debian/osmocom-nitb.install b/debian/osmocom-nitb.install
deleted file mode 100644
index 26caf71..0000000
--- a/debian/osmocom-nitb.install
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/bin/osmo-nitb
-openbsc/contrib/*.py usr/bin/
\ No newline at end of file
diff --git a/debian/rules b/debian/rules
index 4e187a6..3500fbb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,32 +1,59 @@
 #!/usr/bin/make -f
+# You must remove unused comment lines for the released package.
+# See debhelper(7) (uncomment to enable)
+# This is an autogenerated template for debian/rules.
+#
+# Output every command that modifies files on the build system.
+#export DH_VERBOSE = 1
+#
+# Copy some variable definitions from pkg-info.mk and vendor.mk
+# under /usr/share/dpkg/ to here if they are useful.
+#
+# See FEATURE AREAS/ENVIRONMENT in dpkg-buildflags(1)
+# Apply all hardening options
+#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+# Package maintainers to append CFLAGS
+#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
+# Package maintainers to append LDFLAGS
+#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+#
+# With debhelper version 9 or newer, the dh command exports
+# all buildflags.  So there is no need to include the
+# /usr/share/dpkg/buildflags.mk file here if compat is 9 or newer.
+#
+# These are rarely used code. (START)
+#
+# The following include for *.mk magically sets miscellaneous
+# variables while honoring existing values of pertinent
+# environment variables:
+#
+# Architecture-related variables such as DEB_TARGET_MULTIARCH:
+#include /usr/share/dpkg/architecture.mk
+# Vendor-related variables such as DEB_VENDOR:
+#include /usr/share/dpkg/vendor.mk
+# Package-related variables such as DEB_DISTRIBUTION
+#include /usr/share/dpkg/pkg-info.mk
+#
+# You may alternatively set them susing a simple script such as:
+# DEB_VENDOR ?= $(shell dpkg-vendor --query  Vendor)
+#
+# These are rarely used code. (END)
+#
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-DEBIAN  := $(shell dpkg-parsechangelog | grep ^Version: | cut -d' ' -f2)
-DEBVERS := $(shell echo '$(DEBIAN)' | cut -d- -f1)
-VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g')
-
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-
+# main packaging script based on dh7 syntax
 %:
-	dh $@ --sourcedirectory=openbsc --with autoreconf
+	dh $@ --with autoreconf 
 
-# This is needed for debian stable (squeeze)
-override_dh_autoreconf:
-	cd openbsc && autoreconf --install --force
-
-override_dh_strip:
-	dh_strip -posmocom-bsc --dbg-package=osmocom-bsc-dbg
-	dh_strip -posmocom-nitb --dbg-package=osmocom-nitb-dbg
-	dh_strip -posmocom-ipaccess-utils --dbg-package=osmocom-ipaccess-utils-dbg
-	dh_strip -posmocom-bs11-utils --dbg-package=osmocom-bs11-utils-dbg
-	dh_strip -posmocom-sgsn --dbg-package=osmocom-sgsn-dbg
-	dh_strip -posmocom-gbproxy --dbg-package=osmocom-gbproxy-dbg
-	dh_strip -posmocom-bsc-nat --dbg-package=osmocom-bsc-nat-dbg
-	dh_strip -posmo-gtphub --dbg-package=osmo-gtphub-dbg
-
+# debmake generated override targets
+# Set options for ./configure
+CONFIGURE_FLAGS += --enable-iu
 override_dh_auto_configure:
-	echo $(VERSION) > openbsc/.tarball-version
-	dh_auto_configure --sourcedirectory=openbsc -- --enable-nat --enable-osmo-bsc --enable-smpp
+	dh_auto_configure -- $(CONFIGURE_FLAGS)
+#
+# Do not install libtool archive, python .pyc .pyo
+#override_dh_install:
+#	dh_install --list-missing -X.la -X.pyc -X.pyo
 
+# See https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg
+override_dh_strip:
+	dh_strip --dbg-package=osmo-msc-dbg
