public void sendDeny(MsnP2PSlpMessage msg) { MsnslpRequest msnslpRequest = (MsnslpRequest) msg.getSlpMessage(); MsnslpResponse okSlpMessage = new MsnslpResponse(); okSlpMessage.setStatusCode(405); okSlpMessage.setReasonPhrase("Not supported"); okSlpMessage.setTo(msnslpRequest.getFrom()); okSlpMessage.setFrom(msnslpRequest.getTo()); okSlpMessage.setVia(msnslpRequest.getVia()); okSlpMessage.setCSeq(msnslpRequest.getCSeq() + 1); okSlpMessage.setCallId(msnslpRequest.getCallId()); okSlpMessage.setMaxForwards(msnslpRequest.getMaxForwards()); okSlpMessage.setContentType(msnslpRequest.getContentType()); StringHolder body = new StringHolder(); body.setProperty("SessionID", fileTransfer.getID()); okSlpMessage.setBody(body.toString() + JmlConstants.LINE_SEPARATOR + "\0"); int okSlpMessageLength = Charset.encodeAsByteArray(okSlpMessage.toString()).length; MsnP2PSlpMessage okMessage = new MsnP2PSlpMessage(); okMessage.setSlpMessage(okSlpMessage); okMessage.setIdentifier(getNextIdentifier()); okMessage.setTotalLength(okSlpMessageLength); okMessage.setCurrentLength(okSlpMessageLength); okMessage.setField7(NumberUtils.getIntRandom()); okMessage.setP2PDest(fileTransfer.getEmail().getEmailAddress()); OutgoingMSG[] outgoingOkMessages = okMessage.toOutgoingMsg(fileTransfer.getSession().getMessenger().getActualMsnProtocol()); for (OutgoingMSG outgoingOkMessage : outgoingOkMessages) { fileTransfer.getSession().sendSynchronousMessage(outgoingOkMessage); } }