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