Asterisk CDR(呼情報)をODBCでMySqlへ格納(後記)

Asterisk CDR(呼情報)をODBCでMySqlへ格納で紹介したCDR格納用のテーブルは cdr_mysql や cdr_odbc アドオンと互換性を維持した構成となっています。

Adaptive CDR ODBCでは start, answer, end というフィールドに通話開始、応答、終了日時を格納します。 calldate は使用しません。

そのため、Asterisk CDR(呼情報)をODBCでMySqlへ格納では、/etc/asterisk/cdr_adaptive_odbc.conf に start フィールドを calldate へ別名として格納するように設定をしています。(以下参照)

[adaptive_connection]
connection=asterisk
table=cdr
alias start => calldate

そこで、今後推奨とされている cdr_adaptive_odbc 用のCDRテーブル定義と、それに対応するように cdr_adaptive_odbc.conf を変更します。

Adaptive CDR ODBC用のCDRテーブル定義

新たに cdr_odbc テーブルを用意します。

CREATE TABLE cdr_odbc (
        `accountcode` VARCHAR(20) NULL , 
        `src`         VARCHAR(80) NULL , 
        `dst`         VARCHAR(80) NULL , 
        `dcontext`    VARCHAR(80) NULL , 
        `clid`        VARCHAR(80) NULL , 
        `channel`     VARCHAR(80) NULL , 
        `dstchannel`  VARCHAR(80) NULL , 
        `lastapp`     VARCHAR(80) NULL , 
        `lastdata`    VARCHAR(80) NULL , 
        `start`       datetime NULL , 
        `answer`      datetime NULL , 
        `end`         datetime NULL , 
        `duration`    int NULL , 
        `billsec`     int NULL , 
        `disposition` VARCHAR(20) NULL , 
        `amaflags`    VARCHAR(16) NULL , 
        `uniqueid`    VARCHAR(150) NULL , 
        `userfield`   VARCHAR(256) NULL ,
        `linkedid`    VARCHAR(32) NOT NULL default '' ,
        `sequence`    VARCHAR(32) NOT NULL default '' ,
        `peeraccount` VARCHAR(32) NOT NULL default ''
    );

/etc/asterisk/cdr_adaptive_odbc.conf の変更

テーブルを cdr_odbc とし alias をやめます。

[adaptive_connection]
connection=asterisk
table=cdr_odbc
;以下不要
;table=cdr
;alias start => calldate

動作確認

mysql> select * from cdr_odbc;                                                                                    
+-------------+------+------+----------+---------------+-------------------+-------------------+---------+---------------+---------------------+---------------------+---------------------+----------+---------+-------------+---------------+--------------+-----------+--------------+----------+-------------+                                    
| accountcode | src  | dst  | dcontext | clid          | channel           | dstchannel        | lastapp | lastdata      | start               | answer              | end                 | duration | billsec | disposition | amaflags      | uniqueid     | userfield | linkedid     | sequence | peeraccount |                                    
+-------------+------+------+----------+---------------+-------------------+-------------------+---------+---------------+---------------------+---------------------+---------------------+----------+---------+-------------+---------------+--------------+-----------+--------------+----------+-------------+
| NULL        | 3001 | 2001 | default  | "3001" <3001> | SIP/3001-00000000 | SIP/2001-00000001 | Dial    | SIP/2001,,rtT | 2015-02-05 18:18:34 | 2015-02-05 18:18:39 | 2015-02-05 18:18:44 |       10 |       5 | ANSWERED    | DOCUMENTATION | 1423127914.0 | NULL      | 1423127914.0 | 0        |             |
| NULL        | 2001 | 3001 | default  | "2001" <2001> | SIP/2001-00000002 | SIP/3001-00000003 | Dial    | SIP/3001,,rtT | 2015-02-05 18:19:11 | 2015-02-05 18:19:13 | 2015-02-05 18:19:19 |        8 |       6 | ANSWERED    | DOCUMENTATION | 1423127951.2 | NULL      | 1423127951.2 | 3        |             |
+-------------+------+------+----------+---------------+-------------------+-------------------+---------+---------------+---------------------+---------------------+---------------------+----------+---------+-------------+---------------+--------------+-----------+--------------+----------+-------------+

start, answer, end に日時が格納され、amaflags の値は以前とは異なり文字列となっています。

参考:
http://www.voip-info.org/wiki/view/Asterisk+cdr+odbc
http://www.voip-info.org/wiki/view/Asterisk+billing

以上です。

“Asterisk CDR(呼情報)をODBCでMySqlへ格納(後記)” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です