Search in sources :

Example 11 with ExtensionDiameterMessageImpl

use of org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl in project jain-slee.diameter by RestComm.

the class DiameterMessageFactoryImpl method createMessage.

public ExtensionDiameterMessage createMessage(DiameterCommand command, DiameterAvp[] avps) throws AvpNotAllowedException {
    ApplicationId aid = command.getCode() == AccountingRequest.commandCode ? ApplicationId.createByAccAppId(0, command.getApplicationId()) : ApplicationId.createByAuthAppId(0, command.getApplicationId());
    ExtensionDiameterMessageImpl msg = (ExtensionDiameterMessageImpl) this.createDiameterMessage(null, avps, command.getCode(), aid);
    msg.getGenericData().setRequest(command.isRequest());
    ((MessageImpl) msg.getGenericData()).setProxiable(command.isProxiable());
    if (!command.isRequest()) {
        // just in case. answers never have T flag set
        ((MessageImpl) msg.getGenericData()).setReTransmitted(false);
    }
    return msg;
}
Also used : ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) ApplicationId(org.jdiameter.api.ApplicationId) ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) MessageImpl(org.jdiameter.client.impl.parser.MessageImpl)

Example 12 with ExtensionDiameterMessageImpl

use of org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl in project jain-slee.diameter by RestComm.

the class DiameterShServerResourceAdaptor method createEvent.

/**
 * Create Event object from a JDiameter message (request or answer)
 *
 * @return a DiameterMessage object wrapping the request/answer
 * @throws OperationNotSupportedException
 */
private DiameterMessage createEvent(Message message) {
    if (message == null) {
        throw new NullPointerException("Message argument cannot be null while creating event.");
    }
    int commandCode = message.getCommandCode();
    if (message.isError()) {
        return new ErrorAnswerImpl(message);
    }
    boolean isRequest = message.isRequest();
    switch(commandCode) {
        case // PNR/PNA
        PushNotificationRequest.commandCode:
            return isRequest ? new PushNotificationRequestImpl(message) : new PushNotificationAnswerImpl(message);
        case // PUR/PUA
        ProfileUpdateRequest.commandCode:
            return isRequest ? new ProfileUpdateRequestImpl(message) : new ProfileUpdateAnswerImpl(message);
        case // SNR/SNA
        SubscribeNotificationsRequest.commandCode:
            return isRequest ? new SubscribeNotificationsRequestImpl(message) : new SubscribeNotificationsAnswerImpl(message);
        case // UDR/UDA
        UserDataRequest.commandCode:
            return isRequest ? new UserDataRequestImpl(message) : new UserDataAnswerImpl(message);
        default:
            return new ExtensionDiameterMessageImpl(message);
    }
}
Also used : UserDataAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataAnswerImpl) PushNotificationRequestImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl) ProfileUpdateAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateAnswerImpl) ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) SleeEndpoint(javax.slee.resource.SleeEndpoint) SubscribeNotificationsAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsAnswerImpl) ProfileUpdateRequestImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateRequestImpl) SubscribeNotificationsRequestImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl) UserDataRequestImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataRequestImpl) ErrorAnswerImpl(org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl) PushNotificationAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationAnswerImpl)

Example 13 with ExtensionDiameterMessageImpl

use of org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl in project jain-slee.diameter by RestComm.

the class DiameterShClientResourceAdaptor method createEvent.

/**
 * Create Event object from a JDiameter message (request or answer)
 *
 * @return a DiameterMessage object wrapping the request/answer
 * @throws OperationNotSupportedException
 */
private DiameterMessage createEvent(Message message) {
    if (message == null) {
        throw new NullPointerException("Message argument cannot be null while creating event.");
    }
    int commandCode = message.getCommandCode();
    if (message.isError()) {
        return new ErrorAnswerImpl(message);
    }
    boolean isRequest = message.isRequest();
    switch(commandCode) {
        case // PNR/PNA
        PushNotificationRequestImpl.commandCode:
            return isRequest ? new PushNotificationRequestImpl(message) : new PushNotificationAnswerImpl(message);
        case // PUR/PUA
        ProfileUpdateRequestImpl.commandCode:
            return isRequest ? new ProfileUpdateRequestImpl(message) : new ProfileUpdateAnswerImpl(message);
        case // SNR/SNA
        SubscribeNotificationsRequestImpl.commandCode:
            return isRequest ? new SubscribeNotificationsRequestImpl(message) : new SubscribeNotificationsAnswerImpl(message);
        case // UDR/UDA
        net.java.slee.resource.diameter.sh.events.UserDataRequest.commandCode:
            return isRequest ? new UserDataRequestImpl(message) : new UserDataAnswerImpl(message);
        default:
            return new ExtensionDiameterMessageImpl(message);
    }
}
Also used : UserDataAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataAnswerImpl) PushNotificationRequestImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationRequestImpl) ProfileUpdateAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateAnswerImpl) ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) SleeEndpoint(javax.slee.resource.SleeEndpoint) SubscribeNotificationsAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsAnswerImpl) ProfileUpdateRequestImpl(org.mobicents.slee.resource.diameter.sh.events.ProfileUpdateRequestImpl) SubscribeNotificationsRequestImpl(org.mobicents.slee.resource.diameter.sh.events.SubscribeNotificationsRequestImpl) UserDataRequestImpl(org.mobicents.slee.resource.diameter.sh.events.UserDataRequestImpl) ErrorAnswerImpl(org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl) PushNotificationAnswerImpl(org.mobicents.slee.resource.diameter.sh.events.PushNotificationAnswerImpl)

Example 14 with ExtensionDiameterMessageImpl

use of org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl in project jain-slee.diameter by RestComm.

the class DiameterGxResourceAdaptor method createEvent.

/**
 * Create Event object from a JDiameter message (request or answer).
 *
 * @return a DiameterMessage object wrapping the request/answer
 * @throws OperationNotSupportedException
 */
private DiameterMessage createEvent(final Message message) {
    if (message == null) {
        throw new NullPointerException("Message argument cannot be null while creating event.");
    }
    final int commandCode = message.getCommandCode();
    if (message.isError()) {
        return new ErrorAnswerImpl(message);
    }
    final boolean isRequest = message.isRequest();
    switch(commandCode) {
        case // CCR/CCA
        GxCreditControlRequest.commandCode:
            return isRequest ? new GxCreditControlRequestImpl(message) : new GxCreditControlAnswerImpl(message);
        case // ASR/ASA
        AbortSessionAnswer.commandCode:
            return isRequest ? new AbortSessionRequestImpl(message) : new AbortSessionAnswerImpl(message);
        case // STR/STA
        SessionTerminationAnswer.commandCode:
            return isRequest ? new SessionTerminationRequestImpl(message) : new SessionTerminationAnswerImpl(message);
        case // RAR/RAA
        GxReAuthAnswer.commandCode:
            return isRequest ? new GxReAuthRequestImpl(message) : new GxReAuthAnswerImpl(message);
        case // ACR/ACA
        AccountingAnswer.commandCode:
            return isRequest ? new AccountingRequestImpl(message) : new AccountingAnswerImpl(message);
        default:
            return new ExtensionDiameterMessageImpl(message);
    }
}
Also used : AccountingAnswerImpl(org.mobicents.slee.resource.diameter.base.events.AccountingAnswerImpl) AbortSessionAnswerImpl(org.mobicents.slee.resource.diameter.base.events.AbortSessionAnswerImpl) GxReAuthRequestImpl(org.mobicents.slee.resource.diameter.gx.events.GxReAuthRequestImpl) AccountingRequestImpl(org.mobicents.slee.resource.diameter.base.events.AccountingRequestImpl) ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) SleeEndpoint(javax.slee.resource.SleeEndpoint) AbortSessionRequestImpl(org.mobicents.slee.resource.diameter.base.events.AbortSessionRequestImpl) SessionTerminationAnswerImpl(org.mobicents.slee.resource.diameter.base.events.SessionTerminationAnswerImpl) GxCreditControlAnswerImpl(org.mobicents.slee.resource.diameter.gx.events.GxCreditControlAnswerImpl) GxCreditControlRequestImpl(org.mobicents.slee.resource.diameter.gx.events.GxCreditControlRequestImpl) GxReAuthAnswerImpl(org.mobicents.slee.resource.diameter.gx.events.GxReAuthAnswerImpl) ErrorAnswerImpl(org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl) SessionTerminationRequestImpl(org.mobicents.slee.resource.diameter.base.events.SessionTerminationRequestImpl)

Example 15 with ExtensionDiameterMessageImpl

use of org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl in project jain-slee.diameter by RestComm.

the class DiameterRfResourceAdaptor method createEvent.

/**
 * Create Event object from a JDiameter message (request or answer)
 *
 * @return a DiameterMessage object wrapping the request/answer
 * @throws OperationNotSupportedException
 */
private DiameterMessage createEvent(Message message) {
    if (message == null) {
        throw new NullPointerException("Message argument cannot be null while creating event.");
    }
    int commandCode = message.getCommandCode();
    if (message.isError()) {
        return new ErrorAnswerImpl(message);
    }
    boolean isRequest = message.isRequest();
    switch(commandCode) {
        case // ACR/ACA
        RfAccountingAnswer.commandCode:
            return isRequest ? new RfAccountingRequestImpl(message) : new RfAccountingAnswerImpl(message);
        default:
            return new ExtensionDiameterMessageImpl(message);
    }
}
Also used : ExtensionDiameterMessageImpl(org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl) ErrorAnswerImpl(org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl) SleeEndpoint(javax.slee.resource.SleeEndpoint) RfAccountingRequestImpl(org.mobicents.slee.resource.diameter.rf.events.RfAccountingRequestImpl) RfAccountingAnswerImpl(org.mobicents.slee.resource.diameter.rf.events.RfAccountingAnswerImpl)

Aggregations

ExtensionDiameterMessageImpl (org.mobicents.slee.resource.diameter.base.events.ExtensionDiameterMessageImpl)15 SleeEndpoint (javax.slee.resource.SleeEndpoint)10 ErrorAnswerImpl (org.mobicents.slee.resource.diameter.base.events.ErrorAnswerImpl)10 DiameterMessage (net.java.slee.resource.diameter.base.events.DiameterMessage)4 Message (org.jdiameter.api.Message)4 AbortSessionAnswerImpl (org.mobicents.slee.resource.diameter.base.events.AbortSessionAnswerImpl)3 AbortSessionRequestImpl (org.mobicents.slee.resource.diameter.base.events.AbortSessionRequestImpl)3 AccountingAnswerImpl (org.mobicents.slee.resource.diameter.base.events.AccountingAnswerImpl)3 AccountingRequestImpl (org.mobicents.slee.resource.diameter.base.events.AccountingRequestImpl)3 SessionTerminationAnswerImpl (org.mobicents.slee.resource.diameter.base.events.SessionTerminationAnswerImpl)2 SessionTerminationRequestImpl (org.mobicents.slee.resource.diameter.base.events.SessionTerminationRequestImpl)2 LocationInfoAnswerImpl (org.mobicents.slee.resource.diameter.cxdx.events.LocationInfoAnswerImpl)2 LocationInfoRequestImpl (org.mobicents.slee.resource.diameter.cxdx.events.LocationInfoRequestImpl)2 MultimediaAuthenticationAnswerImpl (org.mobicents.slee.resource.diameter.cxdx.events.MultimediaAuthenticationAnswerImpl)2 MultimediaAuthenticationRequestImpl (org.mobicents.slee.resource.diameter.cxdx.events.MultimediaAuthenticationRequestImpl)2 PushProfileAnswerImpl (org.mobicents.slee.resource.diameter.cxdx.events.PushProfileAnswerImpl)2 PushProfileRequestImpl (org.mobicents.slee.resource.diameter.cxdx.events.PushProfileRequestImpl)2 RegistrationTerminationAnswerImpl (org.mobicents.slee.resource.diameter.cxdx.events.RegistrationTerminationAnswerImpl)2 RegistrationTerminationRequestImpl (org.mobicents.slee.resource.diameter.cxdx.events.RegistrationTerminationRequestImpl)2 ServerAssignmentAnswerImpl (org.mobicents.slee.resource.diameter.cxdx.events.ServerAssignmentAnswerImpl)2