private void doInit() throws UnknownHostException, IOException {
    remoteClientCall = new RemoteClientCall(serverIP, port);

    remoteClientCall.setIdleTimeout(idleTimeout);

    remoteClientCall.init();

    remoteClientCall.addExceptionListener(new IExceptionListener() {
      @Override
      public boolean OnExceptionEvent(ExceptionEvent evt) {
        return fireExceptionEvent(evt);
      }
    });
    remoteClientCall.addConnectListener(new ConnectListener() {
      @Override
      public void OnConnectEvent(ConnectEvent evt) {
        fireConnectEvent(evt);
      }
    });
    remoteClientCall.addDisconnectListener(new DisconnectListener() {
      @Override
      public void OnDisconnectEvent(DisconnectEvent evt) {
        fireDisconnectEvent(evt);
      }
    });
    remoteClientCall.setReceiveMessage(new IReceiveMessage() {
      @Override
     public void OnReceiveMessagetEvent(ReceiveMessageEvent evt) throws Exception {
        fireReceiveMessagetEvent(evt);
      }
    });
    remoteClientCall.setReceiveQuery(new IReceiveQuery() {
      @Override
      public Object OnReceiveQueryEvent(ReceiveQueryEvent evt) throws Exception {
        return fireReceiveQueryEvent(evt);
      }
    });
    remoteClientCall.setReceiveException(new IReceiveException() {
      @Override
      public boolean OnReceiveExceptionEvent(ExceptionEvent evt) {
        return fireReceiveExceptionEvent(evt);
      }
    });
  }