当前位置: 首页 > news >正文

FreeSWITCH配置文件解析(6) mod_format_cdr 话单中字段解析

   FreeSWITCH mod_format_cdr 支持将 CDR 数据以 JSON 或 XML 格式发送到 HTTP 服务端点。话单中字段的详细解释

一、核心时间字段解析​
  1. ​​created_time: 通话创建时间​​  表示通话通道初始化的绝对时间戳(如1752736354066514),即FreeSWITCH收到或发起呼叫的时刻

  2. ​​profile_created_time: SIP Profile生效时间​​   记录SIP Profile(如internalexternal)加载完成的时刻,通常与created_time接近,反映底层协议栈准备就绪的时间

  3. progress_media_time: 媒体通道建立时间​​    指示媒体流(RTP)开始传输的时间戳(如1752736354086524),比created_time稍晚,代表媒体协商完成

  4. ​​hangup_time: 通话结束时间​​    通话终止的绝对时间戳(如1752736359326513),无论正常挂机或异常中断均会记录

二、若以下字段值为0(如示例中所示),表示​​未触发对应事件​​: 

​字段​

​含义​

​触发条件​

progress_time

SIP协议层100 Trying183 Session Progress响应到达的时间

仅在有早期媒体时记录

answered_time

被叫应答时刻(接通时间)

被叫摘机后更新

bridged_time

双路通话桥接完成时间

主被叫媒体互通时记录

last_hold_time

最后一次开启保持的时间

通话被保持时更新

hold_accum_time

累计保持时长(所有保持片段的总和)

需通话中存在保持操作

resurrect_time

通话从保持状态恢复的时间

从保持中恢复时记录

transfer_time

通话被转移(Attended Transfer)的时间

发生转接时更新

 三、其他字段解析

  • uuid:唯一标识一次通话会话的 UUID(Universally Unique Identifier)。每个呼叫都会生成一个唯一的 ID,用于跟踪整个会话生命周期。

  • call-direction:表示通话的方向,可以是“inbound”(呼入)或“outbound”(呼出)。

  • caller-id-namecaller-id-number:分别表示主叫方的名称和号码。这两个字段通常用于识别来电者身份。

  • callee-id-namecallee-id-number:表示被叫方的名称和号码,适用于接听电话时的信息展示。

  • destination-number:呼叫的目标号码,即用户拨号时输入的号码。

  • context:通话所处的上下文环境,通常是 FreeSWITCH 中的 dialplan 配置项之一,决定了呼叫如何被路由和处理。

  • start-timeanswer-timeend-time:分别表示通话开始时间、接通时间和结束时间,通常以 Unix 时间戳形式呈现。

  • duration:通话总持续时间,单位为秒。

  • billsec:实际计费时长,通常从通话接通后开始计算,单位为秒。

  • hangup-caused-by:表示通话挂断的原因,例如“NORMAL_CLEARING”表示正常挂断,“USER_BUSY”表示用户忙等。

  • sip-hangup-disposition:SIP 协议中描述挂断原因的具体值,可用于更精确地分析通话终止情况。

  • account-code:账户代码,用于区分不同的客户或业务线,便于后续的账单统计和分析。

  • domain-name:所属域名称,通常用于多租户场景下区分不同客户的数据隔离。

  • rtp-iprtp-port:表示 RTP 媒体流使用的 IP 地址和端口号,用于网络路径追踪。

  • rtp-nat-iprtp-nat-port:NAT 转换后的 RTP 地址和端口信息,适用于穿越 NAT 的场景。

  • sip-user-agent:SIP 用户代理字符串,标识发起或接收 SIP 请求的客户端软件版本。

http://www.lryc.cn/news/591061.html

相关文章:

  • 浅谈自动化设计最常用的三款软件catia,eplan,autocad
  • 云服务器如何设置防火墙和安全组规则?
  • Linux内核网络栈深度剖析:inet_connection_sock.c的服务器端套接字管理
  • 【算法训练营Day13】二叉树part3
  • 华为P30/pro (ELE-AL00) 鸿蒙4.2降级 EMUI 9
  • 服务器数据恢复—raid5磁盘阵列崩溃如何恢复数据?
  • 集群聊天服务器各个类进行详解
  • Cookie 与 Session概述
  • 【神经网络在MATLAB中是如何实现的?】
  • 构建可扩展的测试体系,从设计、优化到持续维护
  • 2D视觉系统标定流程与关键要求
  • VSCODE调教
  • 《前端基础核心知识笔记:HTML、CSS、JavaScript 及 BOM/DOM》
  • yolov8-pos/yolov11-pos 训练
  • 6、docker network
  • UE5 lumen
  • Linux搭建LAMP环境(CentOS 7 与 Ubuntu 双系统教程)
  • FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
  • lua(xlua)基础知识点记录二
  • STM32上移植Lua解析器
  • Android15系统实现刷机防呆功能
  • 【JVM】深入理解 JVM 类加载器
  • MySQL如何解决事务并发的幻读问题
  • JVM 内存分配与垃圾回收策略
  • macOS 字体管理全攻略:如何查看已安装字体及常见字体格式区
  • 网络编程7.17
  • JAVA中的Collection集合及ArrayList,LinkedLIst,HashSet,TreeSet和其它实现类的常用方法
  • MyBatis延迟加载(Lazy Loading)之“关联查询”深度解析与实践
  • 【44】MFC入门到精通——MFC 通过Button按钮添加控件变量实现:按下 按钮变色 (比如开关 打开关闭状态) MFC更改button控颜色
  • 数据结构-2(链表)