• 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)

  • 相关阅读:
    纯干货解答 | ERP是什么?有什么作用呢?
    MongoDB的使用
    【java学习—八】单例设计模式(5)
    Linux友人帐之网络编程基础邮件服务器与DHCP服务器
    ES6箭头函数
    Redis五种基本数据结构
    由世界第一个AI软件工程师Devin引发的热潮背后----程序员到底会不会被代替?AI发展至如今是否初衷已变?
    Docker原理
    E. Yet Another Array Counting Problem
    装饰模式(Decorator)
  • 原文地址:https://blog.csdn.net/qq_56167818/article/details/138115804