#!/usr/bin/env lua5.1 --local ut = require 'ngcp.utils'.table local NGCPDlgList = require 'ngcp.dlglist' local config = "/etc/kamailio/proxy/dlgcnt.lua.cfg" local argparse = require "argparse" local parser = argparse() { name = "ngcp-dlglist-clean", description = "helper to remove kamailio queue dialogs from redis db" } parser:argument("callid", "Call-Id to remove") -- luacheck: globals dlg_config KSR = {} KSR.log = function (level, str) print(string.format("[%s] %s", level, str)) end function KSR.dbg(message) KSR.log("debug", message) end function KSR.err(message) KSR.log("error", message) end function KSR.info(message) KSR.log("info", message) end function KSR.notice(message) KSR.log("info", message) end function KSR.warn(message) KSR.log("warn", message) end function KSR.crit(message) KSR.log("fatal", message) end local function get_config() if os.getenv('DLG_CONFIG') then config = os.getenv('DLG_CONFIG') end local ok,e = pcall(dofile,config) if not ok then io.stderr:write(e..'\n') io.stderr:write("using defaults\n") end end local args = parser:parse() get_config() local dlg = NGCPDlgList:new() if dlg_config then dlg.config.central.host = dlg_config.central.host dlg.config.central.port = dlg_config.central.port dlg.config.central.db = dlg_config.central.db dlg.config.pair.host = dlg_config.pair.host dlg.config.pair.port = dlg_config.pair.port dlg.config.pair.db = dlg_config.pair.db --print(string.format("dlg.config:%s", ut.tostring(dlg.config))) end dlg:destroy(args.callid)