I've been out of the biz for a while but if memory serves, Webex had most of the things you are looking for. Don't know how well it works when scaling up to the hundreds though.