Search in sources :

Example 16 with Answer

use of org.jdiameter.api.Answer in project jain-slee.diameter by RestComm.

the class ShServerSubscriptionActivityImpl method sendSubscribeNotificationsAnswer.

/*
   * (non-Javadoc)
   * @see net.java.slee.resource.diameter.sh.server.ShServerSubscriptionActivity#sendSubscribeNotificationsAnswer(net.java.slee.resource.diameter.sh.events.SubscribeNotificationsAnswer)
   */
public void sendSubscribeNotificationsAnswer(SubscribeNotificationsAnswer message) throws IOException {
    try {
        DiameterShMessageImpl msg = (DiameterShMessageImpl) message;
        fetchSessionData(msg, false);
        this.serverSession.sendSubscribeNotificationsAnswer(new SubscribeNotificationsAnswerImpl((Answer) msg.getGenericData()));
        clean(msg);
    } catch (org.jdiameter.api.validation.AvpNotAllowedException e) {
        throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId());
    } catch (Exception e) {
        if (logger.isDebugEnabled()) {
            logger.debug("Failed to send message.", e);
        }
        throw new IOException("Failed to send message, due to: " + e);
    }
}
Also used : SubscribeNotificationsAnswerImpl(org.jdiameter.common.impl.app.sh.SubscribeNotificationsAnswerImpl) Answer(org.jdiameter.api.Answer) SubscribeNotificationsAnswer(net.java.slee.resource.diameter.sh.events.SubscribeNotificationsAnswer) ProfileUpdateAnswer(net.java.slee.resource.diameter.sh.events.ProfileUpdateAnswer) UserDataAnswer(net.java.slee.resource.diameter.sh.events.UserDataAnswer) DiameterShMessageImpl(org.mobicents.slee.resource.diameter.sh.events.DiameterShMessageImpl) IOException(java.io.IOException) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException) IOException(java.io.IOException)

Example 17 with Answer

use of org.jdiameter.api.Answer in project jain-slee.diameter by RestComm.

the class ShClientSubscriptionActivityImpl method sendPushNotificationAnswer.

/*
   * (non-Javadoc)
   * @see net.java.slee.resource.diameter.sh.ShClientSubscriptionActivity#sendPushNotificationAnswer(net.java.slee.resource.diameter.sh.server.events.PushNotificationAnswer)
   */
public void sendPushNotificationAnswer(PushNotificationAnswer answer) throws IOException {
    try {
        DiameterMessageImpl msg = (DiameterMessageImpl) answer;
        this.clientSession.sendPushNotificationAnswer(new PushNotificationAnswerImpl((Answer) msg.getGenericData()));
        clean((DiameterShMessageImpl) answer);
        fetchSessionData(answer, false);
    } catch (org.jdiameter.api.validation.AvpNotAllowedException e) {
        throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId());
    } catch (Exception e) {
        // FIXME: extent this exception to add trace....
        throw new IOException("Failed to send message, due to: " + e.getLocalizedMessage());
    }
}
Also used : Answer(org.jdiameter.api.Answer) PushNotificationAnswer(net.java.slee.resource.diameter.sh.events.PushNotificationAnswer) IOException(java.io.IOException) DiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.DiameterMessageImpl) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException) IOException(java.io.IOException) PushNotificationAnswerImpl(org.jdiameter.common.impl.app.sh.PushNotificationAnswerImpl)

Example 18 with Answer

use of org.jdiameter.api.Answer in project jain-slee.diameter by RestComm.

the class GxServerSessionActivityImpl method sendGxCreditControlAnswer.

/**
 * {@inheritDoc}
 */
@Override
public void sendGxCreditControlAnswer(final GxCreditControlAnswer cca) throws IOException {
    fetchCurrentState(cca);
    final DiameterMessageImpl msg = (DiameterMessageImpl) cca;
    try {
        session.sendCreditControlAnswer(new GxCreditControlAnswerImpl((Answer) msg.getGenericData()));
    } catch (org.jdiameter.api.validation.AvpNotAllowedException e) {
        final AvpNotAllowedException anae = new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId());
        throw anae;
    } catch (Exception e) {
        throw new IOException("Failed to send message.", e);
    }
}
Also used : GxCreditControlAnswer(net.java.slee.resource.diameter.gx.events.GxCreditControlAnswer) Answer(org.jdiameter.api.Answer) GxCreditControlAnswerImpl(org.jdiameter.common.impl.app.gx.GxCreditControlAnswerImpl) IOException(java.io.IOException) DiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.DiameterMessageImpl) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException) IOException(java.io.IOException) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException)

Example 19 with Answer

use of org.jdiameter.api.Answer in project jain-slee.diameter by RestComm.

the class RfServerSessionActivityImpl method sendRfAccountingAnswer.

public void sendRfAccountingAnswer(RfAccountingAnswer answer) throws IOException {
    try {
        RfAccountingAnswerImpl aca = (RfAccountingAnswerImpl) answer;
        this.serverSession.sendAccountAnswer(new org.jdiameter.common.impl.app.rf.RfAccountingAnswerImpl((Answer) aca.getGenericData()));
        // FIXME: check this?
        if (isTerminateAfterProcessing()) {
            endActivity();
        // this.serverSession.release();
        // 
        // if(!serverSession.isValid()) {
        // String sessionId =
        // this.serverSession.getSessions().get(0).getSessionId();
        // this.baseListener.sessionDestroyed(sessionId,
        // this.serverSession);
        // }
        }
        // clean
        clean(aca);
    } catch (org.jdiameter.api.validation.AvpNotAllowedException e) {
        throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId());
    } catch (Exception e) {
        if (logger.isDebugEnabled()) {
            logger.debug("Failed to send message, due to: ", e);
        }
        throw new IOException("Failed to send message, due to: " + e.getMessage());
    }
}
Also used : RfAccountingAnswer(net.java.slee.resource.diameter.rf.events.RfAccountingAnswer) Answer(org.jdiameter.api.Answer) IOException(java.io.IOException) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException) RfAccountingAnswerImpl(org.mobicents.slee.resource.diameter.rf.events.RfAccountingAnswerImpl) IOException(java.io.IOException) AvpNotAllowedException(net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException)

Aggregations

IOException (java.io.IOException)19 AvpNotAllowedException (net.java.slee.resource.diameter.base.events.avp.AvpNotAllowedException)19 Answer (org.jdiameter.api.Answer)19 DiameterMessageImpl (org.mobicents.slee.resource.diameter.base.events.DiameterMessageImpl)11 ProfileUpdateAnswer (net.java.slee.resource.diameter.sh.events.ProfileUpdateAnswer)6 SubscribeNotificationsAnswer (net.java.slee.resource.diameter.sh.events.SubscribeNotificationsAnswer)6 UserDataAnswer (net.java.slee.resource.diameter.sh.events.UserDataAnswer)6 DiameterShMessageImpl (org.mobicents.slee.resource.diameter.sh.events.DiameterShMessageImpl)6 AbortSessionAnswer (net.java.slee.resource.diameter.base.events.AbortSessionAnswer)2 ReAuthAnswer (net.java.slee.resource.diameter.base.events.ReAuthAnswer)2 PushProfileAnswer (net.java.slee.resource.diameter.cxdx.events.PushProfileAnswer)2 RegistrationTerminationAnswer (net.java.slee.resource.diameter.cxdx.events.RegistrationTerminationAnswer)2 AAAnswer (net.java.slee.resource.diameter.rx.events.AAAnswer)2 SessionTerminationAnswer (net.java.slee.resource.diameter.rx.events.SessionTerminationAnswer)2 InternalException (org.jdiameter.api.InternalException)2 ProfileUpdateAnswerImpl (org.jdiameter.common.impl.app.sh.ProfileUpdateAnswerImpl)2 SubscribeNotificationsAnswerImpl (org.jdiameter.common.impl.app.sh.SubscribeNotificationsAnswerImpl)2 UserDataAnswerImpl (org.jdiameter.common.impl.app.sh.UserDataAnswerImpl)2 AccountingAnswer (net.java.slee.resource.diameter.base.events.AccountingAnswer)1 SessionTerminationAnswer (net.java.slee.resource.diameter.base.events.SessionTerminationAnswer)1