<p>lynxis lazus <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-msc/+/20280">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  fixeria: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Convert paging response timer into an osmocom own X4 timer<br><br>All timeout values should use tdef.<br><br>Change-Id: Ic050eb49ba0c5811b43d8d8b44145a1115fd8546<br>---<br>M include/osmocom/msc/gsm_data.h<br>M src/libmsc/msc_net_init.c<br>M src/libmsc/msc_vty.c<br>M src/libmsc/paging.c<br>M src/libmsc/ran_infra.c<br>M tests/test_nodes.vty<br>6 files changed, 21 insertions(+), 13 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h</span><br><span>index 61fbc26..438ee08 100644</span><br><span>--- a/include/osmocom/msc/gsm_data.h</span><br><span>+++ b/include/osmocom/msc/gsm_data.h</span><br><span>@@ -172,8 +172,6 @@</span><br><span>        */</span><br><span>  struct llist_head trans_list;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       unsigned int paging_response_timer;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>  /* Radio Resource Location Protocol (TS 04.31) */</span><br><span>    struct {</span><br><span>             enum rrlp_mode mode;</span><br><span>diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c</span><br><span>index 774c767..9e3e8b3 100644</span><br><span>--- a/src/libmsc/msc_net_init.c</span><br><span>+++ b/src/libmsc/msc_net_init.c</span><br><span>@@ -72,8 +72,6 @@</span><br><span>    net->mncc_guard_timeout = 180;</span><br><span>    net->ncss_guard_timeout = 30;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    net->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>   INIT_LLIST_HEAD(&net->trans_list);</span><br><span>    INIT_LLIST_HEAD(&net->upqueue);</span><br><span>       INIT_LLIST_HEAD(&net->neighbor_ident_list);</span><br><span>diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c</span><br><span>index 46d3cf9..79b4daa 100644</span><br><span>--- a/src/libmsc/msc_vty.c</span><br><span>+++ b/src/libmsc/msc_vty.c</span><br><span>@@ -67,6 +67,7 @@</span><br><span> #include <osmocom/msc/sgs_vty.h></span><br><span> #include <osmocom/msc/sccp_ran.h></span><br><span> #include <osmocom/msc/ran_peer.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/msc/ran_infra.h></span><br><span> </span><br><span> static struct gsm_network *gsmnet = NULL;</span><br><span> </span><br><span>@@ -562,7 +563,7 @@</span><br><span>     return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-DEFUN(cfg_msc_paging_response_timer, cfg_msc_paging_response_timer_cmd,</span><br><span style="color: hsl(120, 100%, 40%);">+DEFUN_DEPRECATED(cfg_msc_paging_response_timer, cfg_msc_paging_response_timer_cmd,</span><br><span>       "paging response-timer (default|<1-65535>)",</span><br><span>       "Configure Paging\n"</span><br><span>       "Set Paging timeout, the minimum time to pass between (unsuccessful) Pagings sent towards"</span><br><span>@@ -570,10 +571,22 @@</span><br><span>       "Set to default timeout (" OSMO_STRINGIFY_VAL(MSC_PAGING_RESPONSE_TIMER_DEFAULT) " seconds)\n"</span><br><span>       "Set paging timeout in seconds\n")</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+    int rat;</span><br><span style="color: hsl(120, 100%, 40%);">+      int paging_response_timer;</span><br><span>   if (!strcmp(argv[0], "default"))</span><br><span style="color: hsl(0, 100%, 40%);">-              gsmnet->paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT;</span><br><span style="color: hsl(120, 100%, 40%);">+         paging_response_timer = MSC_PAGING_RESPONSE_TIMER_DEFAULT;</span><br><span>   else</span><br><span style="color: hsl(0, 100%, 40%);">-            gsmnet->paging_response_timer = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+             paging_response_timer = atoi(argv[0]);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      for (rat = 0; rat < OSMO_RAT_COUNT; rat++) {</span><br><span style="color: hsl(120, 100%, 40%);">+               osmo_tdef_set(msc_ran_infra[rat].tdefs, -4, paging_response_timer, OSMO_TDEF_S);</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%);">+   vty_out(vty, "%% paging response-timer is deprecated.%s"</span><br><span style="color: hsl(120, 100%, 40%);">+            "%% All ran timer has been modified.%s"</span><br><span style="color: hsl(120, 100%, 40%);">+             "%% use 'timer <geran|utran|sgs> X4 %s' instead%s",</span><br><span style="color: hsl(120, 100%, 40%);">+           VTY_NEWLINE, VTY_NEWLINE, argv[0], VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>@@ -773,9 +786,6 @@</span><br><span>                   vty_out(vty, " check-imei-rqd 1%s", VTY_NEWLINE);</span><br><span>  }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (gsmnet->paging_response_timer != MSC_PAGING_RESPONSE_TIMER_DEFAULT)</span><br><span style="color: hsl(0, 100%, 40%);">-              vty_out(vty, " paging response-timer %u%s", gsmnet->paging_response_timer, VTY_NEWLINE);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>        if (gsmnet->emergency.route_to_msisdn) {</span><br><span>          vty_out(vty, " emergency-call route-to-msisdn %s%s",</span><br><span>                       gsmnet->emergency.route_to_msisdn, VTY_NEWLINE);</span><br><span>diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c</span><br><span>index b288414..8fbe810 100644</span><br><span>--- a/src/libmsc/paging.c</span><br><span>+++ b/src/libmsc/paging.c</span><br><span>@@ -84,7 +84,7 @@</span><br><span> {</span><br><span>        int rc;</span><br><span>      struct paging_request *pr;</span><br><span style="color: hsl(0, 100%, 40%);">-      struct gsm_network *net = vsub->vlr->user_ctx;</span><br><span style="color: hsl(120, 100%, 40%);">+  int paging_response_timer;</span><br><span> </span><br><span>       pr = talloc(vsub, struct paging_request);</span><br><span>    OSMO_ASSERT(pr);</span><br><span>@@ -110,8 +110,9 @@</span><br><span>               /* reduced on the first paging callback */</span><br><span>           vlr_subscr_get(vsub, VSUB_USE_PAGING);</span><br><span>               vsub->cs.is_paging = true;</span><br><span style="color: hsl(120, 100%, 40%);">+         paging_response_timer = osmo_tdef_get(msc_ran_infra[vsub->cs.attached_via_ran].tdefs, -4, OSMO_TDEF_S, 10);</span><br><span>               osmo_timer_setup(&vsub->cs.paging_response_timer, paging_response_timer_cb, vsub);</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_timer_schedule(&vsub->cs.paging_response_timer, net->paging_response_timer, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+                osmo_timer_schedule(&vsub->cs.paging_response_timer, paging_response_timer, 0);</span><br><span>       }</span><br><span> </span><br><span>        llist_add_tail(&pr->entry, &vsub->cs.requests);</span><br><span>diff --git a/src/libmsc/ran_infra.c b/src/libmsc/ran_infra.c</span><br><span>index af40541..c0eaa1a 100644</span><br><span>--- a/src/libmsc/ran_infra.c</span><br><span>+++ b/src/libmsc/ran_infra.c</span><br><span>@@ -43,6 +43,7 @@</span><br><span>       { .T = -1, .default_val = 5, .desc = "RAN connection Complete Layer 3, Authentication and Ciphering timeout" }, \</span><br><span>  { .T = -2, .default_val = 30, .desc = "RAN connection release sanity timeout" }, \</span><br><span>         { .T = -3, .default_val = 10, .desc = "Timeout to find a target BSS after Handover Required" }, \</span><br><span style="color: hsl(120, 100%, 40%);">+   { .T = -4, .default_val = 10, .desc = "Paging response timeout" }, \</span><br><span> </span><br><span> struct osmo_tdef msc_tdefs_geran[] = {</span><br><span>         RAN_TDEFS</span><br><span>@@ -55,6 +56,7 @@</span><br><span> };</span><br><span> </span><br><span> struct osmo_tdef msc_tdefs_sgs[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+       { .T = -4, .default_val = 10, .desc = "Paging response timeout" },</span><br><span>         {}</span><br><span> };</span><br><span> </span><br><span>diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty</span><br><span>index 7337cd9..f956a12 100644</span><br><span>--- a/tests/test_nodes.vty</span><br><span>+++ b/tests/test_nodes.vty</span><br><span>@@ -58,7 +58,6 @@</span><br><span>   check-imei-rqd (0|1|early)</span><br><span>   cs7-instance-a <0-15></span><br><span>   cs7-instance-iu <0-15></span><br><span style="color: hsl(0, 100%, 40%);">-  paging response-timer (default|<1-65535>)</span><br><span>   emergency-call route-to-msisdn MSISDN</span><br><span>   sms-over-gsup</span><br><span>   no sms-over-gsup</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-msc/+/20280">change 20280</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-msc/+/20280"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ic050eb49ba0c5811b43d8d8b44145a1115fd8546 </div>
<div style="display:none"> Gerrit-Change-Number: 20280 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-CC: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>