[svn-commits] oej: branch oej/pinequality-manager-qos-reports-1.4 r240764 - /team/oej/pineq...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jan 18 03:12:36 CST 2010


Author: oej
Date: Mon Jan 18 03:12:33 2010
New Revision: 240764

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=240764
Log:
Updates

Modified:
    team/oej/pinequality-manager-qos-reports-1.4/channels/chan_sip.c

Modified: team/oej/pinequality-manager-qos-reports-1.4/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinequality-manager-qos-reports-1.4/channels/chan_sip.c?view=diff&rev=240764&r1=240763&r2=240764
==============================================================================
--- team/oej/pinequality-manager-qos-reports-1.4/channels/chan_sip.c (original)
+++ team/oej/pinequality-manager-qos-reports-1.4/channels/chan_sip.c Mon Jan 18 03:12:33 2010
@@ -11083,27 +11083,27 @@
 #undef FORMAT
 
 /*! \brief Add manager headers for QoS to existing manager reply */
-static int manager_add_qos(struct mansession *s, char *mediatype, struct sip_pvt *dialog)
+static void manager_add_qos(struct mansession *s, char *mediatype, struct sip_pvt *dialog)
 {
 	char mybuf[SIPBUFSIZE];
 
-	get_rtp_qos(dialog, mediatype, "local_ssrc", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "local_ssrc", buf, SIPBUFSIZE );
 	astman_append(s, "LocalSSRC(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "remote_ssrc", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "remote_ssrc", buf, SIPBUFSIZE );
 	astman_append(s, "RemoteSSRC(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "local_jitter", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "local_jitter", buf, SIPBUFSIZE );
 	astman_append(s, "LocalJitter(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "local_count", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "local_count", buf, SIPBUFSIZE );
 	astman_append(s, "LocalPacketCount(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "remote_count", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "remote_count", buf, SIPBUFSIZE );
 	astman_append(s, "RemotePacketCount(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "local_lostpackets", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "local_lostpackets", buf, SIPBUFSIZE );
 	astman_append(s, "LocalLostPackets(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "remote_lostpackets", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "remote_lostpackets", buf, SIPBUFSIZE );
 	astman_append(s, "RemoteLostPackets(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "remote_jitter", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "remote_jitter", buf, SIPBUFSIZE );
 	astman_append(s, "RemoteJitter(%s): %s\r\n", mediatype, buf);
-	get_rtp_qos(dialog, mediatype, "rtt", buf, SIPBUFSIZE );
+	get_rtp_quality(dialog, mediatype, "rtt", buf, SIPBUFSIZE );
 	astman_append(s, "MediaRtt(%s): %s\r\n", mediatype, buf);
 }
 		
@@ -11111,11 +11111,11 @@
 "Description: Show one SIP channel with details on current status.\n"
 "Variables: \n"
 "  Channel: <name>        The channel name (AST) you want to check.\n"
-"  ActionID: <id>	  Optional action ID for this AMI transaction."
-"  Datatype: <name>	  Optional parameter name required. If not specified, all data will be sent"
-""
-"  Datatype 	Description"
-"	qos	Current QoS value for this channel (sender and receiver)"
+"  ActionID: <id>	  Optional action ID for this AMI transaction.\n"
+"  Datatype: <name>	  Optional parameter name required. If not specified, all data will be sent\n"
+"\n"
+"  Datatype 	Description\n"
+"	qos	Current QoS value for this channel (sender and receiver)\n"
 "\n";
 
 /*! \brief Show SIP channel data in the manager API  */
@@ -11124,7 +11124,6 @@
 	const char *channel;
 	const char *datatype;
 	const char *actionid;
-	int ret;
 	int all = FALSE;
 	struct ast_channel *chan = NULL;
 	struct sip_pvt *dialog;
@@ -11146,12 +11145,14 @@
 	/* Sanity check  - is this pvt a SIP channel? */
 	if (chan->tech != &sip_tech && chan->tech != &sip_tech_info) {
 		astman_send_error(s, m, "Cannot get SIPchannel-info on a non-SIP channel\n");
+		ast_channel_unlock(chan);
 		return 0;
 	}
 	/* Try to grab the channel pvt handle */
 	dialog = chan->tech_pvt;
 	if (!dialog) {
 		astman_send_error(s, m, "No active SIP channel\n");
+		ast_channel_unlock(chan);
 		return 0;
 	}
 	/* Ok, we have a channel with a SIP dialog attached,
@@ -11168,18 +11169,21 @@
 
 
 	if (all || !strcasecmp(datatype, "qos")) {
-		if (p->rtp) {
+		if (dialog->rtp) {
 			manager_add_qos(s, "audio", dialog);
 		}
-		if (p->vrtp) {
+		if (dialog->vrtp) {
 			manager_add_qos(s, "video", dialog);
 		}
 	} else if (!all) {
-		astman_send_error(s, m, "Unknown datatype: %s\n", datatype);
+		char errbuf[SIPBUFSIZE];
+		snprintf(errbuf, SIPBUFSIZE, "Unknown datatype: %s\n", datatype);
+		astman_send_error(s, m, errbuf);
+		ast_channel_unlock(chan);
 		return 0;
 	}
 	astman_append(s, "\r\n\r\n" );
-	ast_channel_unlock(c);
+	ast_channel_unlock(chan);
 	return(0);
 }
 
@@ -19639,7 +19643,7 @@
 			"List SIP peers (text format)", mandescr_show_peers);
 	ast_manager_register2("SIPshowpeer", EVENT_FLAG_SYSTEM, manager_sip_show_peer,
 			"Show SIP peer (text format)", mandescr_show_peer);
-	ast_manager_register2("SIPchannel", EVENT_FLAG_SYSTEM, manager_sip_channel,
+	ast_manager_register2("SIPchannel", EVENT_FLAG_CALL, manager_sip_channel,
 			"Show information about SIP channel", mandescr_sip_channel);
 
 	sip_poke_all_peers();	




More information about the svn-commits mailing list