You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.5 KiB
66 lines
1.5 KiB
#!/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)
|