@Override public String toString() { DiameterHeader header = this.getHeader(); StringBuilder sb = new StringBuilder(); sb.append("\r\n"); sb.append("+----------------------------------- HEADER ----------------------------------+\r\n"); sb.append("| Version.................").append(header.getVersion()).append("\r\n"); sb.append("| Message-Length..........").append(header.getMessageLength()).append("\r\n"); sb.append("| Command-Flags...........").append("R[" + header.isRequest()).append("] P[").append(header.isProxiable()).append("] ").append("E[").append(header.isError()).append("] T[" + header.isPotentiallyRetransmitted()).append("]").append("\r\n"); sb.append("| Command-Code............").append(this.getHeader().getCommandCode()).append("\r\n"); sb.append("| Application-Id..........").append(this.getHeader().getApplicationId()).append("\r\n"); sb.append("| Hop-By-Hop Identifier...").append(this.getHeader().getHopByHopId()).append("\r\n"); sb.append("| End-To-End Identifier...").append(this.getHeader().getEndToEndId()).append("\r\n"); sb.append("+------------------------------------ AVPs -----------------------------------+\r\n"); for (Avp avp : this.getGenericData().getAvps()) { sb.append(printAvp(avp, "")); } sb.append("+-----------------------------------------------------------------------------+\r\n"); return sb.toString(); }
@Override public String toString() { DiameterHeader header = this.getHeader(); StringBuilder sb = new StringBuilder(); sb.append("\r\n"); sb.append("+----------------------------------- HEADER ----------------------------------+\r\n"); sb.append("| Version.................").append(header.getVersion()).append("\r\n"); sb.append("| Message-Length..........").append(header.getMessageLength()).append("\r\n"); sb.append("| Command-Flags...........").append("R[" + header.isRequest()).append("] P[").append(header.isProxiable()).append("] ").append("E[").append(header.isError()).append("] T[" + header.isPotentiallyRetransmitted()).append("]").append("\r\n"); sb.append("| Command-Code............").append(this.getHeader().getCommandCode()).append("\r\n"); sb.append("| Application-Id..........").append(this.getHeader().getApplicationId()).append("\r\n"); sb.append("| Hop-By-Hop Identifier...").append(this.getHeader().getHopByHopId()).append("\r\n"); sb.append("| End-To-End Identifier...").append(this.getHeader().getEndToEndId()).append("\r\n"); sb.append("+------------------------------------ AVPs -----------------------------------+\r\n"); for (Avp avp : this.getGenericData().getAvps()) { sb.append(printAvp(avp, "")); } sb.append("+-----------------------------------------------------------------------------+\r\n"); return sb.toString(); }
public AccountingAnswer createAccountingAnswer(AccountingRequest request) { try { // Get the impl DiameterMessageImpl implRequest = (DiameterMessageImpl) request; // Extract interesting AVPs ArrayList<DiameterAvp> copyAvps = new ArrayList<DiameterAvp>(); copyAvps.add(avpFactory.createAvp(Avp.SESSION_ID, serverSession.getSessions().get(0).getSessionId())); copyAvps.add(avpFactory.createAvp(Avp.ORIGIN_HOST, this.originHost.getBytes())); copyAvps.add(avpFactory.createAvp(Avp.ORIGIN_REALM, this.originRealm.getBytes())); for(DiameterAvp avp : request.getAvps()) { if(avp.getCode() == Avp.ACC_RECORD_NUMBER || avp.getCode() == Avp.ACC_RECORD_TYPE || avp.getCode() == Avp.ACCT_APPLICATION_ID || avp.getCode() == Avp.VENDOR_SPECIFIC_APPLICATION_ID) { copyAvps.add((DiameterAvp) avp.clone()); } } DiameterMessageImpl answer = (DiameterMessageImpl) messageFactory.createMessage(implRequest.getHeader(), copyAvps.toArray(new DiameterAvp[copyAvps.size()])); // This is an answer. Message rawAnswer = answer.getGenericData(); rawAnswer.setRequest(false); rawAnswer.setReTransmitted(false); // just in case. answers never have T flag set return new AccountingAnswerImpl(rawAnswer); } catch (Exception e) { logger.error("", e); } return null; }