<div style="font-family:Calibri, Arial, Helvetica, sans-serif; font-size:12.0pt; line-height:1.3; color:#1F497D"><!-- ##### NINE BODY BEGIN ##### --><style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Consolas; panose-1:2 11 6 9 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:11.0pt; font-family:"Calibri",sans-serif; color:black; mso-fareast-language:EN-US;} a:link, span.MsoHyperlink {mso-style-priority:99; color:#0563C1; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:#954F72; text-decoration:underline;} pre {mso-style-priority:99; mso-style-link:"HTML Preformatted Char"; margin:0cm; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Courier New"; color:black;} tt {mso-style-priority:99; font-family:"Courier New";} p.msonormal0, li.msonormal0, div.msonormal0 {mso-style-name:msonormal; mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; font-size:12.0pt; font-family:"Times New Roman",serif; color:black;} span.HTMLPreformattedChar {mso-style-name:"HTML Preformatted Char"; mso-style-priority:99; mso-style-link:"HTML Preformatted"; font-family:Consolas; color:black;} span.EmailStyle21 {mso-style-type:personal; font-family:"Calibri",sans-serif; color:windowtext;} span.EmailStyle22 {mso-style-type:personal-reply; font-family:"Calibri",sans-serif; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:2.0cm 42.5pt 2.0cm 3.0cm;} div.WordSection1 {page:WordSection1;} --></style><div>Hi Bogdan-Andrei,<br></div><div>I've tested the timer_route, it works well. But ,as it turned out, my issue is broader. <br>===<br>So, if I use the timer_route, it runs some logic at specific time. I'm imagine, that users will be more then 100, so 100+ requests at one time will send keepalive to iOS server...<br>Thereby, I'll try to rephrase my question:<br><span lang="EN-US">How can I run an external script _periodically_ for keep alive _<i>useragent</i>_ record in location table, and do not do it simultaneously. I guess, I need to bind the logic to expires time of the acc. </span>I can try to get it time from the location table, but maybe exists some graceful way for it?<br>BR,<br>Dmitry<br></div><div id="signature-x" style="-webkit-user-select:none; font-family:Calibri, Arial, Helvetica, sans-serif; font-size:12.0pt; color:#1F497D" class = "signature_editor"><br></div><!-- ##### NINE BODY END ##### --></div><div class="quoted_output_body"><div id="quoted_header" class="quoted_header_editor" style="clear:both;"><hr style="border:none; height:1px; color:#E1E1E1; background-color:#E1E1E1;"><div style="border:none; padding:3.0pt 0cm 0cm 0cm"><span style="font-size:11.0pt;font-family:Calibri, Arial, Helvetica, sans-serif"><b>From:</b> Dmitry<br><b>Sent:</b> Nov 23, 2017 5:56 PM<br><b>To:</b> 'Bogdan-Andrei Iancu'; 'OpenSIPS users mailling list'<br><b>Subject:</b> RE: [OpenSIPS-Users] Question about run exec from route script periodically.<br></span></div></div><br type='attribution'><div id="quoted_body" class="quoted_body_editor"><div lang="RU"><div><p class="MsoNormal"><span lang="EN-US" style="color:#1f497d">Hello Bogdan-Andrei,</span><br></p><p class="MsoNormal"><span lang="EN-US" style="color:#1f497d">Thank you for reply. It seems like that’s what I need.</span><br></p><p class="MsoNormal"><span lang="EN-US" style="color:#1f497d">BR,</span><br></p><p class="MsoNormal"><span lang="EN-US" style="color:#1f497d">Dmitry</span><br></p><p class="MsoNormal"><span lang="EN-US" style="color:#1f497d"> </span><br></p><div><div style="border:none;border-top:solid #e1e1e1 1pt;padding:3pt 0cm 0cm 0cm"><p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Bogdan-Andrei Iancu [mailto:bogdan@opensips.org]<br><b>Sent:</b> Thursday, November 23, 2017 5:11 PM<br><b>To:</b> OpenSIPS users mailling list <users@lists.opensips.org>; Dmitry <netaskd@gmail.com><br><b>Subject:</b> Re: [OpenSIPS-Users] Question about run exec from route script periodically.</span><br></p></div></div><p class="MsoNormal"> <br></p><p class="MsoNormal"><tt><span style="font-size:10pt">Hello Dmitry,</span></tt><span style="font-size:10pt;font-family:'courier new'"><br><br><tt>Maybe the timer_route[] will help with this ?</tt><br><tt>    <a href="http://www.opensips.org/Documentation/Script-Routes-2-3#toc8">http://www.opensips.org/Documentation/Script-Routes-2-3#toc8</a></tt><br><br><tt>Regards,</tt><br><br></span><span style="font-size:12pt"></span><br></p><pre>Bogdan-Andrei Iancu<br></pre><pre>  OpenSIPS Founder and Developer<br></pre><pre>  <a href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><br></pre><div><p class="MsoNormal">On 11/23/2017 01:10 PM, Dmitry wrote:<br></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><p class="MsoNormal"><span lang="EN-US">Hello All,</span><br></p><p class="MsoNormal"><span lang="EN-US">I don’t found the info in google, so I’ll try to ask here.</span><br></p><p class="MsoNormal"><span lang="EN-US">Data:</span><br></p><p class="MsoNormal"><span lang="EN-US">I have some custom SIP client for iIOS with logic wake up via push notification and most of the time it working in a background. The client send REGISTER in first time and go to the background. Now I have a special _<i>useragent</i>_ for next steps for detect it as my app. When a caller try to call to special client, opensips detect _useragent_ and run php script for send push notification (before send INVITE forth) to iOS server and will wait 2 sec in async mode. In this time, iOS client (callee) receive push, “wake up” and send REGISTER to opensips. So, registration completed, we run LOOKUP route with search updated “Contact” data for callee.</span><br></p><p class="MsoNormal"><span lang="EN-US">==opensips router snippet ==</span><br></p><p class="MsoNormal"><span lang="EN-US">async(exec("/etc/opensips/ios/wakeup.php '$var(ua)' '$var(key)'", "$var(out)", "$var(err)"), LOOKUP);</span><br></p><p class="MsoNormal"><span lang="EN-US">===</span><br></p><p class="MsoNormal"><span lang="EN-US">My question is:</span><br></p><p class="MsoNormal"><span lang="EN-US">How can I run an external script (via exec/etc app inside the routing script) _periodically_ for keep alive _<i>useragent</i>_ record in location table? Something like a cron inside opensips maybe. I’ll glad to any ideas.</span><br></p><p class="MsoNormal"><span lang="EN-US">PS. For keep alive “normal” users I use nathelper directives:</span><br></p><p class="MsoNormal"><span lang="EN-US">sipping_bflag</span><br></p><p class="MsoNormal"><span lang="EN-US">remove_on_timeout_bflag</span><br></p><p class="MsoNormal"><span lang="EN-US">natping_interval</span><br></p><p class="MsoNormal"><span lang="EN-US">ping_threshold</span><br></p><p class="MsoNormal"><span lang="EN-US">max_pings_lost</span><br></p><p class="MsoNormal"><span lang="EN-US"> </span><br></p><p class="MsoNormal"><span lang="EN-US">BR,</span><br></p><p class="MsoNormal"><span lang="EN-US">Dmitry</span><br></p><p class="MsoNormal"><span style="font-size:12pt;font-family:'times new roman' , serif"><br><br><br></span></p><pre>_______________________________________________<br></pre><pre>Users mailing list<br></pre><pre><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br></pre><pre><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br></pre></blockquote><p class="MsoNormal"><span style="font-size:12pt;font-family:'times new roman' , serif"> </span><br></p></div></div></div></div>