2010-05-13 92 views
1

Asterisk有以下字段寻找Asterisk的CDR记录字段的说明

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表中的其他数据的文档?

回答

1
+0

这是一个很好的信息来源,但我想要解释不同情况的东西,比如'dst' =“s”。看起来有些'dst' ='s'是从接收传来的来电,但没有其他信息将它们与原来的来电主叫ID相关联。 例如: '2010-05-12 15点13分28秒244 \t \t \t 244小号\t从内部\t SIP/239-0908f990 \t扎普/ 9-1 \t \t \t \t ANSWERED 3 \t \t 1273691608.12897' – johnml 2010-05-13 21:04:11

3

DST是您的通话土地

2

的CDR将显示DST =“S “当呼叫登陆的上下文没有其他匹配的扩展时。这有时用作Asterisk+s+extension所述的最后手段的延伸。文章还提到在宏中使用s扩展也是一个可能的原因。根据您如何设置Asterisk,您可能没有意识到您的呼叫正在由仅使用s扩展名的Asterisk stdexten macro处理。

为了更清晰地表示您的呼叫流程,您可以使用cdr_adaptive_odbc模块来记录您的cdr to a database,以增强cdr的一种方法。对自适应CDR进行此更改可让您添加更多列到CDR。附加列将有助于阐明随着拨号计划变得更加复杂,您将看到的所有不同类型的呼叫流程。如果我们使用stdexten作为例子,即使dst = s,通过用实际的扩展名填充另一个cdr字段,可以使cdr记录更清晰。这可以通过以这种方式使用cdr function完成CDR(xdst)= $ {ARG2}。