diff --git a/README b/README
index d01b2cf..7f55fe6 100644
--- a/README
+++ b/README
@@ -1,39 +1,28 @@
-About OpenBSC
+About OsmoMGW
 =============
 
-OpenBSC started as a minimalistic all-in-one implementation of the GSM Network,
-with particular emphasis on the functionality typically provided by the BSC,
-MSC, HLR, VLR and SMSC.  Today it is a growing suite of libraries and programs,
-implementing protocol stacks and functional elements, including
+OsmoMGW originated from the OpenBSC project, which started as a minimalistic
+all-in-one implementation of the GSM Network. In 2017, OpenBSC had reached
+maturity and diversity (including M3UA SIGTRAN and 3G support in the form of
+IuCS and IuPS interfaces) that naturally lead to a separation of the all-in-one
+approach to fully independent separate programs as in typical GSM networks.
 
- * OsmoBSC - a pure GSM BSC, speaking Abis/IP to the BTS and A/IP to the MSC
- * OsmoBSC-MGCP - MGCP helper to the OsmoBSC software
- * OsmoNITB - a BSC+MSC+VLR+HLR+SMSC "Network in the box".
- * OsmoMSC - a voice CN with A/IP and IuCS/IP towards the BSC and/or HNB-GW
- * OsmoSGSN - a GPRS SGSN with Gb/IP and IuPS/IP towards the PCU and/or HNB-GW
- * Osmo-GbProxy - a Proxy to aggregate many Gb links as one Gb link to the SGSN
- * OsmoBSCNAT - a gateway aggregating many A links as one A link to the MSC
- * OsmoGTPHUB - a hub aggregating many GTP links (between SGSN and GGSN)
- * ipaccess-utils - some tools to discover + configure ip.access nanoBTS
- * bs11_config - a tool to configure the Siemens BS-11 microBTS
+OsmoMGW was one of the parts split off from the old openbsc.git. It originated
+as a solution to merely navigate RTP streams through a NAT, but has since
+matured to a Media Gateway implementation that is capable of streaming RTP for
+2G (AoIP) and 3G (IuCS) GSM networks as well as (still not implemented at time
+of writing) transcoding between TRAU, various RTP payloads and IuUP.
 
-Various interfaces towards the BTS are supported, among which are:
+The OsmoMGW program exposes an MGCP interface towards clients like OsmoMSC and
+OsmoBSC, and receives and sends RTP streams as configured via MGCP.
 
- * Classic A-bis over E1 using a mISDN based E1 interface. In other
-   words, you can connect existing GSM Base Transceiver Station (BTS)
-   through E1 to OpenBSC.  So far, we have made it work with the Siemens BS-11,
-   various Ericsson RBS2xxx BTS models and the Nokia MetroSite.
+The libosmo-mgcp-client library exposes utilities used by e.g. OsmoMSC (found
+in osmo-msc.git) to instruct OsmoMGW via its MGCP service.
 
- * A-bis over IP as used by the ip.access nanoBTS product family as well as
-   the Open Source OsmoBTS software (by the same authors as OpenBSC).  OsmoBTS
-   in turn supports various transceiver hardware, including the sysmoBTS
-   product family, as well as SDR transceivers supported by OsmoTRX, such as
-   the UmTRX or USRP boardss.
+The libosmo-mgcp library exposes MGCP server utilities used by e.g. OsmoBSC-NAT
+(found in osmo-bsc.git) to navigate RTP streams through a NAT.
+(At time of writing, this is still called libosmo-legacy-mgcp.)
 
- * IuCS and IuPS over IP towards an HNB-GW (see osmo-iuh) for UMTS (3G)
-   voice and data links.
-
-Find OpenBSC online at
-http://openbsc.osmocom.org/
-
-	Harald Welte <laforge@gnumonks.org>
+Find OsmoMGW issue tracker and wiki online at
+https://osmocom.org/projects/osmo-mgw
+https://osmocom.org/projects/osmo-mgw/wiki
