2010-05-13 86 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}。