Use the eval API:<div><br></div><div>api = freeswitch.API()</div><div>my_uuid = session:getVariable(&#39;uuid&#39;)</div><div>...</div><div><br></div><div>state2 = api:executeString(&#39;eval uuid:&#39; .. my_uuid .. &#39; ${Channel-Call-State}&#39;)</div>
<div>...</div><div><br></div><div><br></div><div>The &#39;eval&#39; API is useful for getting those &quot;magic&quot; variables that show up when you do the info app or uuid_dump xxx.</div><div><br></div><div>-MC</div><div>
<div><br><div class="gmail_quote">On Wed, Jan 26, 2011 at 7:31 AM, Stephen Wilde <span dir="ltr">&lt;<a href="mailto:wstephen80@gmail.com">wstephen80@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;">
Hi,<div>I have difficult to check the state of an originated session in lua script.</div><div><br></div><div>I want to know when the originated session is ringing back or progressing or answered.</div><div><br></div><div>
I have tried with session:getState() but returns always CS_SOFT_EXECUTE.</div>
<div><br></div><div>My lua test script is called from dialplan with a:</div><div><br></div><div>        &lt;action application=&quot;lua&quot; data=&quot;test1.lua&quot;/&gt;</div><div><br></div><div><br></div><div>And the &quot;test1.lua&quot; script is:</div>

<div><br></div><div><div>    session2 = freeswitch.Session(&quot;sofia/external/xxxxxx@a.b.c.d&quot;);</div><div><br></div><div>    while (session:ready() and session2:ready()) do</div><div>          state2 = session2:getVariable(&quot;channel_call_state&quot;);</div>

<div>          freeswitch.consoleLog(&quot;warning&quot;, &quot;State2 = &quot; .. state2 .. &quot;\n&quot;);</div><div>          session:execute(&quot;sleep&quot;, &quot;500&quot;);</div><div>    end</div><div><br></div>

<div>    if (session:ready()) then</div><div>          session:hangup();</div><div>    end</div><div><br></div><div>    if (session2:ready()) then</div><div>          session2:hangup();</div><div>    end</div><div><br></div>

</div><div>This script fails because the session:getVariable(&quot;channel_call_state&quot;) returns nil.</div><div><br></div><div>What is the correct way to know the state of a call?</div><div><br></div><font color="#888888"><div>
Stephen</div>
</font><br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div></div>