We are using MongoDB and all the values are inserted as strings.
I also tried using the time_mode and time_format parameters, but it looks like they are only relevant for transactions accounting.
Regarding the duration, it is set as a string for any backend.
I think this behavior strongly limits us (and probably others) performing queries on CDRs (especially queries based on start and end time).
Mickael
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Daniel-Constantin Mierla
Sent: Monday, April 13, 2015 3:03 PM
To: Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] CDR fields are all strings
Hello,
On 13/04/15 11:48, Mickael Marrache wrote:
Hi,
Why are all the CDR fields inserted as strings?
For extra fields, I can understand it is easier to implement. However, for the built in fields (e.g. duration), we need to perform queries based on duration and time and it is not really possible using strings.
Dialog variables hold only strings and those values are stored in variables, iirc -- that was the design behind the concept done by initial developer. Perhaps they can be easily updated to hold integers.
Anyhow, iirc, at least with mysql it should work to insert any value enclosed in quotes, not matter the field type. For datetime that is acutually the default -- to use quotes, afaik. So if you change the types of columns, it should just work.
We can push a patch if most of the people think is better to use different column types.
Cheers,
Daniel
I see that the time field for failed transactions is inserted as a date.
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com