From e01f0ad6e87e0869ee258e5b0206af7791c80283 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Wed, 23 Jul 2014 15:55:17 +0200 Subject: [PATCH] Use quality reporting when configuring a new linphone account, and migrate existing linphone accounts to send quality report. Also enable RTCP-XR by default. --- Classes/LinphoneManager.m | 18 ++++++++++++++++++ Resources/linphonerc-factory | 5 +++++ Resources/linphonerc-factory~ipad | 5 +++++ Resources/wizard_linphone_create.rc | 3 +++ Resources/wizard_linphone_existing.rc | 3 +++ 5 files changed, 34 insertions(+) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 43d882a0e..eb959ae36 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -1157,12 +1157,30 @@ static LinphoneCoreVTable linphonec_vtable = { const char* addr = linphone_proxy_config_get_addr(proxy); // we want to enable AVPF for the proxies if( addr && strstr(addr, "sip.linphone.org") != 0 ){ + Linphone_log(@"Migrating proxy config to use AVPF"); linphone_proxy_config_enable_avpf(proxy, TRUE); } proxies = proxies->next; } [self lpConfigSetBool:TRUE forKey:@"avpf_migration_done"]; } + /* Quality Reporting migration */ + if( [self lpConfigBoolForKey:@"quality_report_migration_done" forSection:@"app"] == FALSE ){ + const MSList* proxies = linphone_core_get_proxy_config_list(theLinphoneCore); + while(proxies){ + LinphoneProxyConfig* proxy = (LinphoneProxyConfig*)proxies->data; + const char* addr = linphone_proxy_config_get_addr(proxy); + // we want to enable quality reporting for the proxies that are on linphone.org + if( addr && strstr(addr, "sip.linphone.org") != 0 ){ + Linphone_log(@"Migrating proxy config to send quality report"); + linphone_proxy_config_set_quality_reporting_collector(proxy, "sip:voip-metrics@sip.linphone.org"); + linphone_proxy_config_set_quality_reporting_interval(proxy, 180); + linphone_proxy_config_enable_quality_reporting(proxy, TRUE); + } + proxies = proxies->next; + } + [self lpConfigSetBool:TRUE forKey:@"quality_report_migration_done"]; + } [self setupNetworkReachabilityCallback]; diff --git a/Resources/linphonerc-factory b/Resources/linphonerc-factory index f226a777a..862641b0e 100644 --- a/Resources/linphonerc-factory +++ b/Resources/linphonerc-factory @@ -14,6 +14,11 @@ auto_net_state_mon=0 keepalive_period=30000 ping_with_options=0 sip_random_port=0 +rtcp_xr_enabled=1 +rtcp_xr_rcvr_rtt_mode=all +rtcp_xr_rcvr_rtt_max_size=10000 +rtcp_xr_stat_summary_enabled=1 +rtcp_xr_voip_metrics_enabled=1 [rtp] audio_jitt_comp=60 diff --git a/Resources/linphonerc-factory~ipad b/Resources/linphonerc-factory~ipad index 5e4634154..7f828cd26 100644 --- a/Resources/linphonerc-factory~ipad +++ b/Resources/linphonerc-factory~ipad @@ -14,6 +14,11 @@ auto_net_state_mon=0 keepalive_period=30000 ping_with_options=0 sip_random_port=0 +rtcp_xr_enabled=1 +rtcp_xr_rcvr_rtt_mode=all +rtcp_xr_rcvr_rtt_max_size=10000 +rtcp_xr_stat_summary_enabled=1 +rtcp_xr_voip_metrics_enabled=1 [rtp] audio_jitt_comp=60 diff --git a/Resources/wizard_linphone_create.rc b/Resources/wizard_linphone_create.rc index 53c05f61c..e27ad00fa 100644 --- a/Resources/wizard_linphone_create.rc +++ b/Resources/wizard_linphone_create.rc @@ -10,6 +10,9 @@ 0 0 1 + sip:voip-metrics@sip.linphone.org + 1 + 180
diff --git a/Resources/wizard_linphone_existing.rc b/Resources/wizard_linphone_existing.rc index 74b948d8a..b2ed89e4d 100644 --- a/Resources/wizard_linphone_existing.rc +++ b/Resources/wizard_linphone_existing.rc @@ -10,6 +10,9 @@ 0 0 1 + sip:voip-metrics@sip.linphone.org + 1 + 180