Hi,
I have difficult to check the state of an originated session in lua script.

I want to know when the originated session is ringing back or progressing or answered.

I have tried with session:getState() but returns always CS_SOFT_EXECUTE.

My lua test script is called from dialplan with a:

        <action application="lua" data="test1.lua"/>


And the "test1.lua" script is:

    session2 = freeswitch.Session("sofia/external/xxxxxx@a.b.c.d");

    while (session:ready() and session2:ready()) do
          state2 = session2:getVariable("channel_call_state");
          freeswitch.consoleLog("warning", "State2 = " .. state2 .. "\n");
          session:execute("sleep", "500");
    end

    if (session:ready()) then
          session:hangup();
    end

    if (session2:ready()) then
          session2:hangup();
    end

This script fails because the session:getVariable("channel_call_state") returns nil.

What is the correct way to know the state of a call?

Stephen