Stefan Viljoen
2014-Dec-23 07:32 UTC
[asterisk-users] CDR_TDS tries to write to ends column instead of end
Hi all I'm trying to get Asterisk 1.8.11.0 to write to the ast_cdr table on an MSSQL instance. My problem is that the cdr_tds module insists on naming the end column as "ends" - it tries to write to this column, which does not exist. I get this in the CLI: [Dec 23 09:25:17] NOTICE[2545]: cdr_tds.c:476 tds_message_handler: Invalid column name 'ends'. [Dec 23 09:25:17] ERROR[2545]: cdr_tds.c:464 tds_error_handler: General SQL Server error: Check messages from the SQL Server (207) [Dec 23 09:25:17] NOTICE[2545]: cdr_tds.c:476 tds_message_handler: Invalid column name 'ends'. [Dec 23 09:25:17] ERROR[2545]: cdr_tds.c:464 tds_error_handler: General SQL Server error: Check messages from the SQL Server (207) [Dec 23 09:25:17] NOTICE[2545]: cdr_tds.c:266 tds_log: Failed to execute INSERT statement, retrying... I executed this (as indicated in cdr_tds.c) to create the table: CREATE TABLE [dbo].[cdr] ( [accountcode] [varchar] (20) NULL , [src] [varchar] (80) NULL , [dst] [varchar] (80) NULL , [dcontext] [varchar] (80) NULL , [clid] [varchar] (80) NULL , [channel] [varchar] (80) NULL , [dstchannel] [varchar] (80) NULL , [lastapp] [varchar] (80) NULL , [lastdata] [varchar] (80) NULL , [start] [datetime] NULL , [answer] [datetime] NULL , [end] [datetime] NULL , [duration] [int] NULL , [billsec] [int] NULL , [disposition] [varchar] (20) NULL , [amaflags] [varchar] (16) NULL , [uniqueid] [varchar] (32) NULL , [userfield] [varchar] (256) NULL ) ON [PRIMARY] So it definitely exists as "end" -NOT- "ends" - how can I get Asterisk to write to just "end" as it is supposed to? For end time for the CDR? Thanks Stefan