@Override public Answer createAnswer(long resultCode) { MessageImpl answer = new MessageImpl(this); try { answer.getAvps().addAvp(Avp.RESULT_CODE, resultCode, true, false, true); } catch (Exception e) { logger.debug("Can not create answer message", e); } //Its set in constructor. //answer.setRequest(false); return answer; }
@Override public AvpSet getAvps(int avpCode) { AvpSet result = new AvpSetImpl(); for (Avp avp : this.avps) { if (avp.getCode() == avpCode) { result.addAvp(avp); } } return result; }
public AccountAnswerImpl(Request request, int accountRecordType, int accReqNumber, long resultCode) { this(request.createAnswer(resultCode)); try { getMessage().getAvps().addAvp(Avp.ACC_RECORD_TYPE, accountRecordType); getMessage().getAvps().addAvp(Avp.ACC_RECORD_NUMBER, accReqNumber); } catch (Exception e) { throw new IllegalArgumentException(e); } }
public RfAccountingAnswerImpl(Request request, int accountRecordType, int accReqNumber, long resultCode) { super(request.createAnswer(resultCode)); try { getMessage().getAvps().addAvp(Avp.ACC_RECORD_TYPE, accountRecordType); getMessage().getAvps().addAvp(Avp.ACC_RECORD_NUMBER, accReqNumber); } catch (Exception e) { throw new IllegalArgumentException(e); } }
/** * @param message */ private void doTLSPreSendProcessing(IMessage message) { if (message.getCommandCode() == Message.CAPABILITIES_EXCHANGE_REQUEST) { AvpSet set = message.getAvps(); set.removeAvp(Avp.INBAND_SECURITY_ID); set.addAvp(Avp.INBAND_SECURITY_ID, 1); } }
@Override public AvpSet getAvps(int avpCode, long vendorId) { AvpSet result = new AvpSetImpl(); for (Avp avp : this.avps) { if (avp.getCode() == avpCode && avp.getVendorId() == vendorId) { result.addAvp(avp); } } return result; }
@Override public void setAccountingRecordNumber(long recordNum) throws AvpDataException { message.getAvps().removeAvp(Avp.ACC_RECORD_NUMBER); message.getAvps().addAvp(Avp.ACC_RECORD_NUMBER, ACC_RECORD_NUMBER, true); }
@Override public Message createMessage(int commandCode, ApplicationId appId, Avp... avps) { if ( isValid ) { setLastAccessTime(); IMessage m = parser.createEmptyMessage(commandCode, getAppId(appId)); m.getAvps().addAvp(avps); appendAppId(appId, m); return m; } else { throw new IllegalStateException("Session already released"); } }
@Override public void sendDprMessage(int disconnectCause) throws TransportException, OverloadException { logger.debug("Send DPR message with Disconnect-Cause [{}]", disconnectCause); IMessage message = parser.createEmptyMessage(DISCONNECT_PEER_REQUEST, 0); message.setRequest(true); message.setHopByHopIdentifier(getHopByHopIdentifier()); message.getAvps().addAvp(ORIGIN_HOST, metaData.getLocalPeer().getUri().getFQDN(), true, false, true); message.getAvps().addAvp(ORIGIN_REALM, metaData.getLocalPeer().getRealmName(), true, false, true); message.getAvps().addAvp(DISCONNECT_CAUSE, disconnectCause, true, false); sendMessage(message); }
public void setDataReferences(DataReferenceType[] dataReferences) { super.message.getAvps().removeAvp(DiameterShAvpCodes.DATA_REFERENCE,DiameterShAvpCodes.SH_VENDOR_ID); for (DataReferenceType drt : dataReferences) { super.message.getAvps().addAvp(DiameterShAvpCodes.DATA_REFERENCE, drt.getValue(), DiameterShAvpCodes.SH_VENDOR_ID, true, false); } }
protected Request createInterimRecord() { Request interimRecord = session.createRequest(RfAccountingRequest.code, appId, sessionData.getDestinationRealm(), sessionData.getDestinationHost()); interimRecord.getAvps().addAvp(Avp.ACC_RECORD_TYPE, 3); return interimRecord; }
protected Request createInterimRecord() { Request interimRecord = session.createRequest(AccountRequest.code, sessionData.getApplicationId(), sessionData.getDestinationRealm(), sessionData.getDestinationHost()); interimRecord.getAvps().addAvp(Avp.ACC_RECORD_TYPE, 3); return interimRecord; }
protected void addAvp(DiameterAvp avp, AvpSet set) { if (avp instanceof GroupedAvp) { AvpSet avpSet = set.addGroupedAvp(avp.getCode(), avp.getVendorId(), avp.getMandatoryRule() == 1, avp.getProtectedRule() == 1); DiameterAvp[] groupedAVPs = ((GroupedAvp) avp).getExtensionAvps(); for (DiameterAvp avpFromGroup : groupedAVPs) { addAvp(avpFromGroup, avpSet); } } else if (avp != null) { set.addAvp(avp.getCode(), avp.byteArrayValue(), avp.getVendorId(), avp.getMandatoryRule() == 1, avp.getProtectedRule() == 1); } }
protected void addAvp(final DiameterAvp avp, final AvpSet set) { // FIXME: alexandre: Should we look at the types and add them with proper function? if (avp instanceof GroupedAvp) { final AvpSet avpSet = set.addGroupedAvp(avp.getCode(), avp.getVendorId(), avp.getMandatoryRule() == 1, avp.getProtectedRule() == 1); final DiameterAvp[] groupedAVPs = ((GroupedAvp) avp).getExtensionAvps(); for (DiameterAvp avpFromGroup : groupedAVPs) { addAvp(avpFromGroup, avpSet); } } else if (avp != null) { set.addAvp(avp.getCode(), avp.byteArrayValue(), avp.getVendorId(), avp.getMandatoryRule() == 1, avp.getProtectedRule() == 1); } }
private void addAvp(DiameterAvp avp, AvpSet set) { if(avp instanceof GroupedAvp) { AvpSet avpSet = set.addGroupedAvp(avp.getCode(), avp.getVendorId(), avp.getMandatoryRule() != DiameterAvp.FLAG_RULE_MUSTNOT, avp.getProtectedRule() == DiameterAvp.FLAG_RULE_MUST); DiameterAvp[] groupedAVPs = ((GroupedAvp)avp).getExtensionAvps(); for(DiameterAvp avpFromGroup : groupedAVPs) { addAvp(avpFromGroup, avpSet); } } else if(avp != null) { set.addAvp(avp.getCode(), avp.byteArrayValue(), avp.getVendorId(), avp.getMandatoryRule() != DiameterAvp.FLAG_RULE_MUSTNOT, avp.getProtectedRule() == DiameterAvp.FLAG_RULE_MUST); } }