Everything you ask is possible with the Sametime toolkits.
Take a look at the IBM redbook:
Lotus Instant Messaging/Web Conferencing (Sametime): Building Sametime Enabled Applications
http://www.redbooks.ibm.com/abstracts/sg247037.html?Open
Chapters 3, 4 and 6 are good places to start.