From the official kamailio documentation of the function `http_async_query(url, route_name)`
``` Sends HTTP(S) request asynchronously to the URL given in “url” parameter, which is a string that may contain pseudo variables.
Parameter “route_name” defines the route to be executed upon reception of HTTP reply, on error or on timeout. If a transaction exists before calling http_async_query(), it will be paused and resumed in this route, while the routing script execution will be stopped. If executed in a transactionless context, or if $http_req(suspend) is used not to suspend the transaction, the routing script execution will continue and the query result will be available in “route_name”. ```
Because the routing script execution `will be stopped` it's quite difficult for some advanced usages to restore the previous variables and logic and to continue with the execution.
The problem of resuming the work is delegated to the user and not Kamailio itself. I think Kamailio should freeze the execution and store all needed data in memory to resume execution after the http response like for a normal http sync query.
So the `stopping` will become `pausing/resuming`.