FreeSWITCH外呼系统通话记录(CDR)接口

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 通话记录(CDR) 支持把FreeSWITCH的通话记录写入mysql,sqlserver,oracle等数据库,也可以写入redis的list,或者PUBLISH到redis的channel,方便业务程序实时获取通话记录。

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

配置说明,在cti.json中添加cdr配置weixin@3307623172,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” }, “log”:false }

details 是否记录所有的CDR信息。JSON格式。 fields 要记录那些通道变量,number:开始的表示使用数字格式。可以自定义需要记录的通道变量,数据库中也要添加同名字段,如果变量名和数据库字段名字不一样,可以”字段名:变量名”这样。 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 表名 自定义字段 例子记录外呼队列的自定义变量到CDR

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


queue_myval_demo

mysql添加一个 queue_name的字段 cdr.json的 “fields”: [ “rtp_last_audio_codec_string”,”number:billsec”, “number:duration”,”record_filename” ,”queue_name”] 添加queue_name这个自定义变量名。 线路也可以同样的方式添加自定义变量到CDR。 sip.js传递参数到CDR sip.js UA的invite方法的附加参数 extraHeaders参数,接收一个Array(String),我们需要传递到后台的参数需要放到此参数中. 格式是固定的,必须以X-为前缀,示例:X-MY-ID: id sip.js部分代码

session = ua.invite(number, { sessionDescriptionHandlerOptions: { constraints: { audio: true, video: false } }, extraHeaders: [ ‘X-MY-ID: ID’, ‘X-MY-VAR: var’ ] }); 数据库CDR表添加一个varchar的myid字段


cti.json里面cdr的配置”fields”: [ “rtp_last_audio_codec_string”,”number:billsec”, “number:duration”,”record_filename” ,”myid:sip_h_X-MY-ID”] 默认字段 uuid 通话的UUID channel 通道 account sip分机账户或者网关名字或者fromuser direction 方向 inbound outbound destination_number 拨打的号码 caller_id_number 主叫 callee_id_number 被叫(单腿呼叫为空) sip_term_status 终止sip代码(主动挂断为空) sip_hangup_disposition 挂断说明 recv_bye:对方发起挂断 send_bye:本地发起挂断 recv_refuse:对方拒接 send_refuse:本地取消呼叫 network_addr 对方网络地址 created_time 发起呼叫时间 answered_time 接通时间 hungup_time 挂断时间 hangup_cause 挂断原因,见下表,含义参考:


freeswitch.org/confluence/…

常见的几个

RECOVERY_ON_TIMER_EXPIRE 呼叫超时 NO_USER_RESPONSE 响应超时 USER_BUSY 线路忙 UNALLOCATED_NUMBER 未分配的号码,比如(VOS)路由配置错误 CALL_REJECTED 呼叫拒绝,路由配置错误或者设备配置错误 USER_NOT_REGISTERED 没有注册


全部说明:


NONE UNALLOCATED_NUMBER NO_ROUTE_TRANSIT_NET NO_ROUTE_DESTINATION CHANNEL_UNACCEPTABLE CALL_AWARDED_DELIVERED NORMAL_CLEARING USER_BUSY NO_USER_RESPONSE NO_ANSWER SUBSCRIBER_ABSENT CALL_REJECTED NUMBER_CHANGED REDIRECTION_TO_NEW_DESTINATION EXCHANGE_ROUTING_ERROR DESTINATION_OUT_OF_ORDER INVALID_NUMBER_FORMAT FACILITY_REJECTED RESPONSE_TO_STATUS_ENQUIRY NORMAL_UNSPECIFIED NORMAL_CIRCUIT_CONGESTION NETWORK_OUT_OF_ORDER NORMAL_TEMPORARY_FAILURE SWITCH_CONGESTION ACCESS_INFO_DISCARDED REQUESTED_CHAN_UNAVAIL PRE_EMPTED FACILITY_NOT_SUBSCRIBED OUTGOING_CALL_BARRED INCOMING_CALL_BARRED BEARERCAPABILITY_NOTAUTH BEARERCAPABILITY_NOTAVAIL SERVICE_UNAVAILABLE BEARERCAPABILITY_NOTIMPL CHAN_NOT_IMPLEMENTED FACILITY_NOT_IMPLEMENTED SERVICE_NOT_IMPLEMENTED INVALID_CALL_REFERENCE INCOMPATIBLE_DESTINATION INVALID_MSG_UNSPECIFIED MANDATORY_IE_MISSING MESSAGE_TYPE_NONEXIST WRONG_MESSAGE IE_NONEXIST INVALID_IE_CONTENTS WRONG_CALL_STATE RECOVERY_ON_TIMER_EXPIRE MANDATORY_IE_LENGTH_ERROR PROTOCOL_ERROR INTERWORKING SUCCESS ORIGINATOR_CANCEL CRASH SYSTEM_SHUTDOWN LOSE_RACE MANAGER_REQUEST BLIND_TRANSFER ATTENDED_TRANSFER ALLOTTED_TIMEOUT USER_CHALLENGE MEDIA_TIMEOUT PICKED_OFF" USER_NOT_REGISTERED PROGRESS_TIMEOUT INVALID_GATEWAY GATEWAY_DOWN INVALID_URL INVALID_PROFILE NO_PICKUP SRTP_READ_ERROR BOWOUT BUSY_EVERYWHERE DECLINE DOES_NOT_EXIST_ANYWHERE NOT_ACCEPTABLE UNWANTED 建表SQL例子 CREATE TABLE cdr ( uuid VARCHAR(50) , channel VARCHAR(100) , account VARCHAR(50) , direction VARCHAR(50) , destination_number VARCHAR(50), caller_id_number VARCHAR(50) , callee_id_number VARCHAR(50) , direction VARCHAR(50) , sip_term_status VARCHAR(50) , hangup_cause VARCHAR(100) , sip_hangup_disposition VARCHAR(50) , network_addr VARCHAR(50) , created_time DATETIME , answered_time DATETIME , hungup_time DATETIME , billsec INT , duration INT , rtp_last_audio_codec_string VARCHAR(50) , record_filename VARCHAR(256) , details TEXT )

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
存储 JSON NoSQL
FreeSWITCH呼叫中心中间件-通话质检接口
原理:通过ASR接口(依赖cti_asr接口),识别出实时识别说话内容,然后和关键词匹配执行挂机等动作。支持群集,配置和记录都存储到REDIS。
|
11月前
|
安全 搜索推荐 BI
eyebeam电话呼叫软件使用及配置方法
eyebeam电话呼叫软件使用及配置方法
|
机器学习/深度学习 中间件 Linux
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口 接口说明
211 1
|
存储 JSON NoSQL
怎样设置呼叫系统的通话质检接口
实时质检 原理:通过ASR接口(依赖cti_asr接口),识别出实时识别说话内容,然后和关键词匹配执行挂机等动作。支持群集,配置和记录都存储到REDIS。 使用实例 <action application="export" data="nolocal:execute_on_answer_qc=cti_qc_session:bleg_group|common_group"/> <action application="set" data="execute_on_answer_qc=cti_qc_session:aleg_group|common_group"/> <action applicat
|
编解码 机器人
VOS3000——AXB模块小号系统产品说明介绍
其工作原理如下:拨打方式是A号(销售号码)拨打到X号(中间号码),然后由X号(中间号)把A号的号码转接到B号(客户号码)上边,这样算下来,拨打记录里边就没有直接拨打客户手机,从而规避风险,客户接到的还是A号。
|
存储 中间件 数据库
VOS外呼系统是什么
字面意思即为虚拟操作系统,就是运行在网页上的在线操作系统。(简单点说,就是云操作系统+云存储) 操作系统,又称云计算中心操作系统、云OS,是云计算后台数据中心的整体管理运营系统(也有人认为云计算系统包括云终端操作系统,例如现在流行的各类手机操作系统,这与先行的单机操作系统区别不大,在此不做讨论),它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。云操作系统是一个新的软件类别,旨在将大型基础架构集合(CPU、存储、网络)作为一个无缝、灵活和动态的操作环境进行全面管理。与普通操作系统管理单独计算机的复杂性类似,
|
数据安全/隐私保护
VOS3000 怎样实现通话信令跟踪vos权限设置
VOS3000 怎样实现通话信令跟踪vos权限设置
FreeSwitch下配置DID的方法以及呼叫多个用户
FreeSwitch下配置DID的方法以及呼叫多个用户
|
Java 数据库连接 数据库
FreeSwitch实现简单呼叫中心功能
FreeSwitch实现简单呼叫中心功能