mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-22 13:48:09 +00:00
add new ICE tests
This commit is contained in:
parent
36c73a9d0a
commit
0bf7d8d555
4 changed files with 65 additions and 16 deletions
|
|
@ -74,28 +74,36 @@ typedef struct _LinphoneCore LinphoneCore;
|
|||
* Use with #LCSipTransports
|
||||
* @ingroup initializing
|
||||
*/
|
||||
#define LC_SIP_TRANSPORT_RANDOM -1
|
||||
#define LC_SIP_TRANSPORT_RANDOM (-1)
|
||||
|
||||
/**
|
||||
* Don't create any server socket for this transport, ie don't bind on any port.
|
||||
* Use with #LCSipTransports
|
||||
* @ingroup initializing
|
||||
**/
|
||||
#define LC_SIP_TRANSPORT_DONTBIND (-2)
|
||||
|
||||
/**
|
||||
* Linphone core SIP transport ports.
|
||||
* Special values LC_SIP_TRANSPORT_RANDOM, LC_SIP_TRANSPORT_RANDOM, #define LC_SIP_TRANSPORT_DONTBIND can be used.
|
||||
* Use with #linphone_core_set_sip_transports
|
||||
* @ingroup initializing
|
||||
*/
|
||||
typedef struct _LCSipTransports{
|
||||
/**
|
||||
* udp port to listening on, negative value if not set
|
||||
* */
|
||||
* SIP/UDP port.
|
||||
**/
|
||||
int udp_port;
|
||||
/**
|
||||
* tcp port to listening on, negative value if not set
|
||||
* SIP/TCP port
|
||||
* */
|
||||
int tcp_port;
|
||||
/**
|
||||
* dtls port to listening on, negative value if not set
|
||||
* SIP/DTLS port
|
||||
* */
|
||||
int dtls_port;
|
||||
/**
|
||||
* tls port to listening on, negative value if not set
|
||||
* SIP/TLS port
|
||||
* */
|
||||
int tls_port;
|
||||
} LCSipTransports;
|
||||
|
|
|
|||
|
|
@ -1915,13 +1915,9 @@ static void _create_ice_check_lists_and_parse_ice_attributes(LinphoneCall *call,
|
|||
else remote_family = AF_INET;
|
||||
if (strchr(addr, ':') != NULL) family = AF_INET6;
|
||||
else family = AF_INET;
|
||||
if (remote_family == family) {
|
||||
ice_add_losing_pair(cl, j + 1, family, remote_candidate->addr, remote_candidate->port, addr, port);
|
||||
losing_pairs_added = TRUE;
|
||||
} else {
|
||||
ms_error("Cannot add ICE losing pair this local and remote candidates having different address families.");
|
||||
|
||||
}
|
||||
|
||||
ice_add_losing_pair(cl, j + 1, remote_family, remote_candidate->addr, remote_candidate->port, family, addr, port);
|
||||
losing_pairs_added = TRUE;
|
||||
}
|
||||
if (losing_pairs_added == TRUE) ice_check_list_check_completed(cl);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 4a5d8ead921dc66d8d309ea449998f7f6b0e0cbb
|
||||
Subproject commit c79c27297585f81a20bad994fc435a14722d43f8
|
||||
|
|
@ -4911,7 +4911,49 @@ static void call_with_ice_in_ipv4_with_v6_enabled(void) {
|
|||
marie = linphone_core_manager_new("marie_v4proxy_rc");
|
||||
pauline = linphone_core_manager_new("pauline_v4proxy_rc");
|
||||
|
||||
_call_with_ice_base(pauline,marie,TRUE,TRUE,TRUE,FALSE);
|
||||
_call_with_ice_base(marie,pauline,TRUE,TRUE,TRUE,TRUE);
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
} else ms_warning("Test skipped, need both ipv6 and v4 available");
|
||||
}
|
||||
|
||||
static void call_with_ice_ipv4_to_ipv6(void) {
|
||||
LinphoneCoreManager* marie;
|
||||
LinphoneCoreManager* pauline;
|
||||
|
||||
if (liblinphone_tester_ipv4_available() && liblinphone_tester_ipv6_available()){
|
||||
marie = linphone_core_manager_new("marie_v4proxy_rc");
|
||||
pauline = linphone_core_manager_new("pauline_tcp_rc");
|
||||
|
||||
_call_with_ice_base(marie,pauline,TRUE,TRUE,TRUE,TRUE);
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
} else ms_warning("Test skipped, need both ipv6 and v4 available");
|
||||
}
|
||||
|
||||
static void call_with_ice_ipv6_to_ipv4(void) {
|
||||
LinphoneCoreManager* marie;
|
||||
LinphoneCoreManager* pauline;
|
||||
|
||||
if (liblinphone_tester_ipv4_available() && liblinphone_tester_ipv6_available()){
|
||||
marie = linphone_core_manager_new("marie_rc");
|
||||
pauline = linphone_core_manager_new("pauline_v4proxy_rc");
|
||||
|
||||
_call_with_ice_base(marie, pauline,TRUE,TRUE,TRUE,TRUE);
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
} else ms_warning("Test skipped, need both ipv6 and v4 available");
|
||||
}
|
||||
|
||||
static void call_with_ice_ipv6_to_ipv6(void) {
|
||||
LinphoneCoreManager* marie;
|
||||
LinphoneCoreManager* pauline;
|
||||
|
||||
if (liblinphone_tester_ipv4_available() && liblinphone_tester_ipv6_available()){
|
||||
marie = linphone_core_manager_new("marie_rc");
|
||||
pauline = linphone_core_manager_new("pauline_tcp_rc");
|
||||
|
||||
_call_with_ice_base(marie, pauline,TRUE,TRUE,TRUE,TRUE);
|
||||
linphone_core_manager_destroy(marie);
|
||||
linphone_core_manager_destroy(pauline);
|
||||
} else ms_warning("Test skipped, need both ipv6 and v4 available");
|
||||
|
|
@ -4934,7 +4976,10 @@ test_t call_tests[] = {
|
|||
TEST_NO_TAG("Direct call over IPv6", direct_call_over_ipv6),
|
||||
TEST_NO_TAG("Call IPv6 to IPv4 without relay", v6_to_v4_call_without_relay),
|
||||
TEST_NO_TAG("IPv6 call over NAT64", v6_call_over_nat_64),
|
||||
TEST_NO_TAG("Call with ICE in IPv4 with IPv6 enabled", call_with_ice_in_ipv4_with_v6_enabled),
|
||||
TEST_ONE_TAG("Call with ICE in IPv4 with IPv6 enabled", call_with_ice_in_ipv4_with_v6_enabled, "ICE"),
|
||||
TEST_ONE_TAG("Call with ICE IPv4 to IPv6", call_with_ice_ipv4_to_ipv6, "ICE"),
|
||||
TEST_ONE_TAG("Call with ICE IPv6 to IPv4", call_with_ice_ipv6_to_ipv4, "ICE"),
|
||||
TEST_ONE_TAG("Call with ICE IPv6 to IPv6", call_with_ice_ipv6_to_ipv6, "ICE"),
|
||||
TEST_NO_TAG("Outbound call with multiple proxy possible", call_outbound_with_multiple_proxy),
|
||||
TEST_NO_TAG("Audio call recording", audio_call_recording_test),
|
||||
#if 0 /* not yet activated because not implemented */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue