呼叫中心中间件(mod_cti基于FreeSWITCH)-通话记录(CDR)接口
创始人
2024-01-31 09:45:15

支持把FreeSWITCH的通话记录写入mysql,sqlserver,oracle等数据库,也可以写入redis的list,或者PUBLISH到redis的channel,方便业务程序实时获取通话记录。

使用说明

如果一个通话是A呼叫B,那么就有2个通话记录,一个叫aleg,一个叫bleg。
如果自动外呼或者呼入IVR这样没转接给其他电话或者分机的,就只有一个通话记录。

  • uuid 这个通话的callid,整个系统唯一的。
  • destination_number 一般是拨打的号码(自动外呼的如果接通了,就变成了自动外呼配置的目的地(路由条件))
  • caller_id_number 主叫号码 (来电显示的号码)
  • callee_id_number 被叫号码(DID号),业务系统建议使用dial_number这个cti定义的变量

    分机互打

    主叫方

  • account 分机号
  • direction inbound (分机呼叫fs,所以是呼入)
  • originator 空
  • bridge_uuid 最后通话的对方的UUID
  • call_source dialplan(拨号方案里面设置的)
  • source_name 主叫分机号(拨号方案里面设置的)
  • dial_number 被叫分机号(拨号方案里面设置的)

    被叫方

  • account 分机号
  • direction outbound (fs呼叫分机,所以是呼出)
  • originator 主叫方uuid
  • bridge_uuid 最后通话的对方的UUID,因为一个通话可能给转移和多个人对话,所以和originator可能不是一个UUID
  • call_source dialplan(拨号方案里面设置的)
  • source_name 主叫分机号(拨号方案里面设置的)
  • dial_number 被叫分机号(拨号方案里面设置的)

    分机呼出

    被叫方

  • account 如果外呼使用的实际线路是网关,就是网关名,如果不是网关对接的是通线路组外呼的,就是线路名。
  • 其他参数和分机互打的被叫方一样。

    自动外呼

    注意:自动外呼的通话记录主叫被叫记录接通和未接通是不一样的。下面描述这些差异。
  • destination_number 未接通的通话是被叫号码,接通的通话是外呼任务配置的路由条件。
  • caller_id_number 未接通的通话是主叫号码,接通的通话是被叫号码(就是自动外呼拨打的号码)
  • callee_id_number 未接通的通话是被叫号码,接通的通话是主叫号码(就是自动外呼设置的主叫号码),如果转接给了分机或者其他手机,这个值就变成了转接的被叫号码。
  • call_source queuedialer
  • source_name 外呼队列名字
  • dial_number 被叫号码
  • cti_line_group_name 外呼使用的线路组

排队呼叫分机

  • call_source acd
  • source_name 排队名字
  • source_number 原始主叫号码
  • dial_number 分机线路名字
  • cti_line_group_name 分机所属线路组

配置说明,在cti.json中添加cdr配置,cdr.json文件路径在cdr.conf.xml中配置,默认时fs的conf目录。

 
"cdr": {"details": true,"fields": [ "rtp_last_audio_codec_string","number:billsec", "number:duration","record_filename","jsipid:sip_h_X-jssipid" ],"redis": {"channel": "cdr","list": "cdr"},"database": {"dbtype": "mysql","connectionstring": "","username": "","password": "","table": "cdr","real": false},"log":false
}
  • details 是否记录所有的CDR信息。JSON格式。
  • fields 要记录那些通道变量,number:开始的表示使用数字格式。可以自定义需要记录的通道变量,数据库中也要添加同名字段,如果变量名和数据库字段名字不一样,可以”字段名:变量名”这样,也可以组合2个通道变量记录到一个字段”字段名:${通道变量1}${通道变量2}”。
  • redis 配置CDR记录到redis的信息,如果不需要记录到redis,就不要配置这个。
  • database.dbtype 数据库类型 比如mysql ,sqlserver
  • connectionstring 连接串。mysql例子:127..0.0.1,3306@dbname sqlserevr例子:tcp:127.0.0.1,1433@dbname
  • username 用户名
  • password
  • table 表名
  • real 是否启用CDR实时模式,实时模式创建通道的时候插入记录,通话状态变化更新记录,非实时模式通话挂断才记录到CDR

自定义字段

例子记录外呼队列的自定义变量到CDR

  • 外呼队列添加自定义变量

  • mysql添加一个 queue_name的字段
  • cdr.json的 “fields”: [ “rtp_last_audio_codec_string”,”number:billsec”, “number:duration”,”record_filename” ,”queue_name”] 添加queue_name这个自定义变量名。
  • 线路也可以同样的方式添加自定义变量到CDR。

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
呼伦贝尔大草原在哪 呼伦贝尔天... 世界四大草原分别是:呼伦贝尔草原、那拉提草原、潘帕斯草原、锡林郭勒草原。其中内蒙古的呼伦贝尔大草原,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
重阳节是几月几日 24个传统节... 农历 节日1. 正月初一春节2. 二月初二祭社神:二月二既是龙抬头节也是土地公 诞辰,“土地 诞”也...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...