diff options
author | Youness Alaoui <kakaroto@kakaroto.(none)> | 2008-10-04 21:54:29 -0400 |
---|---|---|
committer | Youness Alaoui <kakaroto@kakaroto.(none)> | 2008-10-04 21:54:29 -0400 |
commit | bccc0a6b9d83d3cfd09a713cee6864a3fbce5155 (patch) | |
tree | 74ae0b7c0dc7e47e810daf8fbd17aeca2af755a8 | |
parent | 696c98b28f013090d74861b7bc2ce76a02f881d9 (diff) | |
download | libnice-bccc0a6b9d83d3cfd09a713cee6864a3fbce5155.tar.gz |
Add support for the alternate-server error
-rw-r--r-- | agent/conncheck.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/agent/conncheck.c b/agent/conncheck.c index d20311a..9edb4d6 100644 --- a/agent/conncheck.c +++ b/agent/conncheck.c @@ -1699,7 +1699,12 @@ static gboolean priv_map_reply_to_discovery_request (NiceAgent *agent, StunMessa agent, d, (int)res); if (res == STUN_USAGE_BIND_RETURN_ALTERNATE_SERVER) { - /* TODO : handle alternate server */ + /* handle alternate server */ + NiceAddress niceaddr; + nice_address_set_from_sockaddr (&niceaddr, &alternate); + d->server = niceaddr; + + d->pending = FALSE; } else if (res == STUN_USAGE_BIND_RETURN_SUCCESS) { /* case: succesful binding discovery, create a new local candidate */ NiceAddress niceaddr; @@ -1769,7 +1774,12 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage * agent, d, (int)res); if (res == STUN_USAGE_TURN_RETURN_ALTERNATE_SERVER) { - /* TODO : handle alternate server */ + /* handle alternate server */ + NiceAddress niceaddr; + nice_address_set_from_sockaddr (&niceaddr, &alternate); + d->server = niceaddr; + + d->pending = FALSE; } else if (res == STUN_USAGE_TURN_RETURN_RELAY_SUCCESS || res == STUN_USAGE_TURN_RETURN_MAPPED_SUCCESS) { /* case: succesful allocate, create a new local candidate */ |