<div dir="ltr">Hi Husnain,<div><br><div>Simple <i>return</i> should work fine in your scenario but if everything fails you can do some additional condition check in while() loop to break it ! for example:</div><div><br></div><div>$avp(flag) = 0;</div><div><br></div><div>while( <span style="font-family:monospace,monospace;font-size:12.8px">($var(i) &lt; 10) &amp;&amp; $avp(flag) != 1) {</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">     if(condition){</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">          $avp(flag) = 1;</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">     }</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px">}</span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><font face="arial, helvetica, sans-serif">I checked some of my other scripts and return was doing its job just fine.  Make sure you only execute &#39;return&#39; only and not &#39;return(1)&#39;; </font></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><font face="arial, helvetica, sans-serif">Regards,</font></span></div><div><span style="font-size:12.8px"><font face="arial, helvetica, sans-serif">Sammy</font></span></div><div><span style="font-family:monospace,monospace;font-size:12.8px"><br></span></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 14, 2016 at 8:05 AM, Husnain Taseer <span dir="ltr">&lt;<a href="mailto:husnain.taseer@gmail.com" target="_blank">husnain.taseer@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear Users,<div>I am trying to break the while loop in opensips.cfg when a particular condition meet. For that I am using &#39;break&#39; statement inside a while loop. But when I type break it gives me sytax error :<br><br><div>Jun 14 06:56:00 s81519 opensips: CRITICAL:core:yyerror: parse error in config file /usr/local/etc/opensips/opensips.cfg, line 697, column 5-10: syntax error</div><div>Jun 14 06:56:00 s81519 opensips: CRITICAL:core:yyerror: parse error in config file /usr/local/etc/opensips/opensips.cfg, line 697, column 5-10: bad command!)</div><div>Jun 14 06:56:00 s81519 opensips: CRITICAL:core:yyerror: parse error in config file /usr/local/etc/opensips/opensips.cfg, line 697, column 5-10: bad command!)</div><div>Jun 14 06:56:00 s81519 opensips: ERROR:core:main: bad config file (3 errors)</div><div>Jun 14 06:56:00 s81519 opensips: NOTICE:core:main: Exiting....</div></div><div><br></div><div>If I will use return instead of break it will return from the current route which is also not my requirement. Below is the code snippet.</div><div><br>                           <font face="monospace, monospace"> $var(i) = 0</font>;<br><div><font face="monospace, monospace">                while($var(i) &lt; 10) {</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                        </span>usleep(&quot;20000&quot;);</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                        </span>cache_raw_query(&quot;redis:group2&quot;,&quot;HGETALL $avp(dialed)&quot;,&quot;$avp(result)&quot;);</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                        </span>if ($avp(result) != NULL) {</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                                </span>$avp(CALLER) = $(avp(result)[1]);</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                                </span>$avp(LRN) = $(avp(result)[3]);</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                                </span>xlog(&quot;L_NOTICE&quot;,&quot;[$Ts:$avp(cid)]: LRN Returned &#39;$avp(LRN)&#39;&quot;);</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                                break</span>; #Line number 697</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                        </span>}</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                        </span>$var(i) = $var(i) + 1;</font></div><div><font face="monospace, monospace"><span style="white-space:pre-wrap">                </span>}</font></div></div><div><font face="monospace, monospace"><br></font></div><div>Please guide.</div><div><br></div><div>Regards,</div><div>Husnain Taseer</div><div>VoIP Developer</div></div>
<br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
<br></blockquote></div><br></div>