summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYouness Alaoui <kakaroto@kakaroto.(none)>2008-10-04 21:54:29 -0400
committerYouness Alaoui <kakaroto@kakaroto.(none)>2008-10-04 21:54:29 -0400
commitbccc0a6b9d83d3cfd09a713cee6864a3fbce5155 (patch)
tree74ae0b7c0dc7e47e810daf8fbd17aeca2af755a8
parent696c98b28f013090d74861b7bc2ce76a02f881d9 (diff)
downloadlibnice-bccc0a6b9d83d3cfd09a713cee6864a3fbce5155.tar.gz
Add support for the alternate-server error
-rw-r--r--agent/conncheck.c14
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 */