[asterisk-commits] jsmith: trunk r255281 - in /trunk: CHANGES apps/app_confbridge.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Mar 29 09:07:50 CDT 2010


Author: jsmith
Date: Mon Mar 29 09:07:44 2010
New Revision: 255281

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=255281
Log:
This patch adds custom device state handling for ConfBridge conferences,
matching the devstate handling of the MeetMe conferences.

Review: https://reviewboard.asterisk.org/r/572/
Closes issue #16972


Modified:
    trunk/CHANGES
    trunk/apps/app_confbridge.c

Modified: trunk/CHANGES
URL: http://svnview.digium.com/svn/asterisk/trunk/CHANGES?view=diff&rev=255281&r1=255280&r2=255281
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Mon Mar 29 09:07:44 2010
@@ -141,6 +141,8 @@
    type features.
  * Added new application VMSayName that will play the recorded name of the voicemail
    user if it exists, otherwise will play the mailbox number.
+ * Added custom device states to ConfBridge bridges.  Use 'confbridge:<name>' to
+   retrieve state for a particular bridge, where <name> is the conference name
 
 Dialplan Functions
 ------------------

Modified: trunk/apps/app_confbridge.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_confbridge.c?view=diff&rev=255281&r1=255280&r2=255281
==============================================================================
--- trunk/apps/app_confbridge.c (original)
+++ trunk/apps/app_confbridge.c Mon Mar 29 09:07:44 2010
@@ -463,6 +463,11 @@
 		conference_bridge->markedusers++;
 	}
 
+	/* Set the device state for this conference */
+	if (conference_bridge->users == 1) {
+		ast_devstate_changed(AST_DEVICE_INUSE, "confbridge:%s", conference_bridge->name);
+	}
+
 	/* If the caller is a marked user or is waiting for a marked user to enter pass 'em off, otherwise pass them off to do regular joining stuff */
 	if (ast_test_flag(&conference_bridge_user->flags, OPTION_MARKEDUSER | OPTION_WAITMARKED)) {
 		post_join_marked(conference_bridge, conference_bridge_user);
@@ -533,6 +538,9 @@
 			}
 		}
 	} else {
+		/* Set device state to "not in use" */
+		ast_devstate_changed(AST_DEVICE_NOT_INUSE, "confbridge:%s", conference_bridge->name);
+
 		ao2_unlink(conference_bridges, conference_bridge);
 	}
 




More information about the asterisk-commits mailing list