【问题标题】:Importing CDR from XML files in MySQL在 MySQL 中从 XML 文件导入 CDR
【发布时间】:2014-06-05 16:32:22
【问题描述】:

是否有任何可用的脚本可用于将 xml cdr 从日志目录加载到 mysql db 中?我在 /contrib 中找到了一些脚本,但它们没有将其加载到数据库中。如果有人可以分享他们的脚本,我将不胜感激。

【问题讨论】:

    标签: php mysql freeswitch


    【解决方案1】:

    您可以在the mod_cdr wiki page 上找到 FS 的 CDR sql 架构。

    create database freeswitchdb;
    use freeswitchdb;
    create table freeswitchcdr (
        callid bigint unsigned default 0 primary key, /* This will need to be handled specially for auto increment, as that might not be standard */
        callstartdate datetime NOT NULL,
        callanswerdate datetime NOT NULL,
        calltransferdate datetime NOT NULL,
        callenddate datetime NOT NULL,
        originated tinyint default 0,
        clid varchar(80) default "Freeswitch - Unknown",
        src varchar(80) NOT NULL,
        dst varchar(80) NOT NULL,
        ani varchar(80) default "",
        aniii varchar(80) default "",
        dialplan varchar(80) default "",
        myuuid char(36) NOT NULL,
        destuuid char(36) NOT NULL,
        srcchannel varchar(80) NOT NULL,
        dstchannel varchar(80) NOT NULL, /* Need to decide - this might be redundant as you can link the records via uuid */
        network_addr varchar(40) default "",
        lastapp varchar(80) default "",
        lastdata varchar(255) default "",
        billusec bigint default 0,
        disposition tinyint default 0, /* 0 = Busy or Unanswered, 1 = Answered */
        hangupcause int default 0,
        amaflags tinyint default 0
    );
    
    create index myuuid_index on freeswitchcdr (myuuid);
    create index destuuid_index on freeswitchcdr (destuuid);
    
    create table chanvars (
        callid bigint unsigned default 0,
        varname varchar(80) NOT NULL,
        varvalue varchar(255) default ""
    );
    
    create index callid_index on chanvars(callid,varname);
    ALTER TABLE freeswitchcdr modify callid bigint unsigned auto_increment;
    ALTER TABLE freeswitchcdr Engine=InnoDB;
    ALTER TABLE chanvars Engine=InnoDB;
    

    还有一个关于如何使用 PHP 解析 XML 的答案:Parsing XML data using php to put into mysql database

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      相关资源
      最近更新 更多