<p>lynxis lazus has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-sip-connector/+/22203">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Introduce mncc_rtp_write similiar to mncc_write<br><br>Concentrate the write() to the socket in 2 places.<br>One for struct gsm_mncc and one for struct gsm_mncc_rtp.<br>Improve debugging as now all function debug print the<br>MNCC primitiv.<br><br>Change-Id: Ia84602955b913a3bb13de7a6a92048799f2e1955<br>---<br>M src/mncc.c<br>1 file changed, 16 insertions(+), 9 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/03/22203/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mncc.c b/src/mncc.c</span><br><span>index d3d218b..83cfe3b 100644</span><br><span>--- a/src/mncc.c</span><br><span>+++ b/src/mncc.c</span><br><span>@@ -156,21 +156,28 @@</span><br><span>         return mncc_write(conn, &mncc);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int mncc_rtp_send(struct mncc_connection *conn, uint32_t msg_type, uint32_t callref)</span><br><span style="color: hsl(120, 100%, 40%);">+static int mncc_rtp_write(struct mncc_connection *conn, struct gsm_mncc_rtp *rtp)</span><br><span> {</span><br><span>      int rc;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     rc = write(conn->fd.fd, &rtp, sizeof(rtp));</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGP(DMNCC, LOGL_DEBUG, "MNCC sent message type: %s\n", osmo_mncc_name(rtp->msg_type));</span><br><span style="color: hsl(120, 100%, 40%);">+  if (rc != sizeof(*rtp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGP(DMNCC, LOGL_ERROR, "Failed to send message for call(%u)\n", rtp->callref);</span><br><span style="color: hsl(120, 100%, 40%);">+          close_connection(conn);</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%);">+   return rc;</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%);">+static int mncc_rtp_send(struct mncc_connection *conn, uint32_t msg_type, uint32_t callref)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span>      struct gsm_mncc_rtp mncc = { 0, };</span><br><span> </span><br><span>       mncc.msg_type = msg_type;</span><br><span>    mncc.callref = callref;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     rc = write(conn->fd.fd, &mncc, sizeof(mncc));</span><br><span style="color: hsl(0, 100%, 40%);">-    if (rc != sizeof(mncc)) {</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DMNCC, LOGL_ERROR, "Failed to send message for call(%u)\n", callref);</span><br><span style="color: hsl(0, 100%, 40%);">-            close_connection(conn);</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       return rc;</span><br><span style="color: hsl(120, 100%, 40%);">+    return mncc_rtp_write(conn, &mncc);</span><br><span> }</span><br><span> </span><br><span> /* Send a MNCC_RTP_CONNECT to the MSC for the given call legs */</span><br><span>@@ -195,7 +202,7 @@</span><br><span>   LOGP(DMNCC, LOGL_DEBUG, "SEND rtp_connect: IP=(%s) PORT=(%u)\n",</span><br><span>        osmo_sockaddr_ntop((const struct sockaddr*)&other->addr, ip_addr),</span><br><span>            osmo_sockaddr_port((const struct sockaddr*)&other->addr));</span><br><span style="color: hsl(0, 100%, 40%);">-  rc = write(leg->conn->fd.fd, &mncc, sizeof(mncc));</span><br><span style="color: hsl(120, 100%, 40%);">+  rc = mncc_rtp_write(leg->conn, &mncc);</span><br><span>        if (rc != sizeof(mncc)) {</span><br><span>            LOGP(DMNCC, LOGL_ERROR, "Failed to send message for call(%u)\n",</span><br><span>                   leg->callref);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-sip-connector/+/22203">change 22203</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-sip-connector/+/22203"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-sip-connector </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia84602955b913a3bb13de7a6a92048799f2e1955 </div>
<div style="display:none"> Gerrit-Change-Number: 22203 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>