O que eu entendi, é que você quer acessar informações do computador B, através de A, com X intermediando.
Exemplo:
"A" quer pegar um arquivo de "B", solicita então para "X" através do IMS, "X" resonde OK, "X" busca (através de rmi, socket, webserver, rest, etc) em "B" o arquivo, e devolve para "A" através do IMS.
Se entendi bem, então a questão é: como comunicar "X" e "B" ? Eu descarto totalmente aqui RMI, é o mais complicado e chato de se trabalhar, prefiro algo mais "leve" e simples, como JSON. No caso do "X", é necessário desenvolver um SipServlet, e o SpringFramework se encaixa muito bem neste contexto, inclusive você pode utilizar o conceito de remotablidade transparente, ou seja, comunicar "X" com "B" através de qualquer tecnlogia de comunicação (RMI, EJB, REST, WS, etc).
Atenciosamente,
Mauro Schneider