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> 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
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
https://freeswitch.com