@Override public Statistic getStatistic(String name) { for (Peer p : peerTable.values()) { if (p.getUri().getFQDN().equals(name)) { return ((IPeer) p).getStatistic(); } } return null; }
@Override public String getSessionId(String custom) { long id = uid.nextLong(); long high32 = (id & 0xffffffff00000000L) >> 32; long low32 = (id & 0xffffffffL); StringBuilder sb = new StringBuilder(); sb.append(stack.getMetaData().getLocalPeer().getUri().getFQDN()). append(";").append(high32).append(";").append(low32); if (custom != null) { //FIXME: add checks for not allowed chars? sb.append(";").append(custom); } return sb.toString(); }
/** * Constructor with string parameter * @param uri String representation of URI * @throws URISyntaxException which signals that URI has syntax error * @throws UnknownServiceException which signals that URI has incorrect scheme */ public URI(String uri) throws URISyntaxException, UnknownServiceException { parse(uri); if (getFQDN() == null || getFQDN().trim().length() == 0) { throw new URISyntaxException(uri, "Host not found"); } if (!getScheme().equals("aaa") && !getScheme().equals("aaas")) { throw new UnknownServiceException(new StringBuilder().append("Unsupported service: ").append(getScheme()).toString()); } }
private InetAddress getDefaultIpAddress() { try { return InetAddress.getByName(getLocalPeer().getUri().getFQDN()); } catch (Exception e1) { logger.debug("Unable to retrieve IP by URI [{}]", getLocalPeer().getUri().getFQDN(), e1); try { return InetAddress.getLocalHost(); } catch (Exception e2) { logger.debug("Unable to retrieve IP for localhost", e2); } } return null; }
@Override public String peerDescription(String name) { try { for (Peer p : unwrap(PeerTable.class).getPeerTable()) { if (p.getUri().getFQDN().equals(name)) { return p.toString(); } } } catch (InternalException e) { log.debug("InternalException", e); } return "not set"; }
private void addOrigin(DiameterMessage msg) { if(!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if(!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } } }
private void addOriginHostAndRealm(DiameterMessage msg) { if(!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if(!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } }
private void addOrigin(DiameterMessage msg) { if (!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if (!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } } }
private void addOrigin(DiameterMessage msg) { if(!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if(!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } } }
private void addOrigin(DiameterMessage msg) { if (!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if (!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } }
private void addOriginHostAndRealm(DiameterMessage msg) { if(!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if(!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } }
private void addOrigin(DiameterMessage msg) { if (!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if (!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } }
private void addOrigin(final DiameterMessage msg) { if (!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if (!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } } }
private void addOrigin(DiameterMessage msg) { if(!msg.hasOriginHost()) { msg.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); } if(!msg.hasOriginRealm()) { msg.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); } }
public CreditControlRequest createCreditControlRequest() { CreditControlRequest req = (CreditControlRequest) createCreditControlMessage( null, new DiameterAvp[0] ); req.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); req.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); if(session != null) { req.setSessionId(session.getSessionId()); } return req; }
public CreditControlRequest createCreditControlRequest() { CreditControlRequest req = (CreditControlRequest) createCreditControlMessage( null, new DiameterAvp[0] ); req.setOriginRealm(new DiameterIdentity(stack.getMetaData().getLocalPeer().getRealmName())); req.setOriginHost(new DiameterIdentity(stack.getMetaData().getLocalPeer().getUri().getFQDN().toString())); if(session != null) { req.setSessionId(session.getSessionId()); } return req; }
@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); }
/** * Used to set origin, previously done in MessageParser. * * @param m * @param md */ public static void addOriginAvps(Message m, MetaData md) { // FIXME: check for "userFqnAsUri" ? AvpSet set = m.getAvps(); if (set.getAvp(Avp.ORIGIN_HOST) == null) { m.getAvps().addAvp(Avp.ORIGIN_HOST, md.getLocalPeer().getUri().getFQDN(), true, false, true); } if (set.getAvp(Avp.ORIGIN_REALM) == null) { m.getAvps().addAvp(Avp.ORIGIN_REALM, md.getLocalPeer().getRealmName(), true, false, true); } }
@Override public void sendDpaMessage(IMessage dpr, int resultCode, String errorMessage) throws TransportException, OverloadException { logger.debug("Send DPA message"); IMessage message = parser.createEmptyMessage(dpr); message.setRequest(false); message.setHopByHopIdentifier(dpr.getHopByHopIdentifier()); message.setEndToEndIdentifier(dpr.getEndToEndIdentifier()); message.getAvps().addAvp(RESULT_CODE, resultCode, true, false, true); message.getAvps().addAvp(ORIGIN_HOST, metaData.getLocalPeer().getUri().getFQDN(), true, false, true); message.getAvps().addAvp(ORIGIN_REALM, metaData.getLocalPeer().getRealmName(), true, false, true); if (errorMessage != null) { message.getAvps().addAvp(ERROR_MESSAGE, errorMessage, false); } sendMessage(message); }
@Override public void sendDwrMessage() throws TransportException, OverloadException { logger.debug("Send DWR message"); IMessage message = parser.createEmptyMessage(DEVICE_WATCHDOG_REQUEST, 0); message.setRequest(true); message.setHopByHopIdentifier(getHopByHopIdentifier()); // Set content 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(ORIGIN_STATE_ID, metaData.getLocalHostStateId(), true, false, true); // Remove trash avp message.getAvps().removeAvp(DESTINATION_HOST); message.getAvps().removeAvp(DESTINATION_REALM); // Send sendMessage(message); }