呼叫中心中间件(mod_cti基于FreeSWITCH)-通话记录(CDR)接口

news2025/7/21 10:00:48

支持把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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/17108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3 - 全局指令(详细教程)

前言 咱们在真实项目开发中,其实有很多指令都是通用的。我们绝对不可能去每个页面都定义一次,这样不仅写起来困难,维护起来更是困难,你想一下,假设稍微变点逻辑,你就需要翻阅好几个文件去改。 其实用法和局…

家用吸尘器的总体结构设计

目 录 摘 要 i Abstract ii 1 引言 1 2 家用吸尘器的历史及发展 2 2.1 家用吸尘器的历史 2 2.2 业界的发展情况 3 3 家用吸尘器的分类 5 3.1 卧式(Canister) 5 3.2 立式(Upright) 5 3.3 手持式 (Handy) 6 3…

ON1 NoNoise AI 2023:AI智能摄影降噪工具

ON1 NoNoise AI 2023中文版是一款强大的AI智能摄影降噪工具!使用 AI 驱动的 NoNoise AI 快速去除噪点并获得照片中最清晰的细节。 更快地获得绝对最佳结果! ON1 NoNoise 比其他领先的图像去噪产品快十倍,结果会让您大吃一惊! 基于…

HI3516DV300 图像输入

HI3516DV300 图像输入 易百纳的一个开发板,以及GC2053的摄像头。 硬件 海思 海思sensor接口如下,用的是差分信号,共4对数据线(或者说4条lane),两对差分时钟。 连接器 海思核心板和扩展板之间通过板件连…

小啊呜产品读书笔记001:《邱岳的产品手记-06》11讲 如何借鉴灵感 12讲 产品案例分析:LabRdr的设计实验

小啊呜产品读书笔记001:《邱岳的产品手记-06》11讲 如何借鉴灵感 & 12讲 产品案例分析:LabRdr的设计实验一、今日阅读计划二、泛读&知识摘录1、11讲 如何借鉴灵感?2、12讲 产品案例分析:LabRdr的设计实验三、头脑风暴叮嘟…

【计算机毕业设计】外卖点餐源码

一、系统截图(需要演示视频可以私聊) 摘 要 民以食为天,外卖点餐系统餐饮业一直是与人们日常生活息息相关的产业。传统的电话外卖点餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳…

电话机器人详解,电销机器人获客的正确姿势是什么?

电话机器人详解,电销机器人获客的正确姿势是什么? 相信很多没接触过电话机器人的人都会好奇。 首先是预设Q&A问答主流程 通过关键词辅助指导,终端在与客户互动时,会智能地获取相应的关键词库,逐一回答客户的问题…

ISACA证书维持| 内附QA

Q如何维持证书 A证书的维持主要由两部分组成,即维持费以及CPE(继续职业教育)学时。ISACA会在每个日历年的第三季度以电子邮件及印刷版的方式向所有持证人员发送次年费用清单通知。年度维护费支付可在 https://www.isaca.org/renewals 上在线…

完全背包问题的解决方法______闫氏 DP 分析法

完全背包问题的解决方法: 闫氏 DP\ DPDP 分析法: 通过集合划分,我们可以得到第 i\ ii 个物品有两种状态:  1.选 1−T\ 1 - T1−T 个,最优解为前 i−1\ i− 1i−1 个物品的所有选择中,还能选取当前 k\ kk 个第i\ ii 个…

模式识别与机器学习 第一章:绪论

一、基础概念 样本: 所研究对象的单个个体、实例。样本集: 若干样本的集合。类或类别: 在所有样本上定义的一个子集,处于同一类的样本具有相似的性质,即具有相同的模式。特征: 用于表征样本的观测,也称属性。通常是数值表示的某些量化特征&a…

基于帧间差分法的视频目标检测研究-含Matlab代码

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、帧间差分算法原理✳️ 三、视频目标检测系统✳️ 四、参考文献✳️ 五、Matlab代码获取✳️ 一、引言 随着科技的发展、社会的进步、人民生活水平的提高,团体和个人的安防意识都在不断增强,视频监控系统也就得到了…

深入浅出 C++ 11 右值引用

彻底搞清楚:右值引用/移动语义/拷贝省略/通用引用/完美转发 —— 以最短的篇幅,介绍常见误解(什么时候要用 move?什么时候不能 move?为什么 move 失败?)和基础知识(为什么右值引用变…

魔性洗脑神曲掀起模仿热潮,品牌为何热衷“打歌”?

【潮汐商业评论/ 原创】 抖音、快手、B站等社交媒介是品牌推广绕不开的阵地,围绕这些平台,一些品牌在“打歌”路上越走越远——通过几何级增长的播放量,使品牌定制曲迅速蹿红,成为“神曲”。这些定制曲仿佛自带魔力,不…

甘露糖-聚乙二醇-叠氮,mannose-PEG-N3,叠氮-PEG-甘露糖

甘露糖-聚乙二醇-叠氮,mannose-PEG-N3,叠氮-PEG-甘露糖 叠氮化合物是一类含有三个氮相连结构的化合物,一般用RN3表示。叠氮化合物是电子传递系统的抑制剂,能与细胞色素形成配位化合物,阻止细胞色素氧化酶氧化型a3组分…

【附源码】Python计算机毕业设计双笙映画

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

四则运算Java版

数据结构之栈的应用之四则运算_文丑颜不良啊的博客-CSDN博客 之前有写过一篇关于栈的应用之四则运算的文章,是用 C 写的,涉及到一些指针的操作,同时,那篇文章有一个致命的错误,就是只支持 10 以内的混合运算&#xff…

STM32微控制 -STM32命名规则-STM32寄存器缩写列表-STM32存储器和总线架构

STM32使用说明第一篇【1】STM32微控制器【2】STM32命名规则【3】STM32寄存器缩写列表【4】STM32存储器和总线架构【1】STM32微控制器 STM32是一个微控制器产品系列的总称,目前这个系列中已经包含了多个子系列,分别是: 【1】STM32小容量产品 【…

操作系统基础教程——第五章课后作业答案

1.思考题 (3)什么是文件的逻辑结构?它有哪几种组织方式? 文件的逻辑结构(逻辑文件):独立于物理环境的,用户概念中的抽象信息组织方式,用户能观察到的,并加以处理的数据…

[datawhale202211]跨模态神经搜索实践:跨模态模型

结论速递 本次任务首先了解了CLIP模型及其原理,CLIP模型将图像标签替换为图像的文本描述信息,来监督视觉任务的训练,引入了语义匹配实现下游任务的zero-shot。 多模态和跨模态可能是未来模型的发展方向,多模态尝试结合不同信息表…

数字集成电路设计(四、Verilog HDL数字逻辑设计方法)(三)

文章目录4. 有限同步状态机4.1 编码4.2 有限状态机的写法4.3 举例4.3.1 用Verilog HDL 设计顺序脉冲发生器4.3.2 设计-个自动售报机报纸价钱为八角,纸币有 1角、2 角5 角、一元。该自动售报机不考虑投币为大额面值等特殊情况4. 有限同步状态机 !&#xf…