[Freeswitch-users] Call particular function in Lua script from console?

Tom C mel0torme at gmail.com
Mon May 2 19:20:54 MSD 2011


That's exactly what I need.  Thank you!!!!



On Mon, May 2, 2011 at 8:03 AM, Grmt <garmt.noname at gmail.com> wrote:

>  Why not use command line arguments and parse them in your lua script with
> argv[x] (where x is 0,1,2 …)?
>
> e.g.
>
> lua call_report.lua yesterday
>
>
>
> -- call_report.lua
>
> print(“enter a number”)
>
> a = io.read(“*number”)
>
>
>
> if argv[1] == “yesterday” then
>
>                 print(“Sorry we were closed, it was Sunday\n”)
>
> else
>
>                 print(“calls today: \n” .. a * 12345)  -- we like to show
> our boss that is was really busy
>
> end
>
>
>
> I suggest you start reading here:
>
> http://www.lua.org/pil/1.html (lua getting started ...)
>
>
>
> Note: If you want users to interact with freeswitch I recommend doing that
> from outside fs and connect to fs with esl (and you could still use lua for
> that).
>
>
>
> Grmt
>
>
>
> *From:* freeswitch-users-bounces at lists.freeswitch.org [mailto:
> freeswitch-users-bounces at lists.freeswitch.org] *On Behalf Of *Tom C
> *Sent:* Monday, 02 May, 2011 16:10
> *To:* FreeSWITCH Users Help
> *Subject:* [Freeswitch-users] Call particular function in Lua script from
> console?
>
>
>
> Hi!  Is there any way to pass parameters to a Lua script, or to call a
> particular function within a lua script, when calling it with the "lua"
> command from the console?  (I can accomplish what I need using
> global_setvar, but that's an extra step for the user.)
>
>
>
> I'm looking for something more like this:
>
>
>
>     freeswitch at internal> lua MyFunction("myContents") in
> MyLuaScriptFile.lua
>
>
>
> Alternatively, is there a way to get input from the console, or otherwise
> interact with the user?  Such as:
>
>   stream:write("Enter user name:")
>
>   cUserName = stream:readln()     --  :-)
>
>
>
>
>
> For anyone who is curious, the global_setvar method of passing info to a
> script can be done like this...
>
>
>
> In the console, set the global variable(s), then call the script:
>
>
>
>    freeswitch at internal> global_setvar myparameter=My Contents
>
>    freeswitch at internal> lua MyLuaScriptFile.lua
>
>
>
> (Note that there were no quotes around the string.)  And in the script:
>
>
>
>    fsapi = freeswitch.API();
>
>    myParameter = fsapi:execute("global_getvar", "myparameter")
>
>    if string.len(myParameter) == 0 then
>
>        -- Global variable does not exist or is empty!
>
>        stream:write('ERROR: Please use "global_setvar myparameter=My
> Contents'"to specify user.\n')
>
>        return false
>
>    else
>
>        -- We retrieved contents of global.
>
>        -- Might want to clean out the global to avoid later confusion.
>
>        fsapi.:execute("global_setvar", "myparameter=")
>
>    end
>
>
>
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110502/fd524716/attachment.html 


More information about the FreeSWITCH-users mailing list