<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12459">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add SIP P-Access-Network-Info in MO/invites: RAT types<br><br>Indicate GERAN or UTRAN in SIP headers.<br><br>Patch-by: lynxis<br>Tweaked-by: neels<br>Change-Id: I186c315d22816b2552b16ec0788718e05de28c3d<br>---<br>M src/call.h<br>M src/mncc.c<br>M src/sip.c<br>3 files changed, 20 insertions(+), 0 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/59/12459/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/call.h b/src/call.h</span><br><span>index 65d1111..8c7a92f 100644</span><br><span>--- a/src/call.h</span><br><span>+++ b/src/call.h</span><br><span>@@ -5,6 +5,7 @@</span><br><span> #include <osmocom/core/linuxlist.h></span><br><span> #include <osmocom/core/timer.h></span><br><span> #include <osmocom/core/utils.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/gsm_utils.h></span><br><span> </span><br><span> #include <stdbool.h></span><br><span> </span><br><span>@@ -30,6 +31,8 @@</span><br><span> </span><br><span>         const char *source;</span><br><span>  const char *dest;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   enum osmo_rat_type ran;</span><br><span> };</span><br><span> </span><br><span> enum {</span><br><span>diff --git a/src/mncc.c b/src/mncc.c</span><br><span>index ea6a9fc..f16bb5f 100644</span><br><span>--- a/src/mncc.c</span><br><span>+++ b/src/mncc.c</span><br><span>@@ -452,6 +452,7 @@</span><br><span>                       "MNCC leg(%u) failed to allocate call\n", data->callref);</span><br><span>               return mncc_send(conn, MNCC_REJ_REQ, data->callref);</span><br><span>      }</span><br><span style="color: hsl(120, 100%, 40%);">+     call->ran = data->ran;</span><br><span> </span><br><span>     leg = (struct mncc_call_leg *) call->initial;</span><br><span>     leg->base.connect_call = mncc_call_leg_connect;</span><br><span>diff --git a/src/sip.c b/src/sip.c</span><br><span>index adf20d8..f33f90d 100644</span><br><span>--- a/src/sip.c</span><br><span>+++ b/src/sip.c</span><br><span>@@ -25,6 +25,7 @@</span><br><span> #include "sdp.h"</span><br><span> </span><br><span> #include <osmocom/core/utils.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/core/gsm_utils.h></span><br><span> </span><br><span> #include <sofia-sip/sip_status.h></span><br><span> #include <sofia-sip/su_log.h></span><br><span>@@ -416,6 +417,7 @@</span><br><span>                    const char *calling_num, const char *called_num)</span><br><span> {</span><br><span>        struct call_leg *other = leg->base.call->initial;</span><br><span style="color: hsl(120, 100%, 40%);">+       char *paccess_rat_hdr;</span><br><span> </span><br><span>   char *from = talloc_asprintf(leg, "sip:%s@%s:%d",</span><br><span>                          calling_num,</span><br><span>@@ -427,11 +429,25 @@</span><br><span>                                 agent->app->sip.remote_port);</span><br><span>  char *sdp = sdp_create_file(leg, other);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        switch (leg->base.call->ran) {</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_GERAN_A:</span><br><span style="color: hsl(120, 100%, 40%);">+                paccess_rat_hdr = "P-Access-Network-Info: 3GPP-GERAN";</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_UTRAN_IU:</span><br><span style="color: hsl(120, 100%, 40%);">+                paccess_rat_hdr = "P-Access-Network-Info: 3GPP-UTRAN";</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_UNKNOWN:</span><br><span style="color: hsl(120, 100%, 40%);">+        default:</span><br><span style="color: hsl(120, 100%, 40%);">+                paccess_rat_hdr = "P-Access-Network-Info: 3GPP-UNKNOWN";</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   leg->state = SIP_CC_INITIAL;</span><br><span>      leg->dir = SIP_DIR_MT;</span><br><span>    nua_invite(leg->nua_handle,</span><br><span>                       SIPTAG_FROM_STR(from),</span><br><span>                       SIPTAG_TO_STR(to),</span><br><span style="color: hsl(120, 100%, 40%);">+                    SIPTAG_HEADER_STR(paccess_rat_hdr),</span><br><span>                  NUTAG_MEDIA_ENABLE(0),</span><br><span>                       SIPTAG_CONTENT_TYPE_STR("application/sdp"),</span><br><span>                        SIPTAG_PAYLOAD_STR(sdp),</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12459">change 12459</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/12459"/><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-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I186c315d22816b2552b16ec0788718e05de28c3d </div>
<div style="display:none"> Gerrit-Change-Number: 12459 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>