From b0528e1b5b1805e1e7d569ef1d2603bac2193cfd Mon Sep 17 00:00:00 2001
From: Richard Alam <ritzalam@gmail.com>
Date: Fri, 8 May 2009 22:13:07 +0000
Subject: [PATCH] - fix issue where a participant is not removed from the voice
 conference room when he/she leaves

git-svn-id: http://bigbluebutton.googlecode.com/svn/trunk@1426 af16638f-c34d-0410-8cfa-b39d5352b314
---
 .../bigbluebutton/conference/service/voice/VoiceRoom.groovy  | 5 ++++-
 .../service/voice/asterisk/AsteriskVoiceServer.groovy        | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/VoiceRoom.groovy b/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/VoiceRoom.groovy
index c27c608219..d6f9be203f 100644
--- a/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/VoiceRoom.groovy
+++ b/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/VoiceRoom.groovy
@@ -64,7 +64,9 @@ public class VoiceRoom {
 	}
 	
 	def left(participant){
-		participants.remove(participant)
+		Map p = (HashMap) participants.remove(participant)
+		log.debug "User left $p"
+		
 		for (Iterator iter = listeners.values().iterator(); iter.hasNext();) {
 			log.debug("calling on listener")
 			IVoiceRoomListener listener = (IVoiceRoomListener) iter.next()
@@ -77,6 +79,7 @@ public class VoiceRoom {
 		log.debug("mute: $participant $mute")
 		Map p = (HashMap) participants.get(participant)
 		p.put('muted', mute)
+		log.debug "Muted participant $p"
 		
 		for (Iterator iter = listeners.values().iterator(); iter.hasNext();) {
 			log.debug("calling on listener")
diff --git a/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/asterisk/AsteriskVoiceServer.groovy b/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/asterisk/AsteriskVoiceServer.groovy
index aadb9fa412..9e748cf510 100644
--- a/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/asterisk/AsteriskVoiceServer.groovy
+++ b/bigbluebutton-apps/webapps/bigbluebutton/src/org/bigbluebutton/conference/service/voice/asterisk/AsteriskVoiceServer.groovy
@@ -177,7 +177,7 @@ public class AsteriskVoiceServer extends AbstractAsteriskServerListener implemen
 			conferenceServerListener.talk(changedUser.userNumber.toString(), changedUser.room.roomNumber, changedUser.talking)
 		} else if ("state".equals(evt.getPropertyName())) {
 			if (MeetMeUserState.LEFT == (MeetMeUserState) evt.getNewValue()) {
-				conferenceServerListener.left(changedUser.room.roomNumber, changedUser.userNumber)
+				conferenceServerListener.left(changedUser.room.roomNumber, changedUser.userNumber.toString())
 			}
 		}			
 	}    
-- 
GitLab