zoukankan      html  css  js  c++  java
  • 用SqlServer存储Asterisk的呼叫记录

    将asterisk的呼叫记录存入mysql很简单,其实存入SqlServer也同样容易。

    首先声明下环境:CentOS6.2 + Asterisk 1.8.7.1 + Freetds 0.91 + SqlServer 2008

    1、安装rpmforge源和epel源

    2、安装freetds:
    yum install freetds*

    3、配置并测试freetds
    vi /etc/freetds.conf
    示例如下:
    ip:port模式:

    [SQL2008]
    host = 172.16.16.100
    port = 1433
    tds version = 8.0

    测试如下:

    tsql -S SQL2008 -U sa -P password

    数据库实例模式:

    [voipCdrSvr]
    host = 172.16.16.101
    instance = sqlexpress
    tds version = 8.0

    测试如下:

    tsql -S voipCdrSvr -U sa -P password
    4、配置Asterisk
    清空cdr_odbc.conf
    > /etc/asterisk/cdr_odbc.conf
    编辑cdr_tds.conf
    vi /etc/asterisk/cdr_tds.conf

    [global]
    connection=voipCdrSvr
    port=1433
    dbname=myDB
    table=cdr
    user=sa
    password=myPasswd

    5、创建Sqlserver数据表:

    CREATE TABLE cdr (
    [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
    )

    6、重启Asterisk生效:

    asterisk -rx "core restart now"

    好,就这些了,希望对你有帮助。

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    Ubuntu 16.04中VirtualBox 5.1使用U盘/USB设备的方法
    VirtualBox中的虚拟机在Ubuntu 下无法启动之问题解决
    XX-net 部署网络
    Ubuntu 16.04安装Git及GUI客户端
    Ubuntu dns
    rapidjson
    ubuntu14.04 安装 搜狗输入法
    Ubuntu中解决机箱前置耳机没声音
    C++调试帮助
    ubuntu16.04安装virtualbox
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/asteriskCdrSqlServerTest20120413.html
  • Copyright © 2011-2022 走看看