Hi, did you create the transaction before calling http_async_query? If not, the function switch to non-transactional context, the script execution is not stopped (you should notice it in your logs if the log line after the function call is printed) and the callback function creates a fake message to be processed in the callback route. You should call t_newtran() before calling http_async_query.
Cheers,
Federico
On Thu, Sep 15, 2016 at 5:44 PM, Jonathan Hunter hunterj91@hotmail.com wrote:
Hi Guys,
I am just testing with jansson and http_async_query.
Essentially I sent an INVITE into kamailio ,it hits CALL_START_REQUEST (see below) and the query allows the http site I send to, to provide routing details for kamailio.
Logging the $rm that hits CALL_START_ REQUEST, it shows as INVITE, however when CALL_START_REQUEST_REPLY is hit, the message type is OPTIONS, is this expected behaviour?
Essentially I want it to continue in the script with the same $ci,$rm so I can onwards route it for termination, but all I get are options messages being sent, any hints please?
As Ideally I want the transaction to continue to a route where I can forward on modified request for termination.
Thanks
Jon
Routes;
# Send to FreeSWITCH route[CALL_START_REQUEST]{ xlog("L_INFO","route[CALL_START_REQUEST] Call received $ci,$rm,$ru,$du\n");
###Build JSON request to send to MAP $var(params) = $null; jansson_set("string", "username", "xxx", "$var(params)"); jansson_set("string", "password", "xxx", "$var(params)"); jansson_set("string", "source", "$fU", "$var(params)"); jansson_set("string", "route", "$var(carriername)", "$var(params)"); jansson_set("string", "destination", "$rU", "$var(params)"); /// other fields set here http_set_timeout(5000); http_set_method("POST"); http_append_header("Content-Type: application/json"); http_async_query("http://test.com", "$var(params)", "CALL_START_REQUEST_REPLY"); xlog("L_INFO", "Checking here we have status=$var(status)\n"); xlog("L_INFO", "Current Destination is $du\n"); #return; #exit; } ######################### route[CALL_START_REQUEST_REPLY]{ xlog("L_INFO", "route[CALL_START_REQUEST_REPLY]: $ci,$rm,$ru,$du\n");
Logs show;
route[CALL_START_REQUEST] Call received b087fa53-f5fc-1234-94ac- f68eb8da94f7,INVITE,sip:441624891676@8.8.8.8:5060;user=phone,<null>
route[CALL_START_REQUEST_REPLY]: 123,OPTIONS,sip:G711A- 282951200@kamailio.org,sip:G711A-282951200@8.8.8.8:5080
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users