YOu are a genious and a gentleman Thank you! From: FreeSWITCH-users <freeswitch-users-bounces@lists.freeswitch.org> On Behalf Of Geoff Mina Sent: lunedì 6 agosto 2018 19:27 To: FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org> Subject: Re: [Freeswitch-users] Problem with ODBC Cdr Not sure if it was a copy/paste error, but you are missing your closing ">" at the end of the configuration file. Freeswitch will completely fail to start if the cumulative XML cannot be parsed. All you get is a not-very-helpful log in /var/log/messages that says you have an XML parse error. On Mon, Aug 6, 2018 at 11:14 AM Francesco Facco de Lagarda <francesco@delagarda.com <mailto:francesco@delagarda.com> > wrote: I have (details below) 1. I have setup a mysql db as specified in docs 2. I have setup odbc and tested with isql 3. I have installed relevant modules (apt get as that’s how my fs is installed) 4. I have included module in autoload modules.conf.xml 5. I have configured odbc_cdr.conf Every time I try to start freeswitch service it crashes, neither 'systemctl status freeswitch.service' or 'journalctl -xn' give any useful info (6): Freewitch runs fine if I exlude odbc_cdr.conf Please help DETAILS ========================================================================= 1. cdr db tables ========================================================================= CREATE TABLE `cdr_table_a_leg` ( `CallId` VARCHAR(80) NULL DEFAULT NULL, `orig_id` VARCHAR(80) NULL DEFAULT NULL, `term_id` VARCHAR(80) NULL DEFAULT NULL, `ClientId` VARCHAR(80) NULL DEFAULT NULL, `IP` VARCHAR(80) NULL DEFAULT NULL, `IPInternal` VARCHAR(80) NULL DEFAULT NULL, `CODEC` VARCHAR(80) NULL DEFAULT NULL, `directGateway` VARCHAR(80) NULL DEFAULT NULL, `redirectGateway` VARCHAR(80) NULL DEFAULT NULL, `CallerID` VARCHAR(80) NULL DEFAULT NULL, `TelNumber` VARCHAR(80) NULL DEFAULT NULL, `TelNumberFull` VARCHAR(80) NULL DEFAULT NULL, `sip_endpoint_disposition` VARCHAR(80) NULL DEFAULT NULL, `sip_current_application` VARCHAR(80) NULL DEFAULT NULL ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB ; CREATE TABLE `cdr_table_b_leg` ( `CallId` VARCHAR(80) NULL DEFAULT NULL, `orig_id` VARCHAR(80) NULL DEFAULT NULL, `term_id` VARCHAR(80) NULL DEFAULT NULL, `ClientId` VARCHAR(80) NULL DEFAULT NULL, `IP` VARCHAR(80) NULL DEFAULT NULL, `IPInternal` VARCHAR(80) NULL DEFAULT NULL, `CODEC` VARCHAR(80) NULL DEFAULT NULL, `directGateway` VARCHAR(80) NULL DEFAULT NULL, `redirectGateway` VARCHAR(80) NULL DEFAULT NULL, `CallerID` VARCHAR(80) NULL DEFAULT NULL, `TelNumber` VARCHAR(80) NULL DEFAULT NULL, `TelNumberFull` VARCHAR(80) NULL DEFAULT NULL, `sip_endpoint_disposition` VARCHAR(80) NULL DEFAULT NULL, `sip_current_application` VARCHAR(80) NULL DEFAULT NULL ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB ; CREATE TABLE `cdr_table_both` ( `CallId` VARCHAR(80) NULL DEFAULT NULL, `orig_id` VARCHAR(80) NULL DEFAULT NULL, `TEST_id` VARCHAR(80) NULL DEFAULT NULL ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB ; ========================================================================= 2. ODBC setup ========================================================================= /etc/odbcinst.ini [myodbc_mysql] Description=ODBC for MySQL Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so Setup=/usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so UsageCount=2 /etc/odbc.ini [freeswitch] Description=description of your DSN Driver=myodbc_mysql Server=localhost Port=3306 Socket=/var/run/mysqld/mysqld.sock Database=telispe3 Username=root Password=passw0rd Option=3 ReadOnly=No [cdr] Description=description of your DSN Driver=myodbc_mysql Server=localhost Port=3306 Socket=/var/run/mysqld/mysqld.sock Database=cdr Username=root Password=passw0rd Option=3 ReadOnly=No ========================================================================= 3. install modules ========================================================================= apt-get install freeswitch-mod-odbc-cdr ========================================================================= 4. modules.conf.xml ========================================================================= <load module="mod_cdr_csv"/> <load module="mod_odbc_cdr" /> <!-- load module="mod_cdr_sqlite"/ --> ========================================================================= 5. odbc_cdr.conf ========================================================================= <configuration name="odbc_cdr.conf" description="ODBC CDR Configuration"> <settings> <!-- <param name="odbc-dsn" value="database:username:password"/> --> <param name="odbc-dsn" value="odbc://cdr"/> <!-- global value can be "a-leg", "b-leg", "both" (default is "both") --> <param name="log-leg" value="both"/> <!-- value can be "always", "never", "on-db-fail" --> <param name="write-csv" value="on-db-fail"/> <!-- location to store csv copy of CDR --> <param name="csv-path" value="/usr/local/freeswitch/log/odbc_cdr"/> <!-- if "csv-path-on-fail" is set, failed INSERTs will be placed here as CSV files otherwise they will be placed in "csv-path" --> <param name="csv-path-on-fail" value="/usr/local/freeswitch/log/odbc_cdr/failed"/> <!-- dump SQL statement after leg ends --> <param name="debug-sql" value="true"/> </settings> <tables> <!-- only a-legs will be inserted into this table --> <table name="cdr_table_a_leg" log-leg="a-leg"> <field name="CallId" chan-var-name="call_uuid"/> <field name="orig_id" chan-var-name="uuid"/> <field name="term_id" chan-var-name="sip_call_id"/> <field name="ClientId" chan-var-name="uuid"/> <field name="IP" chan-var-name="sip_network_ip"/> <field name="IPInternal" chan-var-name="sip_via_host"/> <field name="CODEC" chan-var-name="read_codec"/> <field name="directGateway" chan-var-name="sip_req_host"/> <field name="redirectGateway" chan-var-name="sip_redirect_contact_host_0"/> <field name="CallerID" chan-var-name="sip_from_user"/> <field name="TelNumber" chan-var-name="sip_req_user"/> <field name="TelNumberFull" chan-var-name="sip_to_user"/> <field name="sip_endpoint_disposition" chan-var-name="endpoint_disposition"/> <field name="sip_current_application" chan-var-name="current_application"/> </table> <!-- only b-legs will be inserted into this table --> <table name="cdr_table_b_leg" log-leg="b-leg"> <field name="CallId" chan-var-name="call_uuid"/> <field name="orig_id" chan-var-name="uuid"/> <field name="term_id" chan-var-name="sip_call_id"/> <field name="ClientId" chan-var-name="uuid"/> <field name="IP" chan-var-name="sip_network_ip"/> <field name="IPInternal" chan-var-name="sip_via_host"/> <field name="CODEC" chan-var-name="read_codec"/> <field name="directGateway" chan-var-name="sip_req_host"/> <field name="redirectGateway" chan-var-name="sip_redirect_contact_host_0"/> <field name="CallerID" chan-var-name="sip_from_user"/> <field name="TelNumber" chan-var-name="sip_req_user"/> <field name="TelNumberFull" chan-var-name="sip_to_user"/> <field name="sip_endpoint_disposition" chan-var-name="endpoint_disposition"/> <field name="sip_current_application" chan-var-name="current_application"/> </table> <!-- both legs will be inserted into this table --> <table name="cdr_table_both"> <field name="CallId" chan-var-name="uuid"/> <field name="orig_id" chan-var-name="Caller-Unique-ID"/> <field name="TEST_id" chan-var-name="sip_from_uri"/> </table> </tables> </configuration ========================================================================= 6. systemctl status freeswitch.service ========================================================================= Aug 06 14:49:32 telispe3 systemd[1]: Failed to start freeswitch. Aug 06 14:49:32 telispe3 systemd[1]: Unit freeswitch.service entered failed state. Aug 06 14:49:32 telispe3 systemd[1]: freeswitch.service holdoff time over, scheduling restart. Aug 06 14:49:32 telispe3 systemd[1]: Stopping freeswitch... Aug 06 14:49:32 telispe3 systemd[1]: Starting freeswitch... Aug 06 14:49:32 telispe3 systemd[1]: freeswitch.service start request repeated too quickly, refusing to start. Aug 06 14:49:32 telispe3 systemd[1]: Failed to start freeswitch. Aug 06 14:49:32 telispe3 systemd[1]: Unit freeswitch.service entered failed state. _________________________________________________________________________ Professional FreeSWITCH Services sales@freeswitch.com <mailto:sales@freeswitch.com> https://freeswitch.com Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://cluecon.com FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users https://freeswitch.com