-- General modules
require("Core")
 
-- Third-party libraries
-- http://dkolf.de/src/dkjson-lua.fsl/home
local json = require("dkjson")
 
-- Interval in seconds of exclusive access to group
-- This parameter should be defined before require("Generic")
interval = 15
 
-- Network modules
require("Generic")
 
function handleEvent(domain, object, message)
  --[[
 
    *** This function called when core produces some events
    Note: it is strongly recommended to not use this function for purposes that differ from call routing in real-time
 
    Parameters:
      domain - domain of event, see EVENT_DOMAIN_*
      object - reference to sender object
      message - JSON encoded message
 
  ]]--
 
  if domain == EVENT_DOMAIN_SESSION
  then
    local data = json.decode(message)
    if  (data["Event"] == "Session-Update") or
        (data["Event"] == "Session-Start") or
        (data["Event"] == "Session-Stop")
    then
      local flavor = tonumber(data["SessionType"])
      if (bit.band(flavor, SESSION_TYPE_FLAG_VOICE) ~= 0) and
         (bit.band(flavor, SESSION_TYPE_FLAG_GROUP) ~= 0)
      then
        setHandOffLock(data, object, 600, 15)
      end
    end
  end
 
end