[asterisk-commits] file: trunk r375926 - in /trunk: ./ channels/chan_motif.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Nov 6 06:15:34 CST 2012
Author: file
Date: Tue Nov 6 06:15:31 2012
New Revision: 375926
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=375926
Log:
Fix a bug where our Motif ICE candidates were not quite proper, and make us more forgiving.
An issue was reported on the mailing list where calling would result in an "Incomplete
ICE-UDP candidate received on session" error message. This is the result of the ICE-UDP
candidate code not placing a "network" attribute within the candidates. This is now done.
To increase compatibility though I have removed the requirement for the "network" attribute
to exist within ICE-UDP candidates that are received since we don't actually require the
value.
Reported on the mailing list by Jean-Denis Girard.
........
Merged revisions 375925 from http://svn.asterisk.org/svn/asterisk/branches/11
Modified:
trunk/ (props changed)
trunk/channels/chan_motif.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.
Modified: trunk/channels/chan_motif.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_motif.c?view=diff&rev=375926&r1=375925&r2=375926
==============================================================================
--- trunk/channels/chan_motif.c (original)
+++ trunk/channels/chan_motif.c Tue Nov 6 06:15:31 2012
@@ -783,6 +783,7 @@
snprintf(tmp, sizeof(tmp), "%d", ast_str_hash(candidate->foundation));
iks_insert_attrib(local_candidate, "foundation", tmp);
iks_insert_attrib(local_candidate, "generation", "0");
+ iks_insert_attrib(local_candidate, "network", "0");
snprintf(tmp, sizeof(tmp), "%04lx", ast_random() & 0xffff);
iks_insert_attrib(local_candidate, "id", tmp);
iks_insert_attrib(local_candidate, "ip", ast_sockaddr_stringify_host(&candidate->address));
@@ -1964,16 +1965,16 @@
for (candidate = iks_child(transport); candidate; candidate = iks_next(candidate)) {
char *component = iks_find_attrib(candidate, "component"), *foundation = iks_find_attrib(candidate, "foundation");
char *generation = iks_find_attrib(candidate, "generation"), *id = iks_find_attrib(candidate, "id");
- char *ip = iks_find_attrib(candidate, "ip"), *network = iks_find_attrib(candidate, "network");
- char *port = iks_find_attrib(candidate, "port"), *priority = iks_find_attrib(candidate, "priority");
- char *protocol = iks_find_attrib(candidate, "protocol"), *type = iks_find_attrib(candidate, "type");
+ char *ip = iks_find_attrib(candidate, "ip"), *port = iks_find_attrib(candidate, "port");
+ char *priority = iks_find_attrib(candidate, "priority"), *protocol = iks_find_attrib(candidate, "protocol");
+ char *type = iks_find_attrib(candidate, "type");
struct ast_rtp_engine_ice_candidate local_candidate = { 0, };
int real_port;
struct ast_sockaddr remote_address = { { 0, } };
/* If this candidate is incomplete skip it */
if (ast_strlen_zero(component) || ast_strlen_zero(foundation) || ast_strlen_zero(generation) || ast_strlen_zero(id) ||
- ast_strlen_zero(ip) || ast_strlen_zero(network) || ast_strlen_zero(port) || ast_strlen_zero(priority) ||
+ ast_strlen_zero(ip) || ast_strlen_zero(port) || ast_strlen_zero(priority) ||
ast_strlen_zero(protocol) || ast_strlen_zero(type)) {
jingle_queue_hangup_with_cause(session, AST_CAUSE_PROTOCOL_ERROR);
ast_log(LOG_ERROR, "Incomplete ICE-UDP candidate received on session '%s'\n", session->sid);
More information about the asterisk-commits
mailing list