private void callTarget(final UserData target, final Message connectionRequestFromSource) throws Exception {
logger.debug("Calling target {}", target.getUserId()); //$NON-NLS-1$
final Socket toTarget = target.getSocketToUser();
final Message connectionRequest = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.REQUEST,
STUNMessageMethod.CONNECTION_REQUEST, connectionRequestFromSource.getHeader().getTransactionId());
connectionRequest.addAttribute(new DirectconnectionAttribute());
logger.debug("Forwarding connection request to target"); //$NON-NLS-1$
connectionRequest.writeTo(toTarget.getOutputStream());
}