<!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>
The missing value warning is fixed on SVN.<br>
<br>
I was also trying to fix the concat issue, but not able to
reproduce it. I tried 2 different cases:<br>
<br>
$json(var1) := '{"string1":"String1data"}';<br>
$json(var2) := '{"string2":"String2data"}';<br>
<br>
$avp(result) = $json(var1/string1) + $json(var2/string2);<br>
<br>
xlog("result is <$avp(result)> \n");<br>
<br>
<br>
or<br>
<br>
$json(var1) :=
'{"string1":"String1data","string2":"String2data"}';<br>
$json(var2) := '{"string2":"String2data"}';<br>
<br>
$avp(result) = $json(var1/string1) + $json(var1/string2);<br>
<br>
xlog("result is <$avp(result)> \n");<br>
<br>
<br>
In both cases I got the a valid output....<br>
<br>
Any help with it ?<br>
<br>
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/22/2013 02:13 PM, Bogdan-Andrei Iancu wrote:
<blockquote cite="mid:50FE827A.3000403@opensips.org" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<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 moz-do-not-send="true" 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>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
</body>
</html>