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]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to