<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21272">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmobsc-usermanual: Add Chapter with AoIP message flow examples<br><br>Change-Id: I001d5f85c95098269b5f129b0c53c3544b96ffb0<br>---<br>A doc/manuals/chapters/aoip-flows.adoc<br>A doc/manuals/message-sequences/a_interface_bringup.msc<br>A doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc<br>M doc/manuals/osmobsc-usermanual.adoc<br>4 files changed, 214 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/72/21272/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/manuals/chapters/aoip-flows.adoc b/doc/manuals/chapters/aoip-flows.adoc</span><br><span>new file mode 100644</span><br><span>index 0000000..2563922</span><br><span>--- /dev/null</span><br><span>+++ b/doc/manuals/chapters/aoip-flows.adoc</span><br><span>@@ -0,0 +1,105 @@</span><br><span style="color: hsl(120, 100%, 40%);">+== AoIP message flow examples</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The flow diagrams / ladder diagrams of this section are intended to</span><br><span style="color: hsl(120, 100%, 40%);">+provide some examples on how AoIP procedures work.  We hope they will be</span><br><span style="color: hsl(120, 100%, 40%);">+useful in understanding the interface better and aid in debugging any</span><br><span style="color: hsl(120, 100%, 40%);">+related issues.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== AoIP interface bring-up</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+This Figure shows the exchange of messages of a BSC when it is</span><br><span style="color: hsl(120, 100%, 40%);">+establishing its AoIP interface from scratch, for example because it has</span><br><span style="color: hsl(120, 100%, 40%);">+just been started up.  We assume the BSC/CN has already been fully</span><br><span style="color: hsl(120, 100%, 40%);">+brought up, so no SCTP/M3U*A bring-up between MSC and STP is dieplayed.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The diagram shows only one possible scenario.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Depending on the MSc implementation, there may be either</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* a dedicated STP (or multiple replicated STPs) in front of the STP</span><br><span style="color: hsl(120, 100%, 40%);">+* no dedicated STP, as the functionality is implemented inside the MSC</span><br><span style="color: hsl(120, 100%, 40%);">+* an entire SS7 network between BSC and MSC, with multiple STP, SGW,</span><br><span style="color: hsl(120, 100%, 40%);">+  elements switching messages from the BSCs to the MSCs.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The configuration details that need to be known to the BSC at start-up</span><br><span style="color: hsl(120, 100%, 40%);">+time are:</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* at SCTP level</span><br><span style="color: hsl(120, 100%, 40%);">+** remote IP addresses to which it should establish a SCTP association</span><br><span style="color: hsl(120, 100%, 40%);">+** SCTP port number for M3UA at the STP</span><br><span style="color: hsl(120, 100%, 40%);">+* at M3UA level</span><br><span style="color: hsl(120, 100%, 40%);">+** routing key (0 for none)</span><br><span style="color: hsl(120, 100%, 40%);">+** local BSC-side SS7 point code</span><br><span style="color: hsl(120, 100%, 40%);">+** remote MSC-side SS7 point code</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+There possibly may be more configuration details, such as</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+* multiple local and/or remote IP addresses for SCTP multi-homing</span><br><span style="color: hsl(120, 100%, 40%);">+* a fixed local (BSC side) IP address and/or SCTP port (default:</span><br><span style="color: hsl(120, 100%, 40%);">+  dynamic/random)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+.AoIP interface bring-up between BSC and MSC</span><br><span style="color: hsl(120, 100%, 40%);">+[mscgen]</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+include::../message-sequences/a_interface_bringup.msc[]</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+For the purpose of clairty, SCTP-level acknowledgement chunks are not</span><br><span style="color: hsl(120, 100%, 40%);">+shown.  Those are automatically generated by the receiver for every</span><br><span style="color: hsl(120, 100%, 40%);">+DATA chunk received in order to confirm its reception and to allow the</span><br><span style="color: hsl(120, 100%, 40%);">+transmitter to re-transmit in case of packet loss.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== SCTP multi-homing</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+If SCTP multi-homing is used, the additional IP addresses are typically</span><br><span style="color: hsl(120, 100%, 40%);">+exchanged via additional information elements in the INIT/INIT_ACK</span><br><span style="color: hsl(120, 100%, 40%);">+chunks at connection establishment.  They may also change at a later</span><br><span style="color: hsl(120, 100%, 40%);">+point.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+==== MSC pooling</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+If there is MSC pooling configured, there is typically still only one</span><br><span style="color: hsl(120, 100%, 40%);">+M3UA ASP / SCTP association.  The different MSCs are addressed on the</span><br><span style="color: hsl(120, 100%, 40%);">+SCCP point-code level.  It's the STPs job to route the messages based</span><br><span style="color: hsl(120, 100%, 40%);">+on point codes to the respective MSC.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The BSC will try to establish BSSAP to each of the MSCs in the pool,</span><br><span style="color: hsl(120, 100%, 40%);">+using a separate BSSAP reset procedure to each of the pool members</span><br><span style="color: hsl(120, 100%, 40%);">+point code.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+See the Chapter _MSC Pooling_ in the OsmoBSC user manual for</span><br><span style="color: hsl(120, 100%, 40%);">+configuration examples of this situation.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+=== MO call establishment on AoIP with user plane</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The following figure shows a simplified version of the messages between</span><br><span style="color: hsl(120, 100%, 40%);">+MS, OsmoBTS, OsmoBSC, OsmoMGW@BSC, MSC[-Server] and MSC-MGW in during</span><br><span style="color: hsl(120, 100%, 40%);">+the establishment and release of a MO voice call.  Particular focus</span><br><span style="color: hsl(120, 100%, 40%);">+is given on messages related to the establishment of the RTP based</span><br><span style="color: hsl(120, 100%, 40%);">+user plane.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The fact whether or not the RAN or the CN use media gateways, how they</span><br><span style="color: hsl(120, 100%, 40%);">+control their respective media gateway, and whether there are multiple</span><br><span style="color: hsl(120, 100%, 40%);">+media gateways for load distribution is a private implementation detail</span><br><span style="color: hsl(120, 100%, 40%);">+of either RAN nor CN.  Either side does not need to know the</span><br><span style="color: hsl(120, 100%, 40%);">+internal structure of the other side.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The signaling between the BSC-colocated MGW and OsmoBSC is IETF MGCP</span><br><span style="color: hsl(120, 100%, 40%);">+(Media Gateway Control Protocol).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The signaling between the MSC[-Server] and the MGW is internal to the</span><br><span style="color: hsl(120, 100%, 40%);">+CN. It is typically based on MEGACO/H.248.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+As only the BSC and the MSC exchange 3GPP specified signaling messages,</span><br><span style="color: hsl(120, 100%, 40%);">+there is no direct interaction between the RAN and the CN side MGW.</span><br><span style="color: hsl(120, 100%, 40%);">+They only exchange RTP and associated RTCP.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+In many real deployments, OsmoMGW will have a different IP address on</span><br><span style="color: hsl(120, 100%, 40%);">+the BTS/Abis facing interface than on the MSC/A facing interface.  As</span><br><span style="color: hsl(120, 100%, 40%);">+a simplification, this has been omitted in the figure.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[mscgen]</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span style="color: hsl(120, 100%, 40%);">+include::../message-sequences/mo_call-bsc-msc-mgw-aoip.msc[]</span><br><span style="color: hsl(120, 100%, 40%);">+----</span><br><span>diff --git a/doc/manuals/message-sequences/a_interface_bringup.msc b/doc/manuals/message-sequences/a_interface_bringup.msc</span><br><span>new file mode 100644</span><br><span>index 0000000..a3f4ceb</span><br><span>--- /dev/null</span><br><span>+++ b/doc/manuals/message-sequences/a_interface_bringup.msc</span><br><span>@@ -0,0 +1,32 @@</span><br><span style="color: hsl(120, 100%, 40%);">+msc {</span><br><span style="color: hsl(120, 100%, 40%);">+ hscale=2;</span><br><span style="color: hsl(120, 100%, 40%);">+     #bsc[label="BSC"], mgwr[label="MGW(RAN)"], stp[label="STP"], _msc[label="MSC"], mgwc[label="MGW(CN)"];</span><br><span style="color: hsl(120, 100%, 40%);">+      bsc[label="BSC"], stp[label="STP"], _msc[label="MSC"];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        |||;</span><br><span style="color: hsl(120, 100%, 40%);">+  ||| [label="We assume the MSC is already well connected to the STP and MGW(CN)"];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ --- [label="SCTP/IP level establishment"];</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc =>> stp [label="SCTP INIT"];</span><br><span style="color: hsl(120, 100%, 40%);">+      bsc <<= stp [label="SCTP INIT_ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc =>> stp [label="SCTP COOKIE_ECHO"];</span><br><span style="color: hsl(120, 100%, 40%);">+       bsc <<= stp [label="SCTP COOKIE_ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+        ||| [label="SCTP payload can now be carried over the link"];</span><br><span style="color: hsl(120, 100%, 40%);">+        |||;</span><br><span style="color: hsl(120, 100%, 40%);">+  |||;</span><br><span style="color: hsl(120, 100%, 40%);">+  --- [label="M3UA level establishment (over SCTP)"];</span><br><span style="color: hsl(120, 100%, 40%);">+ bsc =>> stp [label="M3UA ASPUP"];</span><br><span style="color: hsl(120, 100%, 40%);">+     bsc <<= stp [label="M3UA ASPUP_ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+ bsc =>> stp [label="M3UA ASPAC (routing context)"];</span><br><span style="color: hsl(120, 100%, 40%);">+   bsc <<= stp [label="M3UA ASPAC_ACK (routing context)"];</span><br><span style="color: hsl(120, 100%, 40%);">+       bsc <<= stp [label="M3UA NTFY (AS-ACTIVE)"];</span><br><span style="color: hsl(120, 100%, 40%);">+  ||| [label="M3UA payload can now be carried over the link"];</span><br><span style="color: hsl(120, 100%, 40%);">+        |||;</span><br><span style="color: hsl(120, 100%, 40%);">+  --- [label="BSSMAP level establishment (over SCCP/M3UA/SCTP)"];</span><br><span style="color: hsl(120, 100%, 40%);">+     bsc =>> _msc [label="BSSMAP RESET (OPC=BSC, DPC=MSC)"];</span><br><span style="color: hsl(120, 100%, 40%);">+       bsc <<= _msc [label="BSSMAP RESET ACK (OPC=MSC, DPC=BSC)"];</span><br><span style="color: hsl(120, 100%, 40%);">+   ||| [label="BSSMAP connection-oriented data can now be exchanged"];</span><br><span style="color: hsl(120, 100%, 40%);">+ |||;</span><br><span style="color: hsl(120, 100%, 40%);">+  --- [label="Repeat BSSMAP level establishment (to other MSCs in the pool)"];</span><br><span style="color: hsl(120, 100%, 40%);">+        |||;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc b/doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc</span><br><span>new file mode 100644</span><br><span>index 0000000..c7e254d</span><br><span>--- /dev/null</span><br><span>+++ b/doc/manuals/message-sequences/mo_call-bsc-msc-mgw-aoip.msc</span><br><span>@@ -0,0 +1,75 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# MO-Call with OsmoBTS + OsmoBSC with true 3GPP AoIP</span><br><span style="color: hsl(120, 100%, 40%);">+msc {</span><br><span style="color: hsl(120, 100%, 40%);">+     hscale=2;</span><br><span style="color: hsl(120, 100%, 40%);">+     ms [label="MS"], bts [label="OsmoBTS\n1.1.1.1"], bsc[label="OsmoBSC"], mgcp[label="OsmoMGW@BSC\n3.3.3.3"], m_sc[label="MSC"], mgw_m[label="MGW@MSC\n5.5.5.5"];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  ms box m_sc     [label="We assume a SDCCH is already established"];</span><br><span style="color: hsl(120, 100%, 40%);">+ ...;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        ms -> m_sc   [label="DTAP CC SETUP"];</span><br><span style="color: hsl(120, 100%, 40%);">+    ms <- m_sc   [label="DTAP CC CALL PROCEEDING"];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        m_sc -> mgw_m        [label="Request allocation of local RTP port"];</span><br><span style="color: hsl(120, 100%, 40%);">+     m_sc <- mgw_m        [label="Respond with RTP port the MGW bound to (5.5.5.5:4000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+    bsc <- m_sc  [label="BSSAP ASSIGN REQ (3GPP AoIP, CN RTP IP/Port 5.5.5.5:4000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+        bts <- bsc   [label="RSL CHAN ACT (TCH)"];</span><br><span style="color: hsl(120, 100%, 40%);">+       bts -> bsc   [label="RSL CHAN ACT ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+ ms <-> bsc        [label="RR Assignment of TCH"];</span><br><span style="color: hsl(120, 100%, 40%);">+     ...;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        # connect BTS RTP with BSC-MGW RTP</span><br><span style="color: hsl(120, 100%, 40%);">+    bts <- bsc   [label="IPA CRCX"];</span><br><span style="color: hsl(120, 100%, 40%);">+ bts box bts     [label="Bind to BTS-local RTP Port (1.1.1.1:1000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+        bts -> bsc   [label="IPA CRCX ACK (1.1.1.1:1000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+      bsc -> mgcp  [label="MGCP CRCX rtpbridge/2@mgw (1.1.1.1:1000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+ mgcp box mgcp   [label="Bind to MGW-local RTP Port (3.3.3.3:2000)\nConnect to 1.1.1.1:1000"];</span><br><span style="color: hsl(120, 100%, 40%);">+       bsc <- mgcp  [label="MGCP CRCX rtpbridge/2@mgw OK (3.3.3.3:2000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+      bts <- bsc   [label="IPA MDCX (3.3.3.3:2000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+  bts box bts     [label="Connect RTP socket to remote (MGW) RTP Port"];</span><br><span style="color: hsl(120, 100%, 40%);">+      bts -> bsc   [label="IPA MDCX ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+     #bsc -> mgcp [label="MGCP MDCX rtpbridge/2@mgw (optional)"];</span><br><span style="color: hsl(120, 100%, 40%);">+     #bsc <- mgcp [label="MGCP MDCX rtpbridge/2@mgw OK (optional)"];</span><br><span style="color: hsl(120, 100%, 40%);">+  ...;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        mgcp <- bsc  [label="MGCP CRCX rtpbridge/2@mgw (5.5.5.5:4000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+ mgcp box mgcp   [label="Bind to MGW-local RTP Port (3.3.3.3:3000)\nConnect to 5.5.5.5:4000"];</span><br><span style="color: hsl(120, 100%, 40%);">+       mgcp -> bsc  [label="MGCP CRCX rtpbridge/2@mgw OK (3.3.3.3:3000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+      ...;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        bsc -> m_sc  [label="BSSAP ASSIGN CMPL (3GPP AoIP 3.3.3.3:3000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+       m_sc -> mgw_m        [label="Request MGW to connect RTP to remote endpoint 3.3.3.3:3000"];</span><br><span style="color: hsl(120, 100%, 40%);">+       mgw_m box mgw_m [label="Connect RTP to 3.3.3.3:3000"];</span><br><span style="color: hsl(120, 100%, 40%);">+      ...;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        mgcp <=> mgw_m    [label="RTP Audio 3.3.3.3:3000 5.5.5.5:4000"];</span><br><span style="color: hsl(120, 100%, 40%);">+      bts <=> mgcp      [label="RTP Audio 1.1.1.1:1000 3.3.3.3:2000"];</span><br><span style="color: hsl(120, 100%, 40%);">+      ms <=> bts        [label="Um Audio (bidirectional)"];</span><br><span style="color: hsl(120, 100%, 40%);">+ ms <-> m_sc       [label="DTAP CC ALERTING"];</span><br><span style="color: hsl(120, 100%, 40%);">+ ...;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        ms <- m_sc   [label="DTAP CC CONNECT"];</span><br><span style="color: hsl(120, 100%, 40%);">+  ms -> m_sc   [label="DTAP CC CONNECT ACK"];</span><br><span style="color: hsl(120, 100%, 40%);">+      ---             [label="Voice Call in Progress"];</span><br><span style="color: hsl(120, 100%, 40%);">+   ms <- m_sc   [label="DTAP CC DISCONNET"];</span><br><span style="color: hsl(120, 100%, 40%);">+        ms <- m_sc   [label="DTAP CC RELEASE"];</span><br><span style="color: hsl(120, 100%, 40%);">+  ms <- m_sc   [label="DTAP CC RELEASE COMPL"];</span><br><span style="color: hsl(120, 100%, 40%);">+    ...;</span><br><span style="color: hsl(120, 100%, 40%);">+  bsc <- m_sc  [label="BSSMAP CLEAR CMD"];</span><br><span style="color: hsl(120, 100%, 40%);">+ m_sc -> mgw_m        [label="Request release RTP port/termination"];</span><br><span style="color: hsl(120, 100%, 40%);">+     mgw_m box mgw_m [label="Release RTP port 5.5.5.5:4000"];</span><br><span style="color: hsl(120, 100%, 40%);">+    bsc -> m_sc  [label="BSSMAP CLEAR COMPL"];</span><br><span style="color: hsl(120, 100%, 40%);">+       bsc <- m_sc  [label="SCCP RLSD"];</span><br><span style="color: hsl(120, 100%, 40%);">+        bsc -> m_sc  [label="SCCP RLC"];</span><br><span style="color: hsl(120, 100%, 40%);">+ ...;</span><br><span style="color: hsl(120, 100%, 40%);">+  mgcp <- bsc  [label="MGCP DLCX rtpbridge/2@mgw"];</span><br><span style="color: hsl(120, 100%, 40%);">+        mgcp box mgcp   [label="Release MSC-facing local RTP port (3.3.3.3:3000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+ mgcp -> bsc  [label="MGCP DLCX rtpbridge/2@mgw OK"];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   mgcp <- bsc  [label="MGCP DLCX rtpbridge/2@mgw"];</span><br><span style="color: hsl(120, 100%, 40%);">+        mgcp box mgcp   [label="Release BTS-facing local RTP port (3.3.3.3:2000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+ mgcp -> bsc  [label="MGCP DLCX rtpbridge/2@mgw OK"];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   bts <- bsc   [label="IPA DLCX"];</span><br><span style="color: hsl(120, 100%, 40%);">+ bts box bts     [label="Release BTS-local RTP port (1.1.1.1:1000)"];</span><br><span style="color: hsl(120, 100%, 40%);">+        bts -> bsc   [label="IPA DLCX OK"];</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc</span><br><span>index 3c80cee..a084a51 100644</span><br><span>--- a/doc/manuals/osmobsc-usermanual.adoc</span><br><span>+++ b/doc/manuals/osmobsc-usermanual.adoc</span><br><span>@@ -46,6 +46,8 @@</span><br><span> </span><br><span> include::./common/chapters/vty_cpu_sched.adoc[]</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+include::{srcdir}/chapters/aoip-flows.adoc[]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> include::./common/chapters/port_numbers.adoc[]</span><br><span> </span><br><span> include::./common/chapters/bibliography.adoc[]</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21272">change 21272</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/21272"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I001d5f85c95098269b5f129b0c53c3544b96ffb0 </div>
<div style="display:none"> Gerrit-Change-Number: 21272 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>