FreeTDS, using cel_tds

Compile, configure, and install the latest FreeTDS package:
		   tar -zxvf freetds-0.62.4.tar.gz &&
		   cd freetds-0.62.4 &&
		   ./configure --prefix=/usr --with-tdsver=7.0
		   make &&
		   make install
Compile, or recompile, asterisk so that it will now add support for cel_tds.
                   make clean && ./configure --with-tds &&
                   make update &&
                   make &&
                   make install
Only install one database connector. Do not confuse asterisk by using both ODBC (cel_odbc) and FreeTDS (cel_tds). This command will erase the contents of cel_odbc.conf
		[ -f /etc/asterisk/cel_odbc.conf ] > /etc/asterisk/cel_odbc.conf
Setup cel_tds configuration files. These are working samples from my system. You will need to modify for your setup. Define your usernames and passwords here, secure file as well.
                /etc/asterisk/cel_tds.conf
		   [global]
		   hostname=192.168.1.25
		   port=1433
		   dbname=voipdb
		   user=voipdbuser
		   password=voipdpass
		   charset=BIG5
And finally, create the 'cel' table in your mssql database.
		CREATE TABLE cel (
				[eventtype]     [varchar] (30)          NULL ,
		        [eventtime]     [datetime]              NULL ,
		        [cidname]       [varchar] (80)          NULL ,
		        [cidnum]        [varchar] (80)          NULL ,
		        [cidani]        [varchar] (80)          NULL ,
		        [cidrdnis]      [varchar] (80)          NULL ,
		        [ciddnid]       [varchar] (80)          NULL ,
		        [exten]         [varchar] (80)          NULL ,
		        [context]       [varchar] (80)          NULL ,
		        [channame]      [varchar] (80)          NULL ,
		        [appname]       [varchar] (80)          NULL ,
		        [appdata]       [varchar] (80)          NULL ,
		        [amaflags]      [varchar] (16)          NULL ,
		        [accountcode]   [varchar] (20)          NULL ,
		        [uniqueid]      [varchar] (32)          NULL ,
		        [userfield]     [varchar] (255)         NULL ,
		        [peer]          [varchar] (80)          NULL
		)
Start asterisk in verbose mode, you should see that asterisk logs a connection to the database and will now record every call to the database when it's complete.



lmadsen 2010-10-21