diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 6b23eebdd..4f39247b6 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -502,13 +502,15 @@ void linphone_proxy_config_set_quality_reporting_collector(LinphoneProxyConfig * if (collector!=NULL && strlen(collector)>0){ LinphoneAddress *addr=linphone_address_new(collector); if (!addr || linphone_address_get_username(addr)==NULL){ - ms_warning("Invalid sip collector identity: %s",collector); - if (addr) - linphone_address_destroy(addr); + ms_error("Invalid SIP collector URI: %s. Quality reporting will be DISABLED.",collector); } else { - if (cfg->quality_reporting_collector != NULL) + if (cfg->quality_reporting_collector != NULL){ ms_free(cfg->quality_reporting_collector); + } cfg->quality_reporting_collector = ms_strdup(collector); + } + + if (addr){ linphone_address_destroy(addr); } } diff --git a/coreapi/quality_reporting.c b/coreapi/quality_reporting.c index 7dc48e040..78e075809 100644 --- a/coreapi/quality_reporting.c +++ b/coreapi/quality_reporting.c @@ -592,6 +592,9 @@ int linphone_reporting_publish_interval_report(LinphoneCall* call) { void linphone_reporting_call_state_updated(LinphoneCall *call){ LinphoneCallState state=linphone_call_get_state(call); + if (! quality_reporting_enabled(call)){ + return; + } switch (state){ case LinphoneCallStreamsRunning:{ bool_t video_enabled=media_report_enabled(call, LINPHONE_CALL_STATS_VIDEO);