From 98895caa2d4334fa60311d0ffe36b219028622d9 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 14 Apr 2018 00:15:38 +0200 Subject: osmocon2018: reintroducing E1 --- .../osmo-userplane1_e1_mncc.svg | 325 ++ .../osmo-userplane2-e1_rtp.svg | 323 ++ .../osmo-userplane3-rtp_proxy.svg | 213 + .../osmo-userplane4-rtp_direct.svg | 192 + .../osmo-userplane4.svg | 207 + .../osmodevcon2018-reintroducing_e1.adoc | 121 + .../osmodevcon2018-reintroducing_e1.html | 4062 ++++++++++++++++++++ .../osmodevcon2018-reintroducing_e1__1.png | Bin 0 -> 37546 bytes .../osmodevcon2018-reintroducing_e1__2.png | Bin 0 -> 41046 bytes 9 files changed, 5443 insertions(+) create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmo-userplane1_e1_mncc.svg create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmo-userplane2-e1_rtp.svg create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmo-userplane3-rtp_proxy.svg create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmo-userplane4-rtp_direct.svg create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmo-userplane4.svg create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.adoc create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.html create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__1.png create mode 100644 2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__2.png diff --git a/2018/osmodevcon2018-reintroducing_e1/osmo-userplane1_e1_mncc.svg b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane1_e1_mncc.svg new file mode 100644 index 0000000..86e5568 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane1_e1_mncc.svg @@ -0,0 +1,325 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + e1_input + BTS + subchan_demux + SS0 + SS1 + SS2 + SS3 + E1/T1 + 64k Slots + + + + + + + 1 TS + + + + + trau_decode + MNCC + + + OsmoNITB + + + PBX + + GSM_TCHF_FRAME + + diff --git a/2018/osmodevcon2018-reintroducing_e1/osmo-userplane2-e1_rtp.svg b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane2-e1_rtp.svg new file mode 100644 index 0000000..c1b9322 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane2-e1_rtp.svg @@ -0,0 +1,323 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + e1_input + BTS + subchan_demux + SS0 + SS1 + SS2 + SS3 + E1/T1 + 64k Slots + + + + + + + 1 TS + + + + + trau_decode + RTP + + + OsmoNITB + + + PBX + + RTP + + diff --git a/2018/osmodevcon2018-reintroducing_e1/osmo-userplane3-rtp_proxy.svg b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane3-rtp_proxy.svg new file mode 100644 index 0000000..c48cf33 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane3-rtp_proxy.svg @@ -0,0 +1,213 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + rtp_sock + BTS + Abis/IP + RTP + + + RTP + + + OsmoNITB + + + PBX + + RTP + + + diff --git a/2018/osmodevcon2018-reintroducing_e1/osmo-userplane4-rtp_direct.svg b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane4-rtp_direct.svg new file mode 100644 index 0000000..9324876 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane4-rtp_direct.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + BTS + Abis/IP + RTP + + + + OsmoNITB + + PBX + + RTP + + MNCC + + diff --git a/2018/osmodevcon2018-reintroducing_e1/osmo-userplane4.svg b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane4.svg new file mode 100644 index 0000000..ba04362 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmo-userplane4.svg @@ -0,0 +1,207 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + rtp_sock + BTS + Abis/IP + RTP + + + RTP + + + OsmoNITB + + + PBX + + RTP + + + diff --git a/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.adoc b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.adoc new file mode 100644 index 0000000..2e5bd74 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.adoc @@ -0,0 +1,121 @@ +Re-introducing E1 in OsmoBSC +============================ +:author: Harald Welte +:copyright: 2018 by Harald Welte (License: CC-BY-SA) +:backend: slidy +:max-width: 45em + +== Intro + +* OpenBSC (later OsmoNITB) started with E1 BTS +* until NITB Split, E1 support remained present +* even old OsmoBSC (sccplite) never had E1 BTS suport +* new OsmoBSC also has no E1 BTS support +* let's change that! + +== Classic OsmoNITB with E1-BTS + ext MNCC + +image::osmo-userplane1_e1_mncc.svg[width="100%"] + +* Abis/E1 with 16k sub-slots in 64k slots +* E1 device offers 64k timeslots only +** 16k sub-channel mux/demux done in software +* TRAU frames in 16k sub-slots decoded (to FR/EFR codec frames) +* passed next to MNCC signaling over MNCC socket + +== Classic OsmoNITB with E1-BTS + ext MNCC + RTP + +image::osmo-userplane2-e1_rtp.svg[width="100%"] + +* just like previous example, but we generate RTP from TRAU frames +* MNCC interface is signaling only +* user voice frames handled via RTP + +== Classic OsmoNITB with IP-BTS + ext MNCC + RTP proxy + +image::osmo-userplane3-rtp_proxy.svg[width="100%"] + +* Abis/IP BTS use RTP transport for speech frames +* OsmoNITB is asked to provide RTP proxy functionality + +== Classic OsmoNITB with IP-BTS + ext MNCC + direct RTP + +image::osmo-userplane4-rtp_direct.svg[width="100%"] + +* Abis/IP BTS use RTP transport for speech frames +* OsmoNITB rtp_proxy is disabled +* RTP data passes directly from BTS to external PBX and vice-versa + +== IP-BTS User Plane in post-NITB + +When using IP-based BTS like OsmoBTS, this looks like this: + +[graphviz] +---- +digraph G { + rankdir=LR; + + BSC [label="OsmoBSC"]; + MSC [label="OsmoMSC"]; + MGWb [label="OsmoMGW\n(BSC)"]; + MGWm [label="OsmoMGW\n(MSC)"]; + + { rank=same; BSC; MGWb; }; + { rank=same; MSC; MGWm; }; + + BTS -> BSC [label="A-bis/IP (RSL+OML)"]; + BSC -> MSC [label="A (BSSAP)"]; + BTS -> MGWb [label="RTP"]; + MGWb -> MGWm [label="RTP"]; + MSC -> PBX [label="MNCC"]; + MGWm -> PBX [label="RTP"]; + + BSC -> MGWb [label="MGCP"]; + MSC -> MGWm [label="MGCP"]; +} +---- + +* RTP to/from the BTS is handled by the BSC-colocated OsmoMGW + + +== E1-BTS User Plane in post-NITB + +When using E1-based BTS, it should look like this: + +[graphviz] +---- +digraph G { + rankdir=LR; + + BSC [label="OsmoBSC"]; + MSC [label="OsmoMSC"]; + MGWb [label="OsmoMGW\n(BSC)"]; + MGWm [label="OsmoMGW\n(MSC)"]; + + { rank=same; BSC; MGWb; }; + { rank=same; MSC; MGWm; }; + + BTS -> BSC [label="A-bis/E1 (RSL+OML)"]; + BSC -> MSC [label="A (BSSAP)"]; + BTS -> MGWb [label="TRAU-Frames\nover E1"]; + MGWb -> MGWm [label="RTP"]; + MSC -> PBX [label="MNCC"]; + MGWm -> PBX [label="RTP"]; + + BSC -> MGWb [label="MGCP"]; + MSC -> MGWm [label="MGCP"]; +} +---- + +* TRAU frames in 16k E1 sub-slots to/from the BTS are handled by the BSC-colocated OsmoMGW +* OsmoMGW needs real media gateway functionality from E1 sub-slots to RTP +* E1 driver needs to support single E1 span (line) that +** opens RSL/OML LAPDm signaling on one TS from OsmoBSC +** opens TRAU on other TS from OsmoMGW +* `osmo-bsc.cfg` states which Um TS maps to which E1 TS/SS +* `osmo-bsc` uses MGCP EP naming scheme like `E1/Line1/TS4/SS2@mgw` + + +== EOF + +End of File diff --git a/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.html b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.html new file mode 100644 index 0000000..e41b1d6 --- /dev/null +++ b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1.html @@ -0,0 +1,4062 @@ + + + + +Re-introducing E1 in OsmoBSC + + + + + + + + +
+

Intro

+
+
    +
  • + +OpenBSC (later OsmoNITB) started with E1 BTS + +
  • +
  • + +until NITB Split, E1 support remained present + +
  • +
  • + +even old OsmoBSC (sccplite) never had E1 BTS suport + +
  • +
  • + +new OsmoBSC also has no E1 BTS support + +
  • +
  • + +let’s change that! + +
  • +
+
+
+
+

Classic OsmoNITB with E1-BTS + ext MNCC

+
+
+
+osmo-userplane1_e1_mncc.svg +
+
+
    +
  • + +Abis/E1 with 16k sub-slots in 64k slots + +
  • +
  • + +E1 device offers 64k timeslots only + +
      +
    • + +16k sub-channel mux/demux done in software + +
    • +
    +
  • +
  • + +TRAU frames in 16k sub-slots decoded (to FR/EFR codec frames) + +
  • +
  • + +passed next to MNCC signaling over MNCC socket + +
  • +
+
+
+
+

Classic OsmoNITB with E1-BTS + ext MNCC + RTP

+
+
+
+osmo-userplane2-e1_rtp.svg +
+
+
    +
  • + +just like previous example, but we generate RTP from TRAU frames + +
  • +
  • + +MNCC interface is signaling only + +
  • +
  • + +user voice frames handled via RTP + +
  • +
+
+
+
+

Classic OsmoNITB with IP-BTS + ext MNCC + RTP proxy

+
+
+
+osmo-userplane3-rtp_proxy.svg +
+
+
    +
  • + +Abis/IP BTS use RTP transport for speech frames + +
  • +
  • + +OsmoNITB is asked to provide RTP proxy functionality + +
  • +
+
+
+
+

Classic OsmoNITB with IP-BTS + ext MNCC + direct RTP

+
+
+
+osmo-userplane4-rtp_direct.svg +
+
+
    +
  • + +Abis/IP BTS use RTP transport for speech frames + +
  • +
  • + +OsmoNITB rtp_proxy is disabled + +
  • +
  • + +RTP data passes directly from BTS to external PBX and vice-versa + +
  • +
+
+
+
+

IP-BTS User Plane in post-NITB

+
+

When using IP-based BTS like OsmoBTS, this looks like this:

+
+
+osmodevcon2018-reintroducing_e1__1.png +
+
+
    +
  • + +RTP to/from the BTS is handled by the BSC-colocated OsmoMGW + +
  • +
+
+
+
+

E1-BTS User Plane in post-NITB

+
+

When using E1-based BTS, it should look like this:

+
+
+osmodevcon2018-reintroducing_e1__2.png +
+
+
    +
  • + +TRAU frames in 16k E1 sub-slots to/from the BTS are handled by the BSC-colocated OsmoMGW + +
  • +
  • + +OsmoMGW needs real media gateway functionality from E1 sub-slots to RTP + +
  • +
  • + +E1 driver needs to support single E1 span (line) that + +
      +
    • + +opens RSL/OML LAPDm signaling on one TS from OsmoBSC + +
    • +
    • + +opens TRAU on other TS from OsmoMGW + +
    • +
    +
  • +
  • + +osmo-bsc.cfg states which Um TS maps to which E1 TS/SS + +
  • +
  • + +osmo-bsc uses MGCP EP naming scheme like E1/Line1/TS4/SS2@mgw + +
  • +
+
+
+
+

EOF

+
+

End of File

+
+
+ + diff --git a/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__1.png b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__1.png new file mode 100644 index 0000000..432c485 Binary files /dev/null and b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__1.png differ diff --git a/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__2.png b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__2.png new file mode 100644 index 0000000..18ff73f Binary files /dev/null and b/2018/osmodevcon2018-reintroducing_e1/osmodevcon2018-reintroducing_e1__2.png differ -- cgit v1.2.3