mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-03 20:46:28 +00:00
Add unit tests for call between different RTP profiles (AVP/AVPF/SAVP/SAVPF).
This commit is contained in:
parent
66ad59929f
commit
8079748a02
1 changed files with 126 additions and 1 deletions
|
|
@ -2375,6 +2375,115 @@ static void multiple_early_media(void) {
|
|||
}
|
||||
#endif
|
||||
|
||||
static void profile_call(bool_t avpf1, bool_t srtp1, bool_t avpf2, bool_t srtp2, const char *expected_profile) {
|
||||
LinphoneCoreManager *marie = linphone_core_manager_new("marie_rc");
|
||||
LinphoneCoreManager *pauline = linphone_core_manager_new("pauline_rc");
|
||||
LinphoneProxyConfig *lpc;
|
||||
const LinphoneCallParams *params;
|
||||
|
||||
if (avpf1) {
|
||||
linphone_core_get_default_proxy(marie->lc, &lpc);
|
||||
linphone_proxy_config_enable_avpf(lpc, TRUE);
|
||||
linphone_proxy_config_set_avpf_rr_interval(lpc, 3);
|
||||
}
|
||||
if (avpf2) {
|
||||
linphone_core_get_default_proxy(pauline->lc, &lpc);
|
||||
linphone_proxy_config_enable_avpf(lpc, TRUE);
|
||||
linphone_proxy_config_set_avpf_rr_interval(lpc, 3);
|
||||
}
|
||||
if (srtp1) {
|
||||
if (linphone_core_media_encryption_supported(marie->lc, LinphoneMediaEncryptionSRTP)) {
|
||||
linphone_core_set_media_encryption(marie->lc, LinphoneMediaEncryptionSRTP);
|
||||
}
|
||||
}
|
||||
if (srtp2) {
|
||||
if (linphone_core_media_encryption_supported(pauline->lc, LinphoneMediaEncryptionSRTP)) {
|
||||
linphone_core_set_media_encryption(pauline->lc, LinphoneMediaEncryptionSRTP);
|
||||
}
|
||||
}
|
||||
|
||||
CU_ASSERT_TRUE(call(marie, pauline));
|
||||
CU_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
|
||||
CU_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
|
||||
params = linphone_call_get_current_params(linphone_core_get_current_call(marie->lc));
|
||||
CU_ASSERT_STRING_EQUAL(linphone_call_params_get_rtp_profile(params), expected_profile);
|
||||
params = linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc));
|
||||
CU_ASSERT_STRING_EQUAL(linphone_call_params_get_rtp_profile(params), expected_profile);
|
||||
|
||||
linphone_core_terminate_all_calls(marie->lc);
|
||||
CU_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallEnd, 1));
|
||||
CU_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
|
||||
CU_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallConnected, 1);
|
||||
CU_ASSERT_EQUAL(pauline->stat.number_of_LinphoneCallConnected, 1);
|
||||
|
||||
linphone_core_manager_destroy(pauline);
|
||||
linphone_core_manager_destroy(marie);
|
||||
}
|
||||
|
||||
static void avp_to_avp_call(void) {
|
||||
profile_call(FALSE, FALSE, FALSE, FALSE, "RTP/AVP");
|
||||
}
|
||||
|
||||
static void avp_to_avpf_call(void) {
|
||||
profile_call(FALSE, FALSE, TRUE, FALSE, "RTP/AVP");
|
||||
}
|
||||
|
||||
static void avp_to_savp_call(void) {
|
||||
profile_call(FALSE, FALSE, FALSE, TRUE, "RTP/AVP");
|
||||
}
|
||||
|
||||
static void avp_to_savpf_call(void) {
|
||||
profile_call(FALSE, FALSE, TRUE, TRUE, "RTP/AVP");
|
||||
}
|
||||
|
||||
static void avpf_to_avp_call(void) {
|
||||
profile_call(TRUE, FALSE, FALSE, FALSE, "RTP/AVPF");
|
||||
}
|
||||
|
||||
static void avpf_to_avpf_call(void) {
|
||||
profile_call(TRUE, FALSE, TRUE, FALSE, "RTP/AVPF");
|
||||
}
|
||||
|
||||
static void avpf_to_savp_call(void) {
|
||||
profile_call(TRUE, FALSE, FALSE, TRUE, "RTP/AVPF");
|
||||
}
|
||||
|
||||
static void avpf_to_savpf_call(void) {
|
||||
profile_call(TRUE, FALSE, TRUE, TRUE, "RTP/AVPF");
|
||||
}
|
||||
|
||||
static void savp_to_avp_call(void) {
|
||||
profile_call(FALSE, TRUE, FALSE, FALSE, "RTP/SAVP");
|
||||
}
|
||||
|
||||
static void savp_to_avpf_call(void) {
|
||||
profile_call(FALSE, TRUE, TRUE, FALSE, "RTP/SAVP");
|
||||
}
|
||||
|
||||
static void savp_to_savp_call(void) {
|
||||
profile_call(FALSE, TRUE, FALSE, TRUE, "RTP/SAVP");
|
||||
}
|
||||
|
||||
static void savp_to_savpf_call(void) {
|
||||
profile_call(FALSE, TRUE, TRUE, TRUE, "RTP/SAVP");
|
||||
}
|
||||
|
||||
static void savpf_to_avp_call(void) {
|
||||
profile_call(TRUE, TRUE, FALSE, FALSE, "RTP/SAVPF");
|
||||
}
|
||||
|
||||
static void savpf_to_avpf_call(void) {
|
||||
profile_call(TRUE, TRUE, TRUE, FALSE, "RTP/SAVPF");
|
||||
}
|
||||
|
||||
static void savpf_to_savp_call(void) {
|
||||
profile_call(TRUE, TRUE, FALSE, TRUE, "RTP/SAVPF");
|
||||
}
|
||||
|
||||
static void savpf_to_savpf_call(void) {
|
||||
profile_call(TRUE, TRUE, TRUE, TRUE, "RTP/SAVPF");
|
||||
}
|
||||
|
||||
test_t call_tests[] = {
|
||||
{ "Early declined call", early_declined_call },
|
||||
{ "Call declined", call_declined },
|
||||
|
|
@ -2443,7 +2552,23 @@ test_t call_tests[] = {
|
|||
{ "Call established with rejected incoming RE-INVITE", call_established_with_rejected_incoming_reinvite },
|
||||
{ "Call established with rejected RE-INVITE in error", call_established_with_rejected_reinvite_with_error},
|
||||
{ "Call redirected by callee", call_redirect},
|
||||
{ "Call with specified codec bitrate", call_with_specified_codec_bitrate}
|
||||
{ "Call with specified codec bitrate", call_with_specified_codec_bitrate},
|
||||
{ "AVP to AVP call", avp_to_avp_call },
|
||||
{ "AVP to AVPF call", avp_to_avpf_call },
|
||||
{ "AVP to SAVP call", avp_to_savp_call },
|
||||
{ "AVP to SAVPF call", avp_to_savpf_call },
|
||||
{ "AVPF to AVP call", avpf_to_avp_call },
|
||||
{ "AVPF to AVPF call", avpf_to_avpf_call },
|
||||
{ "AVPF to SAVP call", avpf_to_savp_call },
|
||||
{ "AVPF to SAVPF call", avpf_to_savpf_call },
|
||||
{ "SAVP to AVP call", savp_to_avp_call },
|
||||
{ "SAVP to AVPF call", savp_to_avpf_call },
|
||||
{ "SAVP to SAVP call", savp_to_savp_call },
|
||||
{ "SAVP to SAVPF call", savp_to_savpf_call },
|
||||
{ "SAVPF to AVP call", savpf_to_avp_call },
|
||||
{ "SAVPF to AVPF call", savpf_to_avpf_call },
|
||||
{ "SAVPF to SAVP call", savpf_to_savp_call },
|
||||
{ "SAVPF to SAVPF call", savpf_to_savpf_call }
|
||||
};
|
||||
|
||||
test_suite_t call_test_suite = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue