<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13927">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bssap: Feed Assign Complete with Osmux CID retrieved from MGW<br><br>The CID is sent back to the MSC so it can configure its MGW to send<br>Osmux frames to the BSC MGW using this CID.<br><br>Change-Id: I77dfdd965ae828c39a9818669177aefd22bc02f2<br>---<br>M src/osmo-bsc/assignment_fsm.c<br>1 file changed, 24 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c</span><br><span>index 834b58b..aefa4af 100644</span><br><span>--- a/src/osmo-bsc/assignment_fsm.c</span><br><span>+++ b/src/osmo-bsc/assignment_fsm.c</span><br><span>@@ -128,6 +128,13 @@</span><br><span>   }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static void _gsm0808_ass_compl_extend_osmux(struct msgb *msg, uint8_t cid)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     OSMO_ASSERT(msg->l3h[1] == msgb_l3len(msg) - 2); /*TL not in len */</span><br><span style="color: hsl(120, 100%, 40%);">+        msgb_tv_put(msg, GSM0808_IE_OSMO_OSMUX_CID, cid);</span><br><span style="color: hsl(120, 100%, 40%);">+     msg->l3h[1] = msgb_l3len(msg) - 2;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static void send_assignment_complete(struct gsm_subscriber_connection *conn)</span><br><span> {</span><br><span>      int rc;</span><br><span>@@ -135,6 +142,7 @@</span><br><span>        struct gsm0808_speech_codec *sc_ptr = NULL;</span><br><span>  struct sockaddr_storage addr_local;</span><br><span>  struct sockaddr_storage *addr_local_p = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t osmux_cid = 0;</span><br><span>       int perm_spch = 0;</span><br><span>   uint8_t chosen_channel;</span><br><span>      struct msgb *resp;</span><br><span>@@ -164,6 +172,15 @@</span><br><span>                    addr_local_p = &addr_local;</span><br><span>              }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+         if (gscon_is_aoip(conn) && conn->assignment.req.use_osmux) {</span><br><span style="color: hsl(120, 100%, 40%);">+                       if (!osmo_mgcpc_ep_ci_get_crcx_info_to_osmux_cid(conn->user_plane.mgw_endpoint_ci_msc,</span><br><span style="color: hsl(120, 100%, 40%);">+                                                                      &osmux_cid)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                           assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE,</span><br><span style="color: hsl(120, 100%, 40%);">+                                              "Unable to compose Osmux CID of MGW -> MSC");</span><br><span style="color: hsl(120, 100%, 40%);">+                            return;</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%);">+</span><br><span>          /* Only AoIP networks include a speech codec (choosen) in the</span><br><span>                 * assignment complete message. */</span><br><span>           if (gscon_is_aoip(conn)) {</span><br><span>@@ -185,6 +202,10 @@</span><br><span>            return;</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (gscon_is_aoip(conn) && conn->assignment.requires_voice_stream &&</span><br><span style="color: hsl(120, 100%, 40%);">+           conn->assignment.req.use_osmux)</span><br><span style="color: hsl(120, 100%, 40%);">+                _gsm0808_ass_compl_extend_osmux(resp, osmux_cid);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  rc = gscon_sigtran_send(conn, resp);</span><br><span>         if (rc) {</span><br><span>            assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE,</span><br><span>@@ -466,10 +487,11 @@</span><br><span> </span><br><span>         assignment_fsm_update_id(conn);</span><br><span>      LOG_ASSIGNMENT(conn, LOGL_INFO, "Starting Assignment: chan_mode=%s, chan_type=%s,"</span><br><span style="color: hsl(0, 100%, 40%);">-                   " aoip=%s MSC-rtp=%s:%u\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                 " aoip=%s MSC-rtp=%s:%u (osmux=%s)\n",</span><br><span>                     gsm48_chan_mode_name(conn->lchan->ch_mode_rate.chan_mode),</span><br><span>                     rate_names[conn->lchan->ch_mode_rate.chan_rate],</span><br><span style="color: hsl(0, 100%, 40%);">-                  req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port);</span><br><span style="color: hsl(120, 100%, 40%);">+                 req->aoip ? "yes" : "no", req->msc_rtp_addr, req->msc_rtp_port,</span><br><span style="color: hsl(120, 100%, 40%);">+                  req->use_osmux ? "yes" : "no");</span><br><span> </span><br><span>    assignment_fsm_state_chg(ASSIGNMENT_ST_WAIT_LCHAN_ACTIVE);</span><br><span>   info = (struct lchan_activate_info){</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13927">change 13927</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/13927"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I77dfdd965ae828c39a9818669177aefd22bc02f2 </div>
<div style="display:none"> Gerrit-Change-Number: 13927 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>