Asterisk中開啓CDR通話記錄

Asterisk 怎麼在數據庫中記錄咱們的通話記錄,如去電和來電號碼,時間==。。,

首先我想到的是能夠直接在 dialplan中把主叫及被叫號及時間==其它信息直接手寫添加到mysql 數據中。

那麼官方提供了這樣的一個方法來開啓CDR記錄


一:首先得在mysql 中創建好咱們 數據庫名稱 和 cdr 表,官方提供的mysql 語句以下:
    
  1. CREATE DATABASE asterisk;  
  2. GRANT INSERT  
  3.   ON asterisk.*  
  4.   TO asterisk@localhost  
  5.   IDENTIFIED BY 'yourpassword';  
  6. USE asterisk;  
  7. CREATE TABLE `cdr` (  
  8. `calldate` datetime NOT NULL default '0000-00-00 00:00:00',  
  9. `clid` varchar(80) NOT NULL default '',  
  10. `src` varchar(80) NOT NULL default '',  
  11. `dst` varchar(80) NOT NULL default '',  
  12. `dcontext` varchar(80) NOT NULL default '',    
  13. `channel` varchar(80) NOT NULL default '',  
  14. `dstchannel` varchar(80) NOT NULL default '',  
  15. `lastapp` varchar(80) NOT NULL default '',  
  16. `lastdata` varchar(80) NOT NULL default '',  
  17. `duration` int(11) NOT NULL default '0',  
  18. `billsec` int(11) NOT NULL default '0',  
  19. `disposition` varchar(45) NOT NULL default '',    
  20. `amaflags` int(11) NOT NULL default '0',  
  21. `accountcode` varchar(20) NOT NULL default '',  
  22. `userfield` varchar(255) NOT NULL default ''  
  23. );  
  24. ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL default '';  
  25. ALTER TABLE `cdr` ADD INDEX ( `calldate` );  
  26. ALTER TABLE `cdr` ADD INDEX ( `dst` );  
  27. ALTER TABLE `cdr` ADD INDEX ( `accountcode` );
二:改動ASTERISK下的配置文件
   cdr_manager.conf 和  cdr_mysql.conf ,主要是改 cdr_mysql.conf 文件,以下:
  
  1. [global]  
  2. hostname=localhost  
  3. dbname=asterisk   //數據庫名
  4. table=cdr        //表名
  5. password=888888    //數據庫密碼
  6. user=root       //數據庫用戶名
  7. port=3306        //默認的端口
  8. sock=/var/lib/asterisk/mysql.sock  //mysql.sock 的路徑  
  9. userfield=1                    //cdr表userfield 爲能夠寫
三:重啓相關服務
     簡單點吧:直接重啓系統就OK 
  1. # reboot
相關文章
相關標籤/搜索