[Freeswitch-users] How to check call state in lua script?

Stephen Wilde wstephen80 at gmail.com
Wed Jan 26 18:31:39 MSK 2011


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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110126/d4da1640/attachment.html 


More information about the FreeSWITCH-users mailing list