diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp index 302afb1e6fae3b25901b50f365e8f39a782e09e7..d88a406d0d32ebf54a10dbe90163e9f5c84c8265 100644 --- a/src/ice_transport.cpp +++ b/src/ice_transport.cpp @@ -405,8 +405,13 @@ IceTransport::Impl::initIceInstance(const IceTransportOptions& options) compCount_, initiatorSession_ ? "master" : "slave"); - if (upnpEnabled_) - upnp_ = std::make_shared<upnp::Controller>(options.upnpContext); + if (upnpEnabled_) { + if (options.upnpContext) { + upnp_ = std::make_shared<upnp::Controller>(options.upnpContext); + } else if (logger_) { + logger_->error("[ice:{}] UPnP enabled, but no context found", fmt::ptr(this)); + } + } config_ = factory->getIceCfg(); // config copy if (isTcp_) {