private void BuildServerOptions() { try { var ipAddress = IPAddress.Parse(mqttConfiguration.BrokerHostName); var optionsBuilder = new MqttServerOptionsBuilder(); if (mqttConfiguration.UseSSL) { //// TODO: Implement insert certification optionsBuilder.WithClientCertificate() .WithEncryptionSslProtocol(mqttConfiguration.MqttSslProtocol); } optionsBuilder.WithDefaultEndpointBoundIPAddress(ipAddress) .WithDefaultEndpointPort(mqttConfiguration.BrokerPort) .WithConnectionValidator(MQTTConnectionValidator) .WithSubscriptionInterceptor(c => { c.AcceptSubscription = true; LogMessage(mqttServiceLogger, c, true); }) .WithApplicationMessageInterceptor(c => { c.AcceptPublish = true; LogMessage(mqttServiceLogger, c); }); mqttServerOptions = optionsBuilder.Build(); } catch (Exception ex) { mqttServiceLogger.LogError(ex.Message); throw; } }