class GeneralInterrogationService {

    public void sendGeneralInterrogation(final ClientConnection deviceConnection, final RequestMetadata requestMetadata)
            throws IOException {
        final int commonAddress = deviceConnection.getConnectionParameters().getCommonAddress();

        deviceConnection.getConnection()
                .interrogation(commonAddress, CauseOfTransmission.ACTIVATION,
                        new IeQualifierOfInterrogation(QUALIFIER_OF_INTERROGATION_ID));

        // interrogation command creates this asdu internally, however we
        // need it here as well for logging...
        final ASdu asdu = new ASdu(ASduType.C_IC_NA_1, false, CauseOfTransmission.ACTIVATION, false, false,
                ORIGINATOR_ADDRESS, commonAddress,
                new InformationObject(0, new IeQualifierOfInterrogation(QUALIFIER_OF_INTERROGATION_ID)));

        final LogItem logItem = new LogItem(requestMetadata.getDeviceIdentification(),
                requestMetadata.getOrganisationIdentification(), false, asdu.toString());

        this.loggingService.log(logItem);
    }

}