Hello!
Please help me to understand how http_async_client module behaves. I am
going to use it for call routing according to the http response.
if (is_method("INVITE")) {
t_newtran();
xlog("L_ERR", "ASYNC0-$fU-$rU-$rm---- \n");
http_set_timeout(1000);
http_set_method("POST");
http_append_header("Content-Type: application/json");
http_async_query("http://10.10.10.10:8080/RPC",
"{\"jsonrpc\":
\"2.0\", \"method\": \"ul.lookup\", \"params\":
[\"location\",\"user\"],
\"id\": 1}", "HTTP_REPLY");
xlog("L_ERR", "ASYNC1-$fU-$rU-$rm---- \n");
}
route[HTTP_REPLY] {
xlog("L_ERR", "HTTP_REPLY: ok $http_ok \n");
xlog("L_ERR", "HTTP_REPLY: status $http_rs\n");
xlog("L_ERR", "HTTP_REPLY: body $http_rb\n");
xlog("L_ERR", "HTTP_REPLY: error $http_err)\n");
}
In syslog I see HTTP_REPLY log strings with correct response, but do not
see ASYNC1 string and script execution stops.
What's wrong with this?
# kamailio -v
version: kamailio 4.4.2 (x86_64/linux) 892ad6
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX,
FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 892ad6
compiled on 12:58:38 Aug 28 2017 with gcc 4.8.5
--
BR,
Denys Pozniak