[SR-Users] Http_async_client stops script execution

Denys Pozniak denys.pozniak at gmail.com
Thu Sep 27 16:40:00 CEST 2018


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 at 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 at 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 at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>


-- 

BR,
Denys Pozniak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180927/afbbb1d3/attachment.html>


More information about the sr-users mailing list