[asterisk-commits] file: branch file/rtp_engine r131169 - /team/file/rtp_engine/main/rtp_engine.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jul 15 19:59:44 CDT 2008
Author: file
Date: Tue Jul 15 19:59:44 2008
New Revision: 131169
URL: http://svn.digium.com/view/asterisk?view=rev&rev=131169
Log:
Create manager events when an RTP instance is destroyed with some statistics.
Modified:
team/file/rtp_engine/main/rtp_engine.c
Modified: team/file/rtp_engine/main/rtp_engine.c
URL: http://svn.digium.com/view/asterisk/team/file/rtp_engine/main/rtp_engine.c?view=diff&rev=131169&r1=131168&r2=131169
==============================================================================
--- team/file/rtp_engine/main/rtp_engine.c (original)
+++ team/file/rtp_engine/main/rtp_engine.c Tue Jul 15 19:59:44 2008
@@ -33,6 +33,7 @@
#include "asterisk/frame.h"
#include "asterisk/module.h"
#include "asterisk/rtp_engine.h"
+#include "asterisk/manager.h"
/* List of RTP engines that are currently registered */
static AST_RWLIST_HEAD_STATIC(engines, ast_rtp_engine);
@@ -295,6 +296,30 @@
int ast_rtp_instance_destroy(struct ast_rtp_instance *instance)
{
+ struct ast_rtp_instance_stats stats;
+
+ /* Before we destroy grab some statistics so we can create some manager events */
+ if (!ast_rtp_instance_get_stats(instance, &stats, AST_RTP_INSTANCE_STAT_ALL)) {
+ manager_event(EVENT_FLAG_REPORTING, "RTPReceiverStat", "SSRC: %u\r\n"
+ "ReceivedPackets: %u\r\n"
+ "LostPackets: %u\r\n"
+ "Jitter: %u\r\n",
+ stats.remote_ssrc,
+ stats.rxcount,
+ stats.rxploss,
+ stats.rxjitter);
+ manager_event(EVENT_FLAG_REPORTING, "RTPSenderStat", "SSRC: %u\r\n"
+ "SentPackets: %u\r\n"
+ "LostPackets: %u\r\n"
+ "Jitter: %u\r\n"
+ "RTT: %u\r\n",
+ stats.local_ssrc,
+ stats.txcount,
+ stats.txploss,
+ stats.txjitter,
+ stats.rtt);
+ }
+
/* Pass us off to the engine to destroy */
if (instance->engine->destroy(instance)) {
ast_debug(1, "Engine '%s' failed to destroy RTP instance '%p'\n", instance->engine->name, instance);
More information about the asterisk-commits
mailing list