Package de.fhkn.in.uce.stun.message

Examples of de.fhkn.in.uce.stun.message.Message.writeTo()


            throws Exception {
        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.mediatorConnection.getControlConnection().getOutputStream());
        final MessageReader messageReader = MessageReader
                .createMessageReaderWithCustomAttributeTypeDecoder(new NATAttributeTypeDecoder());
        final Message response = messageReader.readSTUNMessage(this.mediatorConnection.getControlConnection()
                .getInputStream());
        if (response.hasAttribute(NATTraversalTechniqueAttribute.class)) {
View Full Code Here


        registerMessage.addAttribute(new Username(targetId));
        registerMessage.addAttribute(natBehavior);
        for (final NATTraversalTechniqueAttribute natTraversalTechniqueAttribute : supportedTraversalTechniques) {
            registerMessage.addAttribute(natTraversalTechniqueAttribute);
        }
        registerMessage.writeTo(this.controlConnection.getOutputStream());
    }

    private void waitForDeRegisterResponseMessage() throws Exception {
        final Message response = this.messageReader.readSTUNMessage(this.controlConnection.getInputStream());
        if (response.isSuccessResponse()) {
View Full Code Here

    private void sendDeregisterMesage(final String targetId) throws Exception {
        final Message deregisterMessage = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.REQUEST,
                STUNMessageMethod.DEREGISTER);
        deregisterMessage.addAttribute(new Username(targetId));
        deregisterMessage.writeTo(this.controlConnection.getOutputStream());
    }

    /**
     * Returns the control connection to the mediator.
     *
 
View Full Code Here

    private void handleConnectionRequestResponse(final Message message, final Socket controlConnection)
            throws Exception {
        final ConnectionRequest connReq = this.connectionRequests.getConnectionRequest(new String(message.getHeader()
                .getTransactionId()));
        final Message successResponse = connReq.getConnectionRequestMessage().buildSuccessResponse();
        successResponse.writeTo(connReq.getControlConnection().getOutputStream());
    }

    private void forwardReversalRequestToTarget(final Socket toSource, final UserData user,
            final Message connectionRequestFromSource) throws IOException {
        final Message connectionRequest = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.REQUEST,
View Full Code Here

        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$
View Full Code Here

        }
        connectionRequest.addAttribute(clientAddress);
        connectionRequest.addAttribute(new EndpointClass(EndpointCategory.PUBLIC));
        connectionRequest.addAttribute(new ReversalAttribute());
        final Socket toTarget = user.getSocketToUser();
        connectionRequest.writeTo(toTarget.getOutputStream());
    }

    private void sendFailureResponse(final Message message, final String errorReaon, final STUNErrorCode errorCode,
            final OutputStream out) throws Exception {
        logger.debug(errorReaon);
View Full Code Here

    private void sendFailureResponse(final Message message, final String errorReaon, final STUNErrorCode errorCode,
            final OutputStream out) throws Exception {
        logger.debug(errorReaon);
        final Message failureResponse = message.buildFailureResponse(errorCode, errorReaon);
        failureResponse.writeTo(out);
    }

    @Override
    public NATTraversalTechniqueAttribute getAttributeForTraversalTechnique() {
        return new ReversalAttribute();
View Full Code Here

    }

    private Message executeTestI(final Socket toStunServer) throws IOException {
        final Message bindingRequest = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.REQUEST,
                STUNMessageMethod.BINDING);
        bindingRequest.writeTo(toStunServer.getOutputStream());
        final Message bindingResponse = this.messageReader.readSTUNMessage(toStunServer.getInputStream());
        return bindingResponse;
    }

    private Message executeTestII(final Socket toStunServer) throws IOException {
View Full Code Here

            throws IOException {
        logger.debug("Sending indication with change request flag = {}", changeRequestFlag); //$NON-NLS-1$
        final Message indication = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.INDICATION,
                STUNMessageMethod.BINDING);
        indication.addAttribute(new ChangeRequest(changeRequestFlag));
        indication.writeTo(sendSocket.getOutputStream());
    }

    private Message receiveMessageFromStunServer() throws IOException {
        final ServerSocket serverSocket = this.createBoundServerSocket();
        final Socket socket = serverSocket.accept();
View Full Code Here

        final Message response = toHandle.buildSuccessResponse();
        final OtherAddress otherAddress = new OtherAddress(this.secondaryAddress);
        response.addAttribute(otherAddress);
        final XorMappedAddress clientAddress = this.getPublicClientAddressAsAttribute(toHandle);
        response.addAttribute(clientAddress);
        response.writeTo(this.socket.getOutputStream());
    }

    private void handleMessageWithChangeRequestAttribute(final Message toHandle, final InetSocketAddress remoteAddress)
            throws Exception {
        final ChangeRequest changeRequest = toHandle.getAttribute(ChangeRequest.class);
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.