function init(queue) -- ast_verbose("**** QUEUE " .. queue.name) end function cleanup() -- ast_verbose("**** Cleanup ") end function enter_queue(entry,vars) -- ast_verbose("**** Enter queue") for key,value in pairs(vars) do _, _, skill_id = string.find(key, "^_*MDC_SKILL%-(%d+)$") if skill_id ~= nil then -- ast_verbose("Found skill " .. skill_id) ast_queue_log(entry.queuename,entry.uniqueid,"NONE","INFO","REQSKILL" .. "|" .. key .. "|".. value) end end end function calc_metric(member,entry,vars) -- lookup the skills table for this agent skillset = agent_skills[member.membername] score=0 -- traverse required skills for key,value in pairs(vars) do _, _, skill_id = string.find(key, "^_*MDC_SKILL%-(%d+)$") if skill_id ~= nil then requiredlevel = tonumber(value) -- we can skip skills with a level of zero if requiredlevel > 0 then if skillset == nil then -- we require a skill but the agent does not have ANY skills, -- so skip this agent -- ast_verbose("Agent " .. member.membername .." has no skills") return -1 end -- lookup required skill level = tonumber(skillset[key]) if level == nil then -- Agent does not have the required skill -- so skip this agent -- ast_verbose("Agent " .. member.membername .." misses skill " .. key) return -1 end if level