[SR-Users] Storing an integer value into AVP from REDIS string

Steve Bucklin steve at telcoelectronics.uk
Tue May 21 10:44:52 CEST 2019


Daniel,

Thanks, you're a star! I dug into the old stuff that was inserting the 
values in REDIS, and *yes* there it was. The database was set as INT, 
however the php (7) json_encode was encoding all values as a string. 
There is a flag for that function called "JSON_NUMERIC_CHECK" that now 
forces the INT values where needed and the object now is passed as an 
INT, and then by the jansson_get() function to the avp.

Should have thought about that one. Thanks again :-)

Steve

On 21/05/2019 09:19, Daniel-Constantin Mierla wrote:
>
> I haven't tried and I am not the developer of jansson module, but of 
> you control how the json doc is written in redis, then you can try to 
> store the value as number (not enclosed in quotes) and maybe jansson 
> store its value directly as int in the kamailio.cfg variable.
>
> Otherwise, using {s.int} is the recommended way. I would just store 
> first in a $var(x) as string value and then move it to $avp(...) 
> converted to int.
>
> If you store first to $avp(val) and then do:
>
> $avp(val) = $(avp(val){s.int});
>
> you end up with two $avp(val) -- AVPs work as a multi-value stack, an 
> assignment adds to the top of the stack. Overall, it should be fine, 
> this is more like a cosmetic change.
>
> Cheers,
> Daniel
>
> On 21.05.19 09:34, Stephen Bucklin wrote:
>> Daniel,
>> Sorry, I did not see your reply as well. I struggle with mobile 
>> email! :-)
>> Yes, as above I used the s.int <http://s.int> but was possibly 
>> looking at a more elegantly constructed methid when moving the value 
>> into the avp at the start.
>> Steve
>>
>> On Tue, 21 May 2019 at 07:50, Stephen Bucklin 
>> <steve at telcoelectronics.uk <mailto:steve at telcoelectronics.uk>> wrote:
>>
>>     Hi,
>>     I would like to set is an an integer. Forgive me as I am on
>>     mobile so this is from memory. I am getting a string using REDIS
>>     something like:
>>
>>     Redis_cmd("dB","GET key:xyz","r")
>>
>>     I now have some string in $redus(r=>value) say
>>
>>     {"this":"that","mum":"3","other":"here"}
>>
>>     I have used the jansson_get to move the value of the specific key
>>     into an AVP for use. If I move the value 3 that is keyed by "num"
>>     from the Jason into the AVP it is a string. I can use $avp(val) =
>>     $(avp(val){s.int <http://s.int>}) and that will work but was
>>     wondering if there was a more elegant solution to this?
>>     Just finding my way around this new landscape :-)
>>
>>     Steve
>>
>>
>>     On Mon, 20 May 2019 at 18:14, Alex Balashov
>>     <abalashov at evaristesys.com <mailto:abalashov at evaristesys.com>> wrote:
>>
>>         You want to validate that the value is an integer, or coerce
>>         the internal type of the AVP to integer?
>>
>>>>         Sent from mobile, with due apologies for brevity and errors.
>>
>>         > On May 20, 2019, at 7:52 AM, Stephen Bucklin
>>         <steve at telcoelectronics.uk
>>         <mailto:steve at telcoelectronics.uk>> wrote:
>>         >
>>         > Hi,
>>         > Any quick thoughts. I am using a REDIS "GET" to retrieve a
>>         JSON obj as a string from REDIS and then the JANSSON get
>>         value to extract a key value from the string and pop it into
>>         an AVP ($avp(val)) and wish to ensure the value is an integer
>>         in the AVP. New to this, be kind :-)
>>         > Steve
>>         > _______________________________________________
>>         > Kamailio (SER) - Users Mailing List
>>         > sr-users at lists.kamailio.org
>>         <mailto:sr-users at lists.kamailio.org>
>>         > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>         _______________________________________________
>>         Kamailio (SER) - Users Mailing List
>>         sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>         https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> -- 
> Daniel-Constantin Mierla --www.asipto.com
> www.twitter.com/miconda  --www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190521/bb38ec11/attachment.html>


More information about the sr-users mailing list