This is what I understand ...
Your client transaction could have been initiated through any interface/class. When your client, with a transaction context, calls a CMT bean, the client transaction context propagates to the bean (in case of Supports, Required, Mandatory). And as far as the execution of the bean is concerned, the container is responsible for managing that transaction.
So, I think the client initiated transaction and container initiated transactions are different, and I don't think
ejb specs mention any requirement on how the client should initiate his transaction, it could be through any of the available ways.