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@lists.freeswitch.org [mailto:freeswitch-users-bounces@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@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@internal> global_setvar myparameter=My Contents freeswitch@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