2

Asterisk 有以下字段

   CREATE TABLE `cdr` (
  `calldate` datetime NOT NULL default '0000-00-00 00:00:00',
  `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 '',
  `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 '',
  `uniqueid` varchar(32) NOT NULL default '',
  `userfield` varchar(255) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

大多数字段名称是不言自明的,但是有些字段包含非自我解释的数据。例如dst=“s”,是否有人知道解释此数据和 CDR 表中记录的其他数据的文档?

4

4 回答 4

3

dst 是您的电话所在的分机

于 2010-09-13T12:42:44.133 回答
2

当呼叫所在的上下文没有其他匹配的扩展时,cdr 将显示 dst="s"。如Asterisk+s+extension所述,这有时用作最后手段的扩展。文章还提到了在宏中使用 s 扩展名,这也是一个可能的原因。根据您设置 Asterisk 的方式,您可能没有意识到您的呼叫是由仅使用 s 扩展名的 Asterisk stdexten 宏处理的。

为了提供更清晰的呼叫流程表示而增加 cdr 的一种方法是使用 cdr_adaptive_odbc 模块将您的cdr 记录到数据库中。对自适应 CDR 进行此更改使您能够向 CDR 添加其他列。随着拨号方案变得更加复杂,附加的列将有助于阐明您将看到的所有不同类型的呼叫流程。如果我们以 stdexten 为例,即使 dst=s,您也可以通过使用实际扩展名填充另一个 cdr 字段来使 cdr 记录更加清晰。这可以使用cdr 函数以这种方式 CDR(xdst)=${ARG2} 完成。

于 2013-06-29T08:08:39.993 回答
1

Here you go: http://www.asteriskguide.com/mediawiki/index.php/Asterisk_Call_Detail_Records

于 2010-05-13T19:28:36.713 回答
0

wiki 对许多这些领域都有很好的参考:https ://wiki.asterisk.org/wiki/display/AST/CDR+Fields

于 2012-06-13T14:55:03.410 回答