[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