this.logger.debug("Requesting supported nat traversal techniques of {}", targetId); //$NON-NLS-1$
final List<NATTraversalTechniqueAttribute> result = new ArrayList<NATTraversalTechniqueAttribute>();
final Message requestMessage = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.REQUEST,
STUNMessageMethod.SUPPORTED_TRAV_TECHS_REQUEST);
requestMessage.addAttribute(new Username(targetId));
requestMessage.writeTo(this.controlConnection.getOutputStream());
final Message response = this.messageReader.readSTUNMessage(this.controlConnection.getInputStream());
for (final NATTraversalTechniqueAttribute suppTravTech : response
.getAttributes(NATTraversalTechniqueAttribute.class)) {
result.add(suppTravTech);
this.logger.debug("User {} supports traversal technique {}", targetId, suppTravTech.getEncoded()); //$NON-NLS-1$