I do not know what your objections are. It's pretty straight forward.
I guess it's something like:
For messages: AES
Key exchange: RSA
Alice and Bob both generates their own RSA keypair (the server do not have their private keys). Alice generates the AES key to be used with Bob, encrypts it using Bobs public RSA key and then sends it to him.. done