Hi folks,

I am using  kamailio -v
version: kamailio 5.0.2 (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 10:02:27 Jul  4 2017 with gcc 4.9.2

 

I was trying to send http POST request to my web server example.com following example Example 1.12. http_async_query() usage
according to that we should send parameters in body like
# POST
$http_req(body) = "{'r_uri':'" + $rU + "', 'f_uri':'" + $fU + "'}";
http_async_query("http://example.com/test.php", "HTTP_REPLY");
But its not working out of the box as described with error message from server:

INFO: <script>: route[HTTP_REPLY]: status 400
INFO: <script>: route[HTTP_REPLY]: body Insufficient parameters.


I even tried adding additional parameters
  $http_req(hdr) = "Content-Type: application/x-www-form-urlencoded";    
  $http_req(method) = "POST";


But again it didn't work.

I tried the alternative way which worked fine.
# POST
$http_req(body) = "r_uri=$rU&f_uri=$fU";
http_async_query("http://example.com/test.php", "HTTP_REPLY"); 
Is there any issue with documentation or i am missing something for POST request?

--
regards,

abdul basit | p: +92 32 1416 4196 | o: +92 30 0841 1445