Protocol used by Oracle RMAN to communicate with auxiliary What protocol is used by RMAN to communicate with the server used for backing up/restoring data? 

I searched everywhere but couldn't find any docs with this information.

Background: I am developing a proxy that backs up an oracle database to a different store
The thing you are looking for is called the SBT API. I can't find any free documentation on it, but the process is that a vendor of say a tape library implements the functions of SBT (e.g. sbtopen(), sbtwrite() and so on), compiles them as a shared library (a .so file) and this is placed in the ORACLE_HOME. When RMAN starts it looks for a file called libobk.so and dynamically links to it. RMAN then calls the functions, and in turn the protocol between the MML (media management layer) and the actual hardware e.g. a tape library, is proprietary.