i did that the opposite way.
I trigger an mysql-procedure evers 300 seconds and i fill in and reload my dialplan.
Maybe an idea for you.
(and jsonsrpc etc).
modparam("rtimer", "timer", "name=refreshdialplan;interval=300;mode=1;")
modparam("rtimer", "exec", "timer=refreshdialplan;route=REFRESHDIALPLAN")
modparam("sqlops", "sqlcon", "cb=>mysql://someuser:somedbpass@somehost/kamailio")
#!ifdef WITH_REFRESHDIALPLAN
route[REFRESHDIALPLAN] {
sql_query("cb","call refresh_dialplan()","rb");
jsonrpc_exec('{"jsonrpc": "2.0","method": "dialplan.reload"}');
jansson_get("result", $jsonrpl(body), "$var(dialplanresult)");
xlog("L_INFO", "call refresh_dialplan() mysql procedure, jsonrpc dialplan.reload result $var(dialplanresult)\n");
}
#!endif