<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">That perl script will not run at all until the dialplan parsing is complete. &nbsp;You would need to run the perl script inline (which I am not sure we allow) or run the perl script, then transfer to re-enter the dialplan after it is run.<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 10, 2014, at 12:56 PM, Liam Farr &lt;<a href="mailto:liam@maxumdata.com" class="">liam@maxumdata.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class=""><p class="">Heres an expanded example;</p><p class=""><br class=""></p><p class=""><br class=""></p><p class="">Extension runs the perl script as part of the public dialplan first;</p><p class=""><br class=""></p><p class="">&lt;extension name="run-script" continue="true"&gt;</p><p class="">&nbsp; &nbsp;&lt;condition&gt;</p><p class=""><span class="" style="white-space:pre">        </span> &nbsp;&lt;action application="perl" data="/etc/freeswitch/scripts/<a href="http://my-script.pl/" class="">my-script.pl</a>"/&gt;</p><p class="">&nbsp; &nbsp;&lt;/condition&gt;</p><p class="">&lt;/extension&gt;</p><p class=""><br class=""></p><p class=""><br class=""></p><p class="">Script sets some variables;</p><p class=""><br class=""></p><p class="">$my_value = "123";</p><p class="">$session-&gt;setVariable('some_var',$my_value);</p><p class=""><br class=""></p><p class=""><br class=""></p><p class="">Use that variable later in another extension in the public dialplan as a condition selector;</p><p class=""><br class=""></p><p class=""><br class=""></p><p class="">&lt;extension name="bridge-call" &gt;</p><p class="">&nbsp; &nbsp;&lt;condition field="context" expression="public" /&gt;</p><p class="">&nbsp; &nbsp;&lt;condition field="${some_var}" expression="123" &gt;</p><p class=""><span class="" style="white-space:pre">        </span> &nbsp; &lt;action application="set" data="call_direction=inbound"/&gt;</p><p class=""><span class="" style="white-space:pre">        </span> &nbsp; &lt;action application="bridge" data="sofia/internal/${<a href="http://destination_number}@1.2.3.4:5060" class="">destination_number}@1.2.3.4:5060</a>" /&gt;</p><p class="">&nbsp; &nbsp;&lt;/condition&gt;</p><p class="">&lt;/extension&gt;</p><p class=""><br class=""></p><p class=""><br class=""></p><p class="">However this will fail, because the perl script "$session-&gt;setVariable" run earlier is not inline, so you cant make use of it in the condition (&lt;condition field="${some_var}" expression="123" &gt;) in the second extension that exists in a later part of the public dialplan. Hence I need a way to set inline variables from my perl script.</p><p class=""><br class=""></p><p class=""><br class=""></p><p class="">Cheers</p><p class=""><br class=""></p><p class="">Liam Farr</p><p class=""><br class=""></p></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 11 December 2014 at 06:28, Michael Jerris <span dir="ltr" class="">&lt;<a href="mailto:mike@jerris.com" target="_blank" class="">mike@jerris.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If you are in a perl script using session-&gt;setVariable, how are you still in the dialplan?&nbsp; This doesn't make sense to me.&nbsp; There should be no need for an inline if you are already in the script.<br class="">
<div class=""><div class="h5"><br class="">
&gt; On Dec 10, 2014, at 4:20 AM, Liam Farr &lt;<a href="mailto:liam@maxumdata.com" class="">liam@maxumdata.com</a>&gt; wrote:<br class="">
&gt;<br class="">
&gt; Hi,<br class="">
&gt;<br class="">
&gt; I need to set a variable using a perl script inline.<br class="">
&gt;<br class="">
&gt; Normally I would use $session-&gt;setVariable('some_var',$my_value);<br class="">
&gt;<br class="">
&gt; However I cant find any options to execute this inline / as an inline action. (I need to evaluate the variable later in the hunting phase of the dialplan hence need it to be an inline action).<br class="">
&gt;<br class="">
&gt; Is there a way to do this?<br class="">
&gt;<br class="">
&gt; Or is there another way to achieve the same result, e.g. hacking $session-&gt;execute("set","some_var=$my_value") to run as an inline action?<br class="">
&gt;<br class="">
&gt; Any help would be much appreciated, I've scoured the wiki, confluence and git repo and come up empty.<br class="">
&gt;<br class="">
&gt; --<br class="">
&gt; Kind Regards<br class="">
&gt;<br class="">
&gt;<br class="">
&gt; Liam Farr<br class="">
<br class=""></div></div></blockquote></div></div></div></div></blockquote></div><br class=""></div></body></html>