diff -r -u asterisk-1.6.2.0-beta4/channels/chan_sip.c asterisk-1.6.2.0-beta4-stats/channels/chan_sip.c --- asterisk-1.6.2.0-beta4/channels/chan_sip.c 2009-07-24 20:32:50.000000000 +0200 +++ asterisk-1.6.2.0-beta4-stats/channels/chan_sip.c 2009-09-02 19:16:14.000000000 +0200 @@ -15235,12 +15235,12 @@ 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 -r -u asterisk-1.6.2.0-beta4/main/rtp.c asterisk-1.6.2.0-beta4-stats/main/rtp.c --- asterisk-1.6.2.0-beta4/main/rtp.c 2009-07-27 22:58:20.000000000 +0200 +++ asterisk-1.6.2.0-beta4-stats/main/rtp.c 2009-09-02 17:33:42.000000000 +0200 @@ -2768,7 +2768,7 @@ 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: