• FreeSWITCH rtp 统计


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

    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)

  • 相关阅读:
    list【2】模拟实现(含迭代器实现超详解哦)
    [C++_containers]10分钟让你掌握vector
    某市住房公积金管理中心领导莅临创邻科技考察指导
    NK-RTU980 CAP
    异步复位同步释放在实际项目中的应用
    Win11一键重装系统后如何使用自带的故障检测修复功能
    Design patterns--观察者模式
    电压放大器的应用范围有哪些
    Webpack 解决:ReferenceError: dist is not defined 的问题
    阿里云网络、数据中心和服务器技术创新优势说明
  • 原文地址:https://blog.csdn.net/qq_56167818/article/details/138115804