MT#65570 support ICE2 SDP option

Change-Id: I27511d9d30173720d484b363a4d8b210e4d15b65
pull/2149/head
Richard Fuchs 2 weeks ago
parent 64d82a1cdb
commit 0a21d787c5

@ -3231,7 +3231,7 @@ static void media_update_flags(struct call_media *media, struct stream_params *s
/* copy parameters advertised by the sender of this message */
bf_copy_same(&media->media_flags, &sp->sp_flags,
SHARED_FLAG_RTCP_MUX | SHARED_FLAG_ASYMMETRIC | SHARED_FLAG_UNIDIRECTIONAL |
SHARED_FLAG_ICE | SHARED_FLAG_TRICKLE_ICE | SHARED_FLAG_ICE_LITE_PEER |
SHARED_FLAG_ICE | SHARED_FLAG_ICE2 | SHARED_FLAG_TRICKLE_ICE | SHARED_FLAG_ICE_LITE_PEER |
SHARED_FLAG_END_OF_CANDIDATES | SHARED_FLAG_EXTMAP_SHORT |
SHARED_FLAG_RTCP_FB | SHARED_FLAG_LEGACY_OSRTP | SHARED_FLAG_LEGACY_OSRTP_REV);
}

@ -1718,6 +1718,8 @@ no_cand:
if ((attr = attr_get_by_id_m_s(media, ATTR_ICE_OPTIONS))) {
if (str_str(&attr->strs.value, "trickle") >= 0)
SP_SET(sp, TRICKLE_ICE);
if (str_str(&attr->strs.value, "ice2") >= 0)
SP_SET(sp, ICE2);
}
else if (is_trickle_ice_address(&sp->rtp_endpoint))
SP_SET(sp, TRICKLE_ICE);
@ -2970,8 +2972,16 @@ static void print_sdp_media_section(GString *s, struct call_media *media,
media->type_id);
}
if (MEDIA_ISSET(media, TRICKLE_ICE) && ice_agent) {
append_attr_to_gstring(s, "ice-options", &STR_CONST("trickle"), flags,
if (MEDIA_ISSET2(media, TRICKLE_ICE, ICE2) && ice_agent) {
str opts;
if (!MEDIA_ISSET(media, ICE2))
opts = STR_CONST("trickle");
else if (!MEDIA_ISSET(media, TRICKLE_ICE))
opts = STR_CONST("ice2");
else
opts = STR_CONST("trickle ice2");
append_attr_to_gstring(s, "ice-options", &opts, flags,
media->type_id);
}
if (MEDIA_ISSET(media, ICE)) {

@ -136,6 +136,7 @@ enum {
/* empty range [16 - 29] in-between for non-shared flags */
#define SHARED_FLAG_END_OF_CANDIDATES (1LL << 30)
#define SHARED_FLAG_EXTMAP_SHORT (1LL << 39)
#define SHARED_FLAG_ICE2 (1LL << 42)
/* struct stream_params */
#define SP_FLAG_IMPLICIT_RTCP SHARED_FLAG_IMPLICIT_RTCP
@ -156,6 +157,7 @@ enum {
#define SP_FLAG_LEGACY_OSRTP_REV SHARED_FLAG_LEGACY_OSRTP_REV
#define SP_FLAG_END_OF_CANDIDATES SHARED_FLAG_END_OF_CANDIDATES
#define SP_FLAG_EXTMAP_SHORT SHARED_FLAG_EXTMAP_SHORT
#define SP_FLAG_ICE2 SHARED_FLAG_ICE2
/* struct packet_stream */
#define PS_FLAG_RTP (1LL << 16)
@ -220,6 +222,7 @@ enum {
#define MEDIA_FLAG_EXTMAP_SHORT SHARED_FLAG_EXTMAP_SHORT
#define MEDIA_FLAG_BUNDLE_ONLY (1LL << 40)
#define MEDIA_FLAG_AUDIO_PLAYER_IMPLICIT (1LL << 41)
#define MEDIA_FLAG_ICE2 SHARED_FLAG_ICE2
/* struct call_monologue */
#define ML_FLAG_REC_FORWARDING (1LL << 16)

Loading…
Cancel
Save