Commit 425f534a authored by Youness Alaoui's avatar Youness Alaoui Committed by Olivier Crête

Make OC2007 relay candidates use TCP_ACTIVE and TCP_PASSIVE candidate types when using TCP TURN

parent 99d6f661
...@@ -2501,14 +2501,45 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage * ...@@ -2501,14 +2501,45 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
} }
nice_address_set_from_sockaddr (&niceaddr, &relayaddr.addr); nice_address_set_from_sockaddr (&niceaddr, &relayaddr.addr);
relay_cand = discovery_add_relay_candidate ( if ((agent->compatibility == NICE_COMPATIBILITY_OC2007 ||
d->agent, agent->compatibility == NICE_COMPATIBILITY_OC2007R2) &&
d->stream->id, (d->turn->type == NICE_RELAY_TYPE_TURN_TCP ||
d->component->id, d->turn->type == NICE_RELAY_TYPE_TURN_TLS)) {
&niceaddr, /* [MS-TURN] : The transport address has the same transport protocol
NICE_CANDIDATE_TRANSPORT_UDP, * over which the Allocate request was received; a request that is
d->nicesock, * received over TCP returns a TCP allocated transport address.*/
d->turn); relay_cand = discovery_add_relay_candidate (
d->agent,
d->stream->id,
d->component->id,
&niceaddr,
NICE_CANDIDATE_TRANSPORT_TCP_ACTIVE,
d->nicesock,
d->turn);
if (relay_cand) {
nice_turn_socket_set_ms_realm(relay_cand->sockptr, &d->stun_message);
nice_turn_socket_set_ms_connection_id(relay_cand->sockptr, resp);
}
relay_cand = discovery_add_relay_candidate (
d->agent,
d->stream->id,
d->component->id,
&niceaddr,
NICE_CANDIDATE_TRANSPORT_TCP_PASSIVE,
d->nicesock,
d->turn);
} else {
relay_cand = discovery_add_relay_candidate (
d->agent,
d->stream->id,
d->component->id,
&niceaddr,
NICE_CANDIDATE_TRANSPORT_UDP,
d->nicesock,
d->turn);
}
if (relay_cand) { if (relay_cand) {
if (agent->compatibility == NICE_COMPATIBILITY_OC2007 || if (agent->compatibility == NICE_COMPATIBILITY_OC2007 ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment