Hi Tito,
Make sure to read all "rest_client" module parameters. In your case, the
async() timeout would be accomplished with the "curl_timeout" parameter [1]
If that were to happen, "rest_get()" would return a negative value, and
you could catch it just like in the examples. [2]
[1]:
http://www.opensips.org/html/docs/modules/2.2.x/rest_client.html#id249608
[2]:
http://www.opensips.org/html/docs/modules/2.2.x/rest_client.html#id293823
Best regards,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 18.06.2015 00:47, Tito Cumpen wrote:
Liviu,
Thanks for your reply. To preface my forthcoming I'd like to state at
the current moment the reply to this query is pretty quick. If the
request was to take X amount time the script would continue even
though a condition is based on it advancing? The reason I ask is
because I notice the async method was added with the intention of
pausing the script until the reply is received. What is the timeout
that would make opensips continue on with the script?
Thanks,
Tito
On Wed, Jun 17, 2015 at 3:36 AM, Liviu Chircu <[email protected]
<mailto:[email protected]>> wrote:
Hi Tito,
A very interesting question. After a bit of research, I can tell
you that $json and $var will behave quite similarly in terms of
performance when using the simple "=" (assign) operator. A
difference between them worth pointing out is that $var uses
only-pkg memory, while $json uses both pkg and system memory
(since it is based on the "json-c" library) - so the more $json's
you fill up, the more "opensipsctl fifo get_statistics pkmem:"
will be incorrect.
If you really want to optimize something about that _specific_ code:
$json(authbody) :=$json(authresponse);
if ($json(authbody/message/AcceptCall) == "false") {
...
}
Best regards,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 17.06.2015 02:18, Tito Cumpen wrote:
Group,
Is there a downside to casting responses from a rest response
into a json object rather than a generic $var? Here is my
function it works but I want to be aware if this will cost a
considerable amount of resources.
if
(!rest_get("http://myauthurl.com/authme/$fU/$rU
<http://myauthurl.com/authme/$fU/$rU>", "$json(authresponse)",
"$var(ct)", "$var(rcode)")) {
xlog("Error code $var(rcode) in HTTP GET!\n");
xlog("on account of admittance error we are sending the call to
the AS server for processing");
route(4);
}
xlog("got this body response from authority on
invite $json(authresponse) with response code $var(rcode)");
xlog("response now casting to json $json(authresponse) ");
$json(authbody) :="{}";
$json(authbody) :=$json(authresponse);
xlog(" accessing the message $json(authbody/message)");
$json(accept) :=$json(authbody/message);
xlog(" casted message $json(accept)");
if($json(accept/AcceptCall) == "false"){
xlog("response equal false");
route(3);
}else{
Notice how the response is casted from $json(authresponse) to
$json(authbody) after it is initialized. I came to realize that
I had to initialize a variable because I couldn't access keys in
$json(authresponse).
Thanks,
Tito
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users