Hello!
Version 5.1.3 works well in non-transactional mode ( $http_req(suspend) = 0; )

[root@10-10-10-10 ~]# kamailio -v
version: kamailio 5.1.3 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, 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: unknown
compiled on 14:15:42 Aug 10 2018 with gcc 4.8.5



пт, 28 сент. 2018 г. в 12:32, Federico Cabiddu <federico.cabiddu@gmail.com>:
Hi,
as far as I can see that part has not substantially changed.
Can you try with latest stable release in 5.1?

Best regards,

Federico 

On Thu, Sep 27, 2018 at 5:03 PM Denys Pozniak <denys.pozniak@gmail.com> wrote:
This example does not work. I do not see log message.

Example 1.13. http_async_suspend() usage

...
t_newtran();
http_async_suspend(0);
# the transaction won't be suspended for the next query
http_async_query("http://example.com/test.php", "HTTP_REPLY");
xlog("L_INFO", "query sent\n");
t_reply("200", "Ok");

...



2018-09-27 17:54 GMT+03:00 Federico Cabiddu <federico.cabiddu@gmail.com>:
What do you mean with "does not work well "?
I don't remember any change in that part but anyway you should switch to 5.0 or 5.1 releases, since those are the maintained ones.

Best regards,

Federico

On Thu, Sep 27, 2018 at 4:50 PM Denys Pozniak <denys.pozniak@gmail.com> wrote:

2018-09-27 17:40 GMT+03:00 Denys Pozniak <denys.pozniak@gmail.com>:
So my config is ok and I need to add all next logic with call routing to route[HTTP_REPLY] ,correct ?



2018-09-27 16:42 GMT+03:00 Federico Cabiddu <federico.cabiddu@gmail.com>:
Hi,
if you are in a transactional contest (as you are since you are calling t_newtran()), the script execution is suspended, upon calling http_async_query and resumed in the callback route passed as parameter.
The instructions after the call to http_async_query are never executed. If you are not in a transactional contest or you explicitly instruct to not suspend the transaction ($http(suspend) = 0, http://www.kamailio.org/docs/modules/devel/modules/http_async_client.html#idm1053320700) they will be executed, and the callback route will be run when the http reply comes. If you want to use http uqeries to retrieve parameters you want to use for your routing logic, you need to suspend the transaction and resume it in the callback.
Hope this clarify.

Best regards,

Federico

On Thu, Sep 27, 2018 at 3:36 PM Denys Pozniak <denys.pozniak@gmail.com> wrote:
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


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--

BR,
Denys Pozniak





--

BR,
Denys Pozniak


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--

BR,
Denys Pozniak


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


--

BR,
Denys Pozniak