         return self.beaconInfoSummaryStore.getBeaconInfoSummary(withIdentifier: identifier, inRoomWithId: roomId)
     }
     
+    private func getLiveBeaconInfoSummaries(for userId: String, inRoomWithId roomId: String) -> [MXBeaconInfoSummary] {
+        
+        let beaconInfoSummaries = self.beaconInfoSummaryStore.getBeaconInfoSummaries(for: userId, inRoomWithId: roomId)
+        return beaconInfoSummaries.filter { beaconInfoSummary in
+            return beaconInfoSummary.beaconInfo.isLive
+        }
+    }
+    
     private func getBeaconInfoSummary(withStoppedBeaconInfo beaconInfo: MXBeaconInfo, inRoomWithId roomId: String) -> MXBeaconInfoSummary? {
         
         guard beaconInfo.isLive == false else {

            }
            
        } else if let existingBeaconInfoSummary = self.getBeaconInfoSummary(withIdentifier: eventId, inRoomWithId: roomId) {

            // If beacon info is older than existing one, do not take it into account
            if beaconInfo.timestamp > existingBeaconInfoSummary.beaconInfo.timestamp {
                existingBeaconInfoSummary.updateWithBeaconInfo(beaconInfo)
                beaconInfoSummary = existingBeaconInfoSummary
            }
        } else {
            beaconInfoSummary = MXBeaconInfoSummary(beaconInfo: beaconInfo)
        }
        
        if let beaconInfoSummary = beaconInfoSummary {

        return self.beaconInfoSummaryStore.getAllBeaconInfoSummaries(inRoomWithId: roomId)
    }
    
    /// Get all MXBeaconInfoSummary in a room for a user
    public func getBeaconInfoSummaries(for userId: String, inRoomWithId roomId: String) -> [MXBeaconInfoSummaryProtocol] {
        return self.beaconInfoSummaryStore.getBeaconInfoSummaries(for: userId, inRoomWithId: roomId)
    }
    
    /// Get all MXBeaconInfoSummary for a user
    public func getBeaconInfoSummaries(for userId: String) -> [MXBeaconInfoSummaryProtocol] {
        return self.beaconInfoSummaryStore.getAllBeaconInfoSummaries(forUserId: userId)
