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.
lua-ngcp-kamailio/scripts/ngcp-dlgcnt-clean

77 lines
1.8 KiB

#!/usr/bin/env lua5.1
--local ut = require 'ngcp.utils'.table
local NGCPDlg = require 'ngcp.dlgcnt'
local config = "/etc/kamailio/proxy/dlgcnt.lua.cfg"
local argparse = require "argparse"
local parser = argparse() {
name = "ngcp-dlgcnt-clean",
description = "helper to remove kamailio dialogs from redis db"
}
parser:argument("callid", "Call-Id to remove")
parser:flag("-c --config-db", "redis db defined at config")
parser:flag("-C --config-host", "redis server defined at config")
-- 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 = NGCPDlg:new()
if args.config_db then
print(tostring(dlg_config.pair.db))
os.exit(0)
elseif args.config_host then
print(tostring(dlg_config.pair.host))
os.exit(0)
end
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:del(args.callid)