Designing a schema for CDRs
Hi. I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist. Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
Mod_xml_cdr gives you *all *the channel variables that you set, so it changes all the time. If you want to save everything, you can't stuff that into columns in mysql/postgres... You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema. -Avi On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote:
Hi.
I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist.
Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
It's also a good idea to validate field data before trying to write to your database. That way you could add fields that don't appear on every single call. -Michael On Thu, Jan 1, 2015 at 6:04 AM, Avi Marcus <avi@avimarcus.net> wrote:
Mod_xml_cdr gives you *all *the channel variables that you set, so it changes all the time.
If you want to save everything, you can't stuff that into columns in mysql/postgres...
You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema.
-Avi
On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote:
Hi.
I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist.
Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
There's a very nice php sample somewhere in the git, it parses the XML and you can use it to validate fields, do billing, whatever. On Jan 1, 2015 2:16 PM, "Michael Collins" <msc@freeswitch.org> wrote:
It's also a good idea to validate field data before trying to write to your database. That way you could add fields that don't appear on every single call.
-Michael
On Thu, Jan 1, 2015 at 6:04 AM, Avi Marcus <avi@avimarcus.net> wrote:
Mod_xml_cdr gives you *all *the channel variables that you set, so it changes all the time.
If you want to save everything, you can't stuff that into columns in mysql/postgres...
You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema.
-Avi
On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote:
Hi.
I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist.
Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Don't waste time, give a look into fusionpbx; it has what you are looking for On Jan 1, 2015 2:32 PM, "David Villasmil Govea" <david.villasmil@gmail.com> wrote:
There's a very nice php sample somewhere in the git, it parses the XML and you can use it to validate fields, do billing, whatever. On Jan 1, 2015 2:16 PM, "Michael Collins" <msc@freeswitch.org> wrote:
It's also a good idea to validate field data before trying to write to your database. That way you could add fields that don't appear on every single call.
-Michael
On Thu, Jan 1, 2015 at 6:04 AM, Avi Marcus <avi@avimarcus.net> wrote:
Mod_xml_cdr gives you *all *the channel variables that you set, so it changes all the time.
If you want to save everything, you can't stuff that into columns in mysql/postgres...
You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema.
-Avi
On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote:
Hi.
I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist.
Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
I recommend it only you need something very basic. You won't learn anything about freeSWITCH. On Jan 1, 2015 5:27 PM, "Luis Daniel Lucio Quiroz" < luis.daniel.lucio@gmail.com> wrote:
Don't waste time, give a look into fusionpbx; it has what you are looking for On Jan 1, 2015 2:32 PM, "David Villasmil Govea" <david.villasmil@gmail.com> wrote:
There's a very nice php sample somewhere in the git, it parses the XML and you can use it to validate fields, do billing, whatever. On Jan 1, 2015 2:16 PM, "Michael Collins" <msc@freeswitch.org> wrote:
It's also a good idea to validate field data before trying to write to your database. That way you could add fields that don't appear on every single call.
-Michael
On Thu, Jan 1, 2015 at 6:04 AM, Avi Marcus <avi@avimarcus.net> wrote:
Mod_xml_cdr gives you *all *the channel variables that you set, so it changes all the time.
If you want to save everything, you can't stuff that into columns in mysql/postgres...
You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema.
-Avi
On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote:
Hi.
I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist.
Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Thanks guys for the suggestions and information. I did figure out that variables keep changing after I went through the source code. And it looks like fusionpbx takes a few values from CDR and drops everything else. I guess I can modify fusionpbx’ parser and use that. This should solve my problem. Sent from Windows Mail From: David Villasmil Govea Sent: Friday, January 2, 2015 3:29 AM To: FreeSWITCH Users Help I recommend it only you need something very basic. You won't learn anything about freeSWITCH. On Jan 1, 2015 5:27 PM, "Luis Daniel Lucio Quiroz" <luis.daniel.lucio@gmail.com> wrote: Don't waste time, give a look into fusionpbx; it has what you are looking for On Jan 1, 2015 2:32 PM, "David Villasmil Govea" <david.villasmil@gmail.com> wrote: There's a very nice php sample somewhere in the git, it parses the XML and you can use it to validate fields, do billing, whatever. On Jan 1, 2015 2:16 PM, "Michael Collins" <msc@freeswitch.org> wrote: It's also a good idea to validate field data before trying to write to your database. That way you could add fields that don't appear on every single call. -Michael On Thu, Jan 1, 2015 at 6:04 AM, Avi Marcus <avi@avimarcus.net> wrote: Mod_xml_cdr gives you all the channel variables that you set, so it changes all the time. If you want to save everything, you can't stuff that into columns in mysql/postgres... You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema. -Avi On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote: Hi. I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist. Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr? _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Fusion saves all payload in a field, read the v_import_* file, you wil understand Luis Daniel Lucio Quiroz CISSP, CISM, CISA Linux, VoIP and much more fun www.okay.com.mx Need LCR? Check out LCR for FusionPBX with FreeSWITCH Need Billing? Check out Billing for FusionPBX with FreeSWITCH 2015-01-02 12:40 GMT-05:00 <tayyabatiq@gmail.com>:
Thanks guys for the suggestions and information. I did figure out that variables keep changing after I went through the source code. And it looks like fusionpbx takes a few values from CDR and drops everything else. I guess I can modify fusionpbx' parser and use that. This should solve my problem.
Sent from Windows Mail
From: David Villasmil Govea Sent: Friday, January 2, 2015 3:29 AM To: FreeSWITCH Users Help
I recommend it only you need something very basic. You won't learn anything about freeSWITCH.
On Jan 1, 2015 5:27 PM, "Luis Daniel Lucio Quiroz" <luis.daniel.lucio@gmail.com> wrote:
Don't waste time, give a look into fusionpbx; it has what you are looking for
On Jan 1, 2015 2:32 PM, "David Villasmil Govea" <david.villasmil@gmail.com> wrote:
There's a very nice php sample somewhere in the git, it parses the XML and you can use it to validate fields, do billing, whatever.
On Jan 1, 2015 2:16 PM, "Michael Collins" <msc@freeswitch.org> wrote:
It's also a good idea to validate field data before trying to write to your database. That way you could add fields that don't appear on every single call.
-Michael
On Thu, Jan 1, 2015 at 6:04 AM, Avi Marcus <avi@avimarcus.net> wrote:
Mod_xml_cdr gives you all the channel variables that you set, so it changes all the time.
If you want to save everything, you can't stuff that into columns in mysql/postgres...
You can pull out "common" fields for your schema, and then save the rest (if you want) as an XML or json object... or use a nosql DB so you don't need a schema.
-Avi
On Thu, Jan 1, 2015 at 12:19 PM, Tayyab Atiq <tayyabatiq@gmail.com> wrote:
Hi.
I have recently been trying to process CDR from mod_xml_cdr and store it in a db I first parsed and wrote all the information in a file, then designed a database based on the fields that appeared in the file. But it seems that FS adds/removes fields sometimes. This causes my query to fail as my program tries to insert columns that do not exist.
Is there a way to figure out all the possible fields that might appear in the xml sent by mod_xml_cdr?
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (6)
-
Avi Marcus
-
David Villasmil Govea
-
Luis Daniel Lucio Quiroz
-
Michael Collins
-
Tayyab Atiq
-
tayyabatiq@gmail.com