aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-07 19:52:39 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-07 19:52:39 +0000
commit24c72d28ff84ec0ebbe263a1b0eb54732289214c (patch)
tree13b9dfd066c621c75c8f239e7b95cc8dd5719ac7
parentee2e0274f269c1c96c70fe0ed862d3cfb251ec58 (diff)
Seems strange (and the code backs up) that if the max and min of a statistic is expressed as a double, the last value would not also need to be a double.
(closes issue #15807) Reported by: klaus3000 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@268773 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c2
-rw-r--r--channels/sip/dialplan_functions.c6
-rw-r--r--include/asterisk/rtp_engine.h6
-rw-r--r--main/rtp_engine.c2
4 files changed, 8 insertions, 8 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 31eaaaba9..d7b6c180b 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 bbc846fe9..23e70c1e8 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 e7b809d4c..c7b433972 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 0027b04ee..26881be80 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;",