【问题标题】:Error in Insert Value "answer" in CDR Database Asterisk在 CDR 数据库 Asterisk 中插入值“答案”时出错
【发布时间】:2019-12-09 12:25:16
【问题描述】:

我有时会在挂断电话时发生此错误。其余正常保存。我暴露了一个坏记录和一个好记录

[12 月 6 日 19:47:19] 错误[31348][C-00000045]: cdr_mysql.c:349 mysql_log: 插入数据库失败:(1292) 日期时间值不正确: 'SIP/sip_lbascunan/961258985,160,wWTt' 用于第 1 行的“答案”列

好排

‘1575675020.46’、‘1575675020.46’、‘“343591171”’、 ‘343591171’, ‘101961258985’, ‘引擎’, ‘SIP/asterisk-63-0000002e’, ‘SIP/opsmovil-0000002f’, ‘挂断’, ‘’, ‘2019-12-06 20:30:20’, NULL, ‘2019-12-06 20:30:20’, ‘0’, ‘0’, ‘NO ANSWER’, ‘3’, ‘’, ‘’, ‘55’, ‘’

坏行

‘1575674496.30’、‘1575674496.30’、‘“SISTEMAS”’、‘1084’、 ‘90962108827’,‘lbascunan’,‘SIP/1084-0000001e’, ‘SIP/sip_lbascunan-0000001f’, ‘拨号’, ‘SIP/sip_lbascunan/962108827,160,wWTt’, ‘2019-12-06 20:21:36’, ‘SIP/sip_lbascunan/962108827,160,wWTt’, ‘2019-12-06 20:22:00’, ‘24’, ‘0’, ‘NO ANSWER’, ‘3’, ‘’, ‘’, ‘35’, ‘’

我必须将答案字段从 Varchar 更改为 Datetime 以便我可以保存。

这是我的表 CDR

CREATE TABLE `cdr` (
  `uniqueid` varchar(32) NOT NULL DEFAULT '',
  `linkedid` varchar(32) NOT NULL DEFAULT '',
  `clid` varchar(80) NOT NULL DEFAULT '',
  `src` varchar(80) NOT NULL DEFAULT '',
  `dst` varchar(80) NOT NULL DEFAULT '',
  `dcontext` varchar(80) NOT NULL DEFAULT '',
  `channel` varchar(80) NOT NULL DEFAULT '',
  `dstchannel` varchar(80) NOT NULL DEFAULT '',
  `lastapp` varchar(80) NOT NULL DEFAULT '',
  `lastdata` varchar(80) NOT NULL DEFAULT '',
  `start` datetime NOT NULL,
  `answer` datetime NOT NULL,
  `end` datetime NOT NULL,
  `duration` int(11) NOT NULL DEFAULT '0',
  `billsec` int(11) NOT NULL DEFAULT '0',
  `disposition` varchar(45) NOT NULL DEFAULT '',
  `amaflags` int(11) NOT NULL DEFAULT '0',
  `accountcode` varchar(20) NOT NULL DEFAULT '',
  `userfield` varchar(255) NOT NULL DEFAULT '',
  `sequence` varchar(32) NOT NULL DEFAULT '',
  `peeraccount` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`uniqueid`),
  KEY `start` (`start`),
  KEY `dst` (`dst`),
  KEY `accountcode` (`accountcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

【问题讨论】:

    标签: asterisk telephony cdr


    【解决方案1】:

    只是不正确的说法。 检查 callerid(name) 中的特殊符号。

    反正也没什么好回答的。只是糟糕的系统设计,没有检查 sql 注入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      • 2016-05-23
      相关资源
      最近更新 更多