diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 31eaaaba915ef4b6a5d7f209b3f30043a2e0b0b9..d7b6c180b6960af241b41839979fb784de3b485c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -15977,7 +15977,7 @@ static char *sip_unregister(struct ast_cli_entry *e, int cmd, struct ast_cli_arg static int show_chanstats_cb(void *__cur, void *__arg, int flags) { #define FORMAT2 "%-15.15s %-11.11s %-8.8s %-10.10s %-10.10s ( %%) %-6.6s %-10.10s %-10.10s ( %%) %-6.6s\n" -#define FORMAT "%-15.15s %-11.11s %-8.8s %-10.10u%-1.1s %-10.10u (%5.2f%%) %-6.6u %-10.10u%-1.1s %-10.10u (%5.2f%%) %-6.6u\n" +#define FORMAT "%-15.15s %-11.11s %-8.8s %-10.10u%-1.1s %-10.10u (%5.2f%%) %-6.4lf %-10.10u%-1.1s %-10.10u (%5.2f%%) %-6.4lf\n" struct sip_pvt *cur = __cur; struct ast_rtp_instance_stats stats; char durbuf[10]; diff --git a/channels/sip/dialplan_functions.c b/channels/sip/dialplan_functions.c index bbc846fe9275c3fa173bc12c6b414aac3a651122..23e70c1e8f084da42c2c1362a1a344a117c61a20 100644 --- a/channels/sip/dialplan_functions.c +++ b/channels/sip/dialplan_functions.c @@ -167,8 +167,8 @@ int sip_acf_channel_read(struct ast_channel *chan, const char *funcname, char *p } lookup[] = { { "txcount", INT, { .i4 = &stats.txcount, }, }, { "rxcount", INT, { .i4 = &stats.rxcount, }, }, - { "txjitter", INT, { .i4 = &stats.txjitter, }, }, - { "rxjitter", INT, { .i4 = &stats.rxjitter, }, }, + { "txjitter", DBL, { .d8 = &stats.txjitter, }, }, + { "rxjitter", DBL, { .d8 = &stats.rxjitter, }, }, { "remote_maxjitter", DBL, { .d8 = &stats.remote_maxjitter, }, }, { "remote_minjitter", DBL, { .d8 = &stats.remote_minjitter, }, }, { "remote_normdevjitter", DBL, { .d8 = &stats.remote_normdevjitter, }, }, @@ -187,7 +187,7 @@ int sip_acf_channel_read(struct ast_channel *chan, const char *funcname, char *p { "local_minrxploss", DBL, { .d8 = &stats.local_minrxploss, }, }, { "local_normdevrxploss", DBL, { .d8 = &stats.local_normdevrxploss, }, }, { "local_stdevrxploss", DBL, { .d8 = &stats.local_stdevrxploss, }, }, - { "rtt", INT, { .i4 = &stats.rtt, }, }, + { "rtt", DBL, { .d8 = &stats.rtt, }, }, { "maxrtt", DBL, { .d8 = &stats.maxrtt, }, }, { "minrtt", DBL, { .d8 = &stats.minrtt, }, }, { "normdevrtt", DBL, { .d8 = &stats.normdevrtt, }, }, diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h index e7b809d4ca239896efb8f3875779eaaa9991d098..c7b4339723f6eeb754bdd4c0c04dac12c24cace1 100644 --- a/include/asterisk/rtp_engine.h +++ b/include/asterisk/rtp_engine.h @@ -235,9 +235,9 @@ struct ast_rtp_instance_stats { /*! Number of packets received */ unsigned int rxcount; /*! Jitter on transmitted packets */ - unsigned int txjitter; + double txjitter; /*! Jitter on received packets */ - unsigned int rxjitter; + double rxjitter; /*! Maximum jitter on remote side */ double remote_maxjitter; /*! Minimum jitter on remote side */ @@ -275,7 +275,7 @@ struct ast_rtp_instance_stats { /*! Standard deviation packets lost on local side */ double local_stdevrxploss; /*! Total round trip time */ - unsigned int rtt; + double rtt; /*! Maximum round trip time */ double maxrtt; /*! Minimum round trip time */ diff --git a/main/rtp_engine.c b/main/rtp_engine.c index 0027b04eef639bf91f283ff6e6aad603df5fb5fe..26881be804229bd5d13a721e8b022b7768333007 100644 --- a/main/rtp_engine.c +++ b/main/rtp_engine.c @@ -1518,7 +1518,7 @@ char *ast_rtp_instance_get_quality(struct ast_rtp_instance *instance, enum ast_r /* Now actually fill the buffer with the good information */ if (field == AST_RTP_INSTANCE_STAT_FIELD_QUALITY) { - snprintf(buf, size, "ssrc=%i;themssrc=%u;lp=%u;rxjitter=%u;rxcount=%u;txjitter=%u;txcount=%u;rlp=%u;rtt=%u", + snprintf(buf, size, "ssrc=%i;themssrc=%u;lp=%u;rxjitter=%f;rxcount=%u;txjitter=%f;txcount=%u;rlp=%u;rtt=%f", stats.local_ssrc, stats.remote_ssrc, stats.rxploss, stats.txjitter, stats.rxcount, stats.rxjitter, stats.txcount, stats.txploss, stats.rtt); } else if (field == AST_RTP_INSTANCE_STAT_FIELD_QUALITY_JITTER) { snprintf(buf, size, "minrxjitter=%f;maxrxjitter=%f;avgrxjitter=%f;stdevrxjitter=%f;reported_minjitter=%f;reported_maxjitter=%f;reported_avgjitter=%f;reported_stdevjitter=%f;",