summaryrefslogtreecommitdiff
path: root/res/res_rtp_asterisk.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2014-10-08 18:46:45 +0000
committerJoshua Colp <jcolp@digium.com>2014-10-08 18:46:45 +0000
commit0292839ae0f82d44b1032fca86dfa8ae834e02a2 (patch)
treead48726821729334a848a63685392b6634330e41 /res/res_rtp_asterisk.c
parentb32d8b53172141fe9b799378d108891255cc439c (diff)
res_rtp_asterisk: Allow only UDP ICE candidates.
The underlying library, pjnath, that res_rtp_asterisk uses for ICE support does not have support for ICE-TCP. As candidates are passed through directly to it this can cause error messages to occur when it receives something unexpected (such as a TCP candidate). This change merely ignores all non-UDP candidates so they never reach pjnath. ASTERISK-24326 #close Reported by: Joshua Colp ........ Merged revisions 424852 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 424853 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@424854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_rtp_asterisk.c')
-rw-r--r--res/res_rtp_asterisk.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index ecfd347df..ca940f3a6 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -521,6 +521,11 @@ static void ast_rtp_ice_add_remote_candidate(struct ast_rtp_instance *instance,
struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
struct ast_rtp_engine_ice_candidate *remote_candidate;
+ /* ICE sessions only support UDP candidates */
+ if (strcmp(candidate->transport, "UDP")) {
+ return;
+ }
+
if (!rtp->ice_proposed_remote_candidates &&
!(rtp->ice_proposed_remote_candidates = ao2_container_alloc(1, NULL, ice_candidate_cmp))) {
return;