aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2009-09-03 12:24:30 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2009-09-03 12:24:30 +0000
commit30eadb22c545c81ac35fad2e829de4a7ae5d1bb4 (patch)
treeab12987389da0985a7e4e3f008083df71cf95b3f
parente3fb7a938c001eeb2a1f3c5b9756c3a2a58fae73 (diff)
Fix bad reports in "sip show channelstats".
Not directly mergeable in svn trunk, needs more tests, therefore committed directly to 1.6.2. (closes issue #15819) Reported by: klaus3000 Patches: asterisk-1.6.2-beta4-sipshowchannelstats-patch-0.2.txt uploaded by klaus3000 (license 65) Tested by: klaus3000, oej git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@215887 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c4
-rw-r--r--main/rtp.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 3236f9da2..c5d08d4ad 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -15366,12 +15366,12 @@ static int show_chanstats_cb(void *__cur, void *__arg, int flags)
rxcount > (unsigned int) 100000 ? (unsigned int) (rxcount)/(unsigned int) 1000 : rxcount,
rxcount > (unsigned int) 100000 ? "K":" ",
ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXPLOSS),
- rxcount > ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXPLOSS) ? (unsigned int) (ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXPLOSS) / rxcount * 100) : 0,
+ rxcount > ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXPLOSS) ? (unsigned int) ((double) ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXPLOSS) / (ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXPLOSS) + rxcount) * 100) : 0,
ast_rtp_get_qosvalue(cur->rtp, AST_RTP_RXJITTER),
txcount > (unsigned int) 100000 ? (unsigned int) (txcount)/(unsigned int) 1000 : txcount,
txcount > (unsigned int) 100000 ? "K":" ",
ast_rtp_get_qosvalue(cur->rtp, AST_RTP_TXPLOSS),
- txcount > ast_rtp_get_qosvalue(cur->rtp, AST_RTP_TXPLOSS) ? (unsigned int) (ast_rtp_get_qosvalue(cur->rtp, AST_RTP_TXPLOSS)/ txcount * 100) : 0,
+ txcount > ast_rtp_get_qosvalue(cur->rtp, AST_RTP_TXPLOSS) ? (unsigned int) ((double) ast_rtp_get_qosvalue(cur->rtp, AST_RTP_TXPLOSS)/ txcount * 100) : 0,
ast_rtp_get_qosvalue(cur->rtp, AST_RTP_TXJITTER)
);
arg->numchans++;
diff --git a/main/rtp.c b/main/rtp.c
index 1ae21bab5..2acdb718c 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -2768,7 +2768,7 @@ unsigned int ast_rtp_get_qosvalue(struct ast_rtp *rtp, enum ast_rtp_qos_vars val
case AST_RTP_RXCOUNT:
return (unsigned int) rtp->rxcount;
case AST_RTP_TXJITTER:
- return (unsigned int) (rtp->rxjitter * 100.0);
+ return (unsigned int) (rtp->rxjitter * 1000.0);
case AST_RTP_RXJITTER:
return (unsigned int) (rtp->rtcp ? (rtp->rtcp->reported_jitter / (unsigned int) 65536.0) : 0);
case AST_RTP_RXPLOSS: