FreeSWITCH rtp 统计

embedded/2024/9/23 14:31:20/

现在能想到的是几个办法:

1. cdr

增加下面元素:

rtp_audio_in_raw_bytes
rtp_audio_in_media_bytes
rtp_audio_in_packet_count
rtp_audio_in_media_packet_count
rtp_audio_in_skip_packet_count
rtp_audio_in_jb_packet_count
rtp_audio_in_dtmf_packet_count
rtp_audio_in_cng_packet_count
rtp_audio_in_flush_packet_count
rtp_audio_in_largest_jb_size
rtp_audio_out_raw_bytes
rtp_audio_out_media_bytes
rtp_audio_out_packet_count
rtp_audio_out_media_packet_count
rtp_audio_out_skip_packet_count
rtp_audio_out_dtmf_packet_count
rtp_audio_out_cng_packet_count

2. json api

下面是一个例子:

fs_cli -x 'json {"command":"channelData", "data": {"uuid": "9374d6c4-e242-4842-abd8-918515cc97aa"}}'

得到的结果如下(这里仅显示部分):

"callStats": {
            "audio": {
                "inbound": {
                    "raw_bytes": 1059348,
                    "media_bytes": 1059348,
                    "packet_count": 6159,
                    "media_packet_count": 6159,
                    "skip_packet_count": 7,
                    "jitter_packet_count": 0,
                    "dtmf_packet_count": 0,
                    "cng_packet_count": 0,
                    "flush_packet_count": 0,
                    "largest_jb_size": 0,
                    "jitter_min_variance": 0.464572680788897,
                    "jitter_max_variance": 180.5,
                    "jitter_loss_rate": 0,
                    "jitter_burst_rate": 0,
                    "mean_interval": 20.003252032520326,
                    "flaw_total": 0,
                    "quality_percentage": 100,
                    "mos": 4.5
                },
                "outbound": {
                    "raw_bytes": 1059176,
                    "media_bytes": 1059176,
                    "packet_count": 6158,
                    "media_packet_count": 6158,
                    "skip_packet_count": 0,
                    "dtmf_packet_count": 0,
                    "cng_packet_count": 0,
                    "rtcp_packet_count": 0,
                    "rtcp_octet_count": 0
                }
            }

mod_commands.c 里面有个函数可供参考:

void jsonify_stats(cJSON *json, const char *name, switch_rtp_stats_t *stats)


http://www.ppmy.cn/embedded/13680.html

相关文章

初学python记录:力扣39. 组合总和

题目: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…

问题:react函数中的state是上一次的值

场景 有一个聊天输入框组件,输入框上面有表情包组件。 通过redux创建了store,存储一个message的状态,用于表情包和输入框共享状态。 输入框通过设置value和onClick做了一个简单双向绑定,其中value的值为store里的message。 impor…

Linux配置路由服务器

# 中转服务器添加路由规则 route add -net 0.0.0.0/0 gw 192.168.61.2 #0.0.0.0/0表示所有网段所有ip地址,192.168.61.2是nat网卡的ip如果想让其他主机上网,需要在2主机配置NAT规则,将其他主机的网关ip指向02主机 02主机设置NAT转换 iptable…

Oracle解析exp、imp及常见的问题

前言 在工作中经常需要不同数据库的导入和导出。exp和imp可以实现数据的迁移。 exo会转储产生对应的二进制文件,里面包括数据的定义信息、数据内容等,即为dump文件。 下面是使用exp和imp的一些场景 exp和imp主要有4中模式: 1)数据库模式 数据库模式也就是我们说的全备…

docker系列7:docker安装ES

目录 传送门 Docker安装ES 确定版本 拉取镜像 执行拉取ES镜像 查看ES镜像 运行ES 创建一个新的docker网络 启动一个Elasticsearch容器 查看运行结果 ES启动内存不足 访问ES 公网访问 传送门 docker系列1:docker安装 docker系列2:阿里云镜…

windows linux 安装 ngrok穿透 很简单

首先 内网穿透工具下载地址 https://dashboard.ngrok.com/ 注册个账号,不想注册账号的 去这里下载 里面的命令不好用 用我下面命令就行 链接:https://pan.baidu.com/s/1ZmcTwT1Z_yZDh6hmyFjyCA?pwdwx3p 提取码:wx3p --来自百度网盘超级…

计算机网络——DNS协议

目录 前言 前篇 引言 IP地址与域名 DNS协议的工作流程 DNS服务器节点之间是如何维护上下级关系的 前言 本博客是博主用于复习计算机网络的博客,如果疏忽出现错误,还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结,讲的非…

Axios

文章目录 AxiosAxios特性安装使用方法Axios 实例拦截器取消请求响应结构错误处理在Vue中封装Axios Axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 文档:https://axios.nodejs.cn/ Axios特性 从浏览器中创建 XMLHttpReques…