<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>Hi Brett,<br>
<br>
So, some initial data:<br>
<br>
The $json variables are (as scope) the same as $var - which means
they have visibility only per process (as names they do exist in
all procs, but they have different instances / values in each
proc), but inside the process they are global - visible to all
messages, from all routes which are executed in that particular
process (!so take care that to reset the json before usage as you
may inherit some value from a previous execution in the same
proc).<br>
<br>
Now, about your cases:<br>
<br>
1) using a $json in extra_db - it is visibility issue - you set
the json var for INVITE (in a process) and you try to read it for
the BYE (in a different proc). Actually the error you get says
that you try to read a $json which was never set.<br>
<br>
2) using it from failure / onreply routes - same as above.<br>
<br>
<br>
Which leaves us with 2 real bugs:<br>
<br>
1) when merging 2 jsons - the bogus len - we will look into it<br>
<br>
2) the errors on missing values or tags - I will change them to
DBG and to actually return NULL value to script.<br>
<br>
Thanks and regards,<br>
</tt>
<pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
<br>
On 01/16/2013 05:50 PM, Brett Nemeroff wrote:
<blockquote
cite="mid:CAPwC5wz9L-STaNupUC01yNu7HNVZT44tcMqDqBMWpjaJBjB3Sg@mail.gmail.com"
type="cite">Bogdan,
<div>I'm actually getting all sorts of weird errors with the JSON
module..</div>
<div>Using it in place, for simple things it works great.</div>
<div><br>
</div>
<div>If I concatonate json variables and place them into an avp, I
get junk at the end</div>
<div><br>
</div>
<div>$avp(result) = $json(somevar/string1) +
$json(somevar/string2);</div>
<div><br>
</div>
<div>$avp(result) will be something like
"String1dataString2dataM\002"</div>
<div><br>
</div>
<div>The M\002 is random.. Almost like a variable that isn't
initialized. </div>
<div><br>
</div>
<div>Also. $json variables don't survive to onreply routes or
failure routes. And they can't be used in db_extra. There also
isn't a real good way to reliably check for the existence of a
json element without throwing an error in the log</div>
<div><br>
</div>
<div>Thanks for looking at this. If there is anything I can do to
help, let me know.</div>
<div>-Brett</div>
<div><br>
</div>
<div><br>
<div class="gmail_quote">On Wed, Jan 16, 2013 at 6:58 AM,
Bogdan-Andrei Iancu <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:bogdan@opensips.org"
target="_blank">bogdan@opensips.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#ffffff" text="#000000"> <tt>Hi Brett,<br>
<br>
Never tried something like that, but let me run some
tests....<br>
<br>
Regards,<br>
</tt>
<pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a moz-do-not-send="true" href="http://www.opensips-solutions.com" target="_blank">http://www.opensips-solutions.com</a></pre>
<div>
<div class="h5"> <br>
On 01/15/2013 10:29 PM, Brett Nemeroff wrote: </div>
</div>
<blockquote type="cite">
<div>
<div class="h5">Anyone else run into this? Anyone
using JSON??
<div><br>
</div>
<div>Thanks,</div>
<div>Brett</div>
<div><br>
<br>
<div class="gmail_quote">On Thu, Jan 10, 2013 at
12:37 AM, Brett Nemeroff <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:brett@nemeroff.com"
target="_blank">brett@nemeroff.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:
0pt 0pt 0pt 0.8ex; border-left: 1px solid
rgb(204, 204, 204); padding-left: 1ex;">To
make this more interesting.. I actually don't
get the $json variable in a failure route
either. There definitely seems to be something
up with this variable type's scope.
<div> <br>
</div>
<div>For now, I save the json into a dlg_val,
and restore as needed. However, it'd be nice
to let it persist. Is there a way to do
that?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Brett</div>
<div>
<div>
<div><br>
</div>
<div>
<div><br>
<div class="gmail_quote">On Wed, Jan
9, 2013 at 12:20 PM, Brett Nemeroff
<span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:brett@nemeroff.com"
target="_blank">brett@nemeroff.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin: 0pt 0pt 0pt 0.8ex;
border-left: 1px solid rgb(204,
204, 204); padding-left: 1ex;">Hey
All,
<div>I'm trying to add $json
variables to db_extra. I'm 100%
sure the variables are set as
I'm using them all over my
script. However, when acc wants
to write, I get errors like
this:</div>
<div><br>
</div>
<div>
<p style="margin: 0px;
font-size: 12px; font-family:
Helvetica; min-height: 14px;"><br>
</p>
<p style="margin: 0px;
font-size: 12px; font-family:
Helvetica;">Jan 9 18:10:52
development
/usr/local/sbin/opensips[10469]:
ERROR:json:pv_get_json:
Variable named:cdata1 not
found</p>
<p style="margin: 0px;
font-size: 12px; font-family:
Helvetica;">Jan 9 18:10:52
development
/usr/local/sbin/opensips[10469]:
ERROR:acc:extra2strar: failed
to get 'element'</p>
</div>
<div><br>
</div>
<div>Like I said, I'm 100% sure
the variable is
set: $json(cdata1/element)</div>
<div><br>
</div>
<div>It's almost like it just
doesn't support $json or that
it's "out of scope"</div>
<div><br>
</div>
<div>Thanks!</div>
<span><font color="#888888">
<div>-Brett</div>
<div> <br>
</div>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
<pre><fieldset></fieldset>
_______________________________________________
Users mailing list
<a moz-do-not-send="true" href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a moz-do-not-send="true" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
</body>
</html>